在搭建集群中,常见的错误
1)格式化
首先要记住,不要频繁的格式化namenode, 如果非要格式化namenode,先删除tmp目录中的内容 ,清空之前,最好把所有的进程jps 中的残存的服务关掉,如果不关闭的话会存在遗留的进程,就有可能占用之前的端口号。
2)端口可能被占用
3)避免多用户的使用,多用户的时候会造成pid的冲突
4)最好fsimage edites 存储的目录也清空一下
Hadoop搭建完全分布式环境
1)前期的准备 必须存在三台虚拟机 每个虚拟机的内存个人建议2g
2)每天虚拟机配置必须完全一致
3)防火墙必须关闭,最好永久性的关闭,设置独立用户 hadoop , 为每台服务器设置主机名
4)设置ip与主机名称的映射 hosts
5)三台主机设置ssh免密登录
6)对服务器中的服务进行规划
Hadoop01 hadoop02 hadoop03
Namenode datanode datanode
datanode resourcemanager nodemanager
Nodemanager nodemanager secondaryNamenode
Historyserver
![](/qrcode.jpg)
搭建过程
1)配置hadoop-env.sh , yarn-env.sh, mapred-env.sh 配置这个三个文件的JAVA_HOME
2)配置core-site.xml 文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.7.2/data/tmp</value>
</property>
3)配置hdfs-site.xml
关闭HDFS权限检查
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
配置scondaryNamenode访问服务位置 hdfs
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:50090</value>
</property>
4 )配置yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
开启日志聚集
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>10800</value>
</property>
配置resourcemanager的主机位置
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
5 配置mapred-site.xml
指定运行框架为yarn
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
指定历史服务器
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
配置完成之后,在slaves 配置从节点的主机名称
hadoop01
hadoop02
hadoop03
先实现ssh免密码登录,共copy9次
以上的配置完成之后,需要把hadoop的配置文件分发到各个节点之上可以使用
Scp 命令完成
scp -r /opt/app/hadoop-2.7.2/etc/hadoop hadoop@hadoop02:/opt/app/hadoop-2.7.2/etc/
分发之前,别的节点上必须存在相同的目录
注意: 每一个节点上必须已经安装好JDK环境,并且配置好环境变量
安装完成之后,就可以通过 格式化命令 格式化namenode
格式化前要先删除tmp下的所有文件,删除文件之前要先停止所有服务
sbin/mr-jobhistory-daemon.sh stop historyserver
sbin/stop-dfs.sh
sbin/stop-yarn.sh
rm -rf /opt/app/hadoop-2.7.2/data/tmp/*
bin/hadoop namenode -format
hadoop01
启动historyserver
sbin/mr-jobhistory-daemon.sh start historyserver
启动HDFS
sbin/start-dfs.sh
hadoop02启动yarn
sbin/start-yarn.sh