centos搭建hadoop伪分布式
说明:首先楼主这里是已经安装过hadoop本地模式了,安装配置hadoop本地模式可以参考楼主的另一篇博客:https://blog.****.net/weixin_37590454/article/details/88555255
所以我这里接着本地模式往下走。
一、hadoop伪分布式配置前的准备工作:
1.找到你的hadoop安装目录,我这里是已经进入到安装目录下:(个人爱好吧,我的软件一般安装在/usr/local/)
2. 设置环境变量(把Hadoop 的Home目录添加到系统环境变量里面去)
vim ~/.bash_profile
把Hadoop的home、bin、sbin目录加到path中去,文件末尾添加如下内容:
HADOOP_HOME=/usr/local/hadoop
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
并生效环境变量:source ~/.bash_profile
注意:HADOOP_HOME后面接的是hadoop的安装目录
3.进入到安装目录下,ls可以看到有如下文件:
cd etc进入到etc目录,再cd hadoop,ls一下能看到以下配置文件,框出来的是我们需要进行配置的。
二、hadoop伪分布式配置5步法:
1.vim hadoop-env.sh
增加JAVA_HOME路径
export JAVA_HOME=/usr/local/jdk1.8.0_201
注意:应该填写你自己的JDK路径,如果不知道,可以通过echo $JAVA_HOME查看,如果没有配置或者安装JDK,欢迎查看hadoop本地模式安装配置(有讲解安装JDK),传送门:https://blog.****.net/weixin_37590454/article/details/88555255
2.vim hdfs-site.xml
增加如下内容:
<!--配置HDFS的副本,冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置HDFS的权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
3. vim core-site.xml
增加如下内容:
<!--配置主机NameNode的主机地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs:内部IP:9000</value>
</property>
<!--配置存放Datenode数据-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/usr/local/hadoop/tmp</value>
</property>
注意:
1.标注1位置,如果你的服务器是阿里云、百度云、华为云、各种云服务器,那么这里的IP是你的内部IP,端口建议用9000(可以改,但是麻烦,建议保留)。
2.标注2位置,tmp文件是自己建的,我这里是建在了hadoop的安装目录下。
3.不知道内部IP是什么的,运行命令ip addr。如图所示的就是内部ip。
4.vim mapred-site.xml
增加如下配置:
<!--配置MR运行框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.vim yarn-site.xml
增加如下内容:
<!--配置resourcemanagerd的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>内部IP</value>
</property>
<!--配置Nodename的执行方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
注意:图中的IP还是你的内部IP(和上面用到的一样)
三、hadoop伪分布式测试检验:
1.完成以上的步骤后,要格式化namenode。命令:
hdfs namenode –format
看到status 0则代表格式化更改,如果是status 1则格式化失败,可以查看到报错。
2.格式化成功后,启动hadoop(伪分布式)
start-all.sh
注意:停止服务:stop-all.sh
启动之后再查看一下jps有哪些进程,如果以下6个都有,那么恭喜你hadoop伪分布式配置成功!!!
3.配置成功后,去阿里云官网上开放端口(楼主用的是阿里云),这里用到了3个端口,分别是8088、50070、9000。不知道怎么开放端口的,参考楼主的另一篇博客:https://blog.****.net/weixin_37590454/article/details/81115535
4.见证奇迹的时候到了:去浏览器检验一下能不能看见小象(搭建成功的标志)
http://公网IP:50070
http://公网IP:8088
四、hadoop伪分布式问题总结:
1.如果你的hadoop伪分布式用start-all.sh无法启动。
解决:
1.进入到hadoop安装目录下的sbin目录后再启动。
2.把命令改成sh start-all.sh
2.如果你的伪分布式启动后发现进程少了。
解决:
1.回去认真检查刚才的5步配置,注意标签一定要配对!
2.检查你刚才配置中的IP,一定要是内部IP,而不是公网IP。
3.把刚才新建的tmp目录下的文件清空,然后停止hadoop服务,再去hdfs namenode –format格式化,然后再start-all.sh启动。
以上都不行的话,进入hadoop安装目录下,cd logs打开日志文件,查看错误日志。