大数据系列之Hadoop知识整理(二)Hadoop集群搭建
1.Hadoop集群的搭建的准备
关闭防火墙
centos防火墙操作
[cnetos 6.5之前的版本]
$>sudo service firewalld stop //停止服务
$>sudo service firewalld start //启动服务
$>sudo service firewalld status //查看状态
[centos7]
$>sudo systemctl enable firewalld.service //"开机启动"启用
$>sudo systemctl disable firewalld.service //"开机自启"禁用
$>sudo systemctl start firewalld.service //启动防火墙
$>sudo systemctl stop firewalld.service //停止防火墙
$>sudo systemctl status firewalld.service //查看防火墙状态
[开机自启]
$>sudo chkconfig firewalld on //"开启自启"启用
$>sudo chkconfig firewalld off //"开启自启"禁用
1.1前期准备:a.修改主机名
修改为s10:hostnamectl set-hostname s10
使用hostname查看一下是否修改成功
b./etc/hosts127.0.0.1 localhost
192.168.200.10 s10
192.168.200.11 s11
192.168.200.12 s12
1.2首先克隆出3台cliet(centos7)右键centos-7-->管理->克隆-> ... -> 完整克隆
1.3按照1.1的方式修改每一台client的主机名已经hosts,已经ip地址/etc/sysconfig/network-scripts下的如下文件
然后使用vim 修改箭头所指向的文件,修改如下
1.4重启网络服务
$>sudo service network restart
1.5使用ifconfig查看是否当前网址
1.6依次修改每一台client
1.7使用ping 主机名或是(IP地址)查看是3台机器是否处在同一个网段
2.准备完全分布式主机的ssh
2.1.删除所有主机上的/home/zpx/.ssh/*
2.2.在s10主机上生成**对
$>ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
2.3.将s10的公钥文件id_rsa.pub远程复制到s11,s12主机上。
并放置/home/zpx/.ssh/authorized_keys
$>scp id_rsa.pub [email protected]:/home/zpx/.ssh/authorized_keys
$>scp id_rsa.pub [email protected]:/home/zpx/.ssh/authorized_keys
$>scp id_rsa.pub [email protected]:/home/centos/.ssh/authorized_keys
2.4.ssh 主机名 测试是否成功(一般第一次需要我们登录验证)
3.Hadoop完全分布式搭建
我们使用节点s10作为namenode,使用s10,s11,s12作为datenode,使用是s10作为resourcemanager。
目录/home/zpx/soft/hadoop-2.7.3/etc/hadoop
3.1 core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s10/</value>
</property>
<!--- 配置新的本地目录,如果不配置,在默认情况下保存数据,每次开机都会直接删除掉 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zpx/hadoop</value>
</property>
</configuration>
3.2 hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
3.3 mapred-site.xml
不变
3.4.yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s10</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3.5 slaves
s10
s11
s12
4.分发配置
$>cd /home/zpx/soft/hadoop-2.7.3/etc
$>scp -r hadoop [email protected]:/home/zpx/soft/hadoop-2.7.3/etc/
$>scp -r hadoop [email protected]:/home/zpx/soft/hadoop-2.7.3/etc/
5删除临时目录文件(如果不删除,datanode有可能起不来)
$>cd /tmp
$>rm -rf *
$>ssh s11 rm -rf /tmp/*
$>ssh s12 rm -rf /tmp/*
6.删除hadoop日志
$>cd /home/zpx/soft/hadoop-2.7.3/logs
$>rm -rf *
$>ssh s11 rm -rf /soft/hadoop/logs/*
$>ssh s12 rm -rf /soft/hadoop/logs/*
7.格式化hdfs
$>hadoop namenode -format
8.启动hadoop进程
$>start-all.sh
至此,我们的hadoop集群已经搭建完成
我们使用jps看一下各个节点的进程
在网址上输入ip地址:50070查看一下
hadoop的端口
-----------------
50070 //namenode http port
50075 //datanode http port
50090 //secondarynamenode http port
8020 //namenode rpc port
50010 //datanode rpc port
hadoop四大模块
-------------------
common
hdfs //namenode + datanode + secondarynamenode
mapred
yarn //resourcemanager + nodemanager
启动脚本
-------------------
1.start-all.sh //启动所有进程
2.stop-all.sh //停止所有进程
3.start-dfs.sh //
4.start-yarn.sh
[hdfs] start-dfs.sh stop-dfs.sh
namenode ,datanode ,secondarynamenode
[yarn] start-yarn.sh stop-yarn.sh
resourcemanager ,nodemanager
虚拟机的网络配置(选择nat模式)
问题总结:如果在搭建集群的过程中,发现某一个进程没有启动,比如说是s11下的datanode进程没有启动,一定要去看日志,看s11下的与datanode的日志,看出现了什么问题,比方说端口被占用一类的,不然hadoop的配置比较繁多,出了问题不好找。