Hadoop 2.2.0 : “name or service not known” Warning

2019-01-31 13:36发布

问题:

My aim is to run hadoop 2.2.0 on Ubuntu 12.4 . i was able to do it but when i run following command: rushi@ubuntu:/usr/local/hadoop$ sbin/start-dfs.sh

my dfs is starting namenode, scondarynamenode and also datanode but the problem is i am getting following Warning

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

]

What may be the problem and how to solve it? Please help me

回答1:

One of the reason could be that default native library in Hadoop is built for 32-bit.

Add these lines to your .bashrc or .bash_profile:

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

This worked for me on Ubuntu 12.04.

$HADOOP_INSTALL is the location where you install Hadoop (generally it is /usr/local/hadoop).

or even there may be HADOOP_HOME instead of HADOOP_INSTALL.



回答2:

This is same questions as given in this link. It was just asked in other way round

After following this link still there is chance of getting following Warning

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

to resolve this warning follow this link



回答3:

I think that the only problem here is the same as in this question, so the solution is also the same:


Stop JVM from printing the stack guard warning to stdout/stderr, because this is what breaks the HDFS starting script.


Do it by replacing in your etc/hadoop/hadoop-env.sh line:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

with:

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


(This solution has been found on Sumit Chawla's blog)



回答4:

This error is mostly happen due to mis-configuration of .bashrc.

add these below code in your .bashrc file at the end.

#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

To remove the error about host. install the apache2 server. It will configure all the basic configuration of localhost.

sudo apt-get install apache2. 

check it on this url : http://localhost

read below the whole article to configure from beginning. http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php



回答5:

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

try start-yarn.sh



标签: hadoop ssh