Hadoop 2.2.0:“名称或服务未知”警告

时间:2014-01-24 06:51:38

标签: hadoop ssh

我的目标是在Ubuntu 12.4上运行hadoop 2.2.0。我能够做到但是当我运行以下命令时: rushi @ ubuntu:/ usr / local / hadoop $ sbin / start-dfs.sh

我的dfs正在启动namenode,scondarynamenode以及datanode,但问题是我正在关注警告

rushi@ubuntu:/usr/local/hadoop$ sbin/start-dfs.sh    
14/01/24 12:05:46 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Starting namenodes on [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
    It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
    localhost]
    sed: -e expression #1, char 6: unknown option to `s'
    Java: ssh: Could not resolve hostname Java: Name or service not known
    library: ssh: Could not resolve hostname library: Name or service not known
    warning:: ssh: Could not resolve hostname warning:: Name or service not known
    which: ssh: Could not resolve hostname which: Name or service not known
    have: ssh: Could not resolve hostname have: Name or service not known
    might: ssh: Could not resolve hostname might: Name or service not known
    You: ssh: Could not resolve hostname You: Name or service not known
    loaded: ssh: Could not resolve hostname loaded: Name or service not known
    Server: ssh: Could not resolve hostname Server: Name or service not known
    HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known
    have: ssh: Could not resolve hostname have: Name or service not known
    64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
    VM: ssh: Could not resolve hostname VM: Name or service not known
    disabled: ssh: Could not resolve hostname disabled: Name or service not known
    VM: ssh: Could not resolve hostname VM: Name or service not known
    stack: ssh: Could not resolve hostname stack: Name or service not known
    The: ssh: Could not resolve hostname The: Name or service not known
    fix: ssh: Could not resolve hostname fix: Name or service not known
    try: ssh: Could not resolve hostname try: Name or service not known
    guard.: ssh: Could not resolve hostname guard.: Name or service not known
    to: ssh: Could not resolve hostname to: Name or service not known
    now.: ssh: Could not resolve hostname now.: Name or service not known
    will: ssh: Could not resolve hostname will: Name or service not known
    that: ssh: Could not resolve hostname that: Name or service not known
    stack: ssh: Could not resolve hostname stack: Name or service not known
    the: ssh: Could not resolve hostname the: Name or service not known
    you: ssh: Could not resolve hostname you: Name or service not known
    -c: Unknown cipher type 'cd'
    guard: ssh: Could not resolve hostname guard: Name or service not known
    It's: ssh: Could not resolve hostname It's: Name or service not known
    highly: ssh: Could not resolve hostname highly: Name or service not known
    fix: ssh: Could not resolve hostname fix: Name or service not known
    recommended: ssh: Could not resolve hostname recommended: Name or service not known
    or: ssh: Could not resolve hostname or: Name or service not known
    the: ssh: Could not resolve hostname the: Name or service not known
    library: ssh: Could not resolve hostname library: Name or service not known
    link: ssh: Could not resolve hostname link: Name or service not known
    'execstack: ssh: Could not resolve hostname 'execstack: Name or service not known
    with: ssh: Could not resolve hostname with: Name or service not known
    <libfile>',: ssh: Could not resolve hostname <libfile>',: Name or service not known
    it: ssh: Could not resolve hostname it: Name or service not known
    noexecstack'.: ssh: Could not resolve hostname noexecstack'.: Name or service not known
    with: ssh: Could not resolve hostname with: Name or service not known
    '-z: ssh: Could not resolve hostname '-z: Name or service not known
    localhost: starting namenode, logging to /usr/local/hadoop-2.2.0/logs/hadoop-rushi-namenode-ubuntu.out
    localhost: starting datanode, logging to /usr/local/hadoop-2.2.0/logs/hadoop-rushi-datanode-ubuntu.out
    Starting secondary namenodes [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
    It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
    0.0.0.0

]

可能是什么问题以及如何解决? 请帮帮我

5 个答案:

答案 0 :(得分:30)

其中一个原因可能是Hadoop中的默认本机库是为32位构建的。

将这些行添加到.bashrc或.bash_profile:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

这对我在Ubuntu 12.04上有用。

$ HADOOP_INSTALL是您安装Hadoop的位置(通常是/ usr / local / hadoop)。

甚至可能有HADOOP_HOME而不是HADOOP_INSTALL。

答案 1 :(得分:1)

这与this link中给出的问题相同。它只是以其他方式被问到了

在关注此链接后仍有可能获得警告

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

按照this link

解决此警告

答案 2 :(得分:0)

我认为这里唯一的问题与this question中的问题相同,所以解决方案也是一样的:


阻止JVM将堆栈保护警告打印到stdout / stderr,因为这会破坏HDFS启动脚本。


通过替换etc/hadoop/hadoop-env.sh行:

来实现
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

使用:

export HADOOP_OPTS="$HADOOP_OPTS -XX:-PrintWarnings -Djava.net.preferIPv4Stack=true"


This solution上已找到Sumit Chawla's blog

答案 3 :(得分:0)

此错误主要是由于.bashrc配置错误造成的。

最后在.bashrc文件中添加以下代码。

#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
#HADOOP VARIABLES END

删除有关主机的错误。安装apache2服务器。它将配置localhost的所有基本配置。

sudo apt-get install apache2. 

在此网址上查看:http://localhost

在下面阅读整篇文章,从头开始配置。 http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php

答案 4 :(得分:-1)

此脚本已弃用。而是使用start-dfs.sh和start-yarn.sh

尝试start-yarn.sh