ubuntu16.04下搭建hadoop
本文只为记录自己在学习过程中遇到的问题方便自己以后遇到同样问题时可以快速解决。
我搭建的是hadoop-1.2.1,下载地址http://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/
先下载,下载后解压到opt目录,进入conf目录对 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml这4个文件配置,配置如下:
hadoop-env.sh中配置JAVA_HOME路径
export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-amd64
core-site.xml
<property> <name>hadoop.tmp.dir</name> <value>/hadoop</value> </property> <property> <name>dfs.name.dir</name> <value>/hadoop</value> </property> <property> <name>fs.default.name</name> <value>hdfs://hostname:9000</value> </property>
hdfs-site.xml
<property> <name>dfs.data.dir</name> <value>/hadoop/data</value> </property>
mapred-site.xml
<property> <name>mapred.job.tracker</name> <value>hostname:9001</value> </property>
注意上面 的hostname为你自己的主机名,可在linux下使用hostname进行查询;
安装过程中遇到的错误及解决方法参考下面这篇文章https://blog.csdn.net/github_39611196/article/details/78171187
其中
root@localhost’s password:localhost:permission denied,please try again错误的解决方法在我电脑上是使用的
编辑配置文件:
sudo vi /etc/ssh/sshd_config
找到:PermitRootLogin prohibit-password 在前面添加 # 进行禁用
添加:PermitRootLogin yes
这样修改后问题才解决
接下来是hadoop namenode -format
但出现hadoop命令找不到的现象,使用source /etc/profile后问题解决,但不知道具体原因是什么,希望高手给说明一下。
然后是start-all.sh
再是jps查看启动进程。
3235 NameNode 3636 SecondaryNameNode 3940 TaskTracker 3434 DataNode 3723 JobTracker
如果比这些少,说明有些地方没有配置对,这个时候去核对下主机名是不是写错了,我的当时就是主机名写错了,重新修改core-site.xml和mapred-site.xml两个文件中主机名,重新hadoop namenode -format , start-all.sh即可,再使用jps进行查询。
到此再一台主机上的hadoop就算搭建完成了。