启动HADOOP或是停止时,都会输出这个WARNING。
解决办法如下:
http://thysmichels.com/2012/02/11/tips-running-hadoop-on-ubuntu/
When you get this Warning: $HADOOP_HOME is deprecated
Solution: add “export HADOOP_HOME_WARN_SUPPRESS=”TRUE”" in the hadoop-env.sh.
~~~~~~~~~~~~
顺带介绍其它常见错误及解决方法:
Tips running Hadoop on Ubuntu
Below is some tips when running Hadoop on Ubuntu. If you find some errors running Hadoop on Ubuntu please comment the problem and how you solved it.
When you get this Warning: $HADOOP_HOME is deprecated
Solution: add “export HADOOP_HOME_WARN_SUPPRESS=”TRUE”" in the hadoop-env.sh.
Cannot create directory `/usr/local/hadoop/libexec/../logs
Solution: sudo chown -R hduser:hadoop /usr/local/hadoop/
Enter passphrase when running ./start-all.sh
Solution: ssh-keygen -t rsa -P “” Create a ssh-key without a password.
Warning: <property>/<configuration> not set
Solution: make sure <property> and <configuration> tags are populated in core.site.xml, mapred.site.xml, hdfs.site.xml
Send or retrieve file to and from HDFS
Solution:
Send file to HDFS > bin/hadoop dfs -put /home/someone/interestingFile.txt /user/yourUserName/
Get file from HDFS > bin/hadoop dfs -get foo localFile
ssh: connect to host localhost port 22: Connection refused
Solution: By default Ubuntu will not have ssh installed so you will have to install and start it.
Install > sudo apt-get install ssh
Start > sudo service ssh start
hadoop Incompatible namespaceIDs in /app/hadoop/tmp/*
Solution:
- Stop the cluster: ./stop-dfs.sh
- Delete the directory specified on the DataNode: rm -r /app/hadoop/tmp/*
- Reformat the NameNode: hadoop namenode -format
OR
- Stop the DataNode: ./stop.dfs.sh
- Edit the value of namespaceID in /current/VERSION to match the value of the current NameNode.
- Restart the DataNode: ./start.dfs.sh
hadoop java.net.UnknownHostException: ubuntu: ubuntu
Solution:
1. Add ubuntu as your localhost IP to your /etc/hosts file: sudo vi /etc/hosts
2. Restart your network: sudo /etc/init.d/networking restart
So your /etc/hosts file on your master machine will look something like this:
172.16.62.152 master 172.16.62.151 slave 172.16.62.152 ubuntu
On your slave machine
172.16.62.152 master 172.16.62.151 slave 172.16.62.151 ubuntu
If none of it works then you can go and change the master/localhost hostname to the ipaddress in core-site.xml, mapred-site.xml