A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuqiong 金牌黑马   /  2018-7-23 10:18  /  1403 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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/hosts
      127.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-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2.3.将s10的公钥文件id_rsa.pub远程复制到s11,s12主机上。
并放置/home/zpx/.ssh/authorized_keys
$>scp id_rsa.pub zpx@s10:/home/zpx/.ssh/authorized_keys
$>scp id_rsa.pub zpx@s11:/home/zpx/.ssh/authorized_keys

$>scp id_rsa.pub zpx@s12:/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"?>

<configuration>
   <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  zpx@s11:/home/zpx/soft/hadoop-2.7.3/etc/

$>scp -r hadoop   zpx@s12:/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的配置比较繁多,出了问题不好找。


6 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
奈斯,优秀
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马