完全分布式的搭建步骤

完全分布式的搭建步骤:
1.准备三台客户机(配置IP,配置主机名...)
(1)、 修改克隆后虚拟机的ip
[root@hadoop101 /]#vim /etc/udev/rules.d/70-persistent-net.rules
(需要复制ATTR{address})
(2)、 修改   IP 地址

[root@hadoop101 /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0

(3)、 修改主机名称
   [root@hadoop100 桌面]# vi /etc/sysconfig/network
 (4)、添加映射
  [root@hadoop100 桌面]# vim /etc/hosts
 (5)、增加自定义用户
  [root@hadoop100  桌面]# useradd atzlz
  [root@hadoop100 桌面]# passwd atzlz
 (6)、给新增用户配置root权限
   [root@hadoop100 桌面]# vim /etc/sudoers
 (7)、在root用户下/opt创建software/ module/ 两个文件夹
  [root@hadoop100 桌面]# mkdir /opt/software module
 (8)、修改新建文件夹的所有者
   [root@hadoop100 桌面]# chown atzlz:atzlz software/ module/


2.安装jdk,安装hadoop
(1)、 scp:secure copy   安全拷贝
hadoop101 /opt/module 目录下的软件拷贝到 hadoop102、 hadoop103、 hadoop104  上。
  [atzlz@hadoop101 /]$ scp -r /opt/module/*  atzlz@hadoop102:/opt/module
(2)、 rsync 远程同步 工具
  [atzlz@hadoop101 opt]$ rsync -rvl /opt/software/* hadoop102:/opt/software/
  注意:rsyncscp区别:rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
(3) 脚本实现
a )在   /home/atzlz 目录下创建 bin 目录,并在   bin 目录下 xsync   创建文件,文件内容如下:

[atzlz@hadoop102 ~]$ mkdir bin

[atzlz@hadoop102 ~]$ cd bin/

[atzlz@hadoop102 bin]$ touch xsync

 [atzlz@hadoop102 bin]$ vi xsync
  #!/bin/bash

#1 获取输入参数个数,如果没有参数,直接退出

pcount=$#

if((pcount==0)); then

echo no args;

exit;

fi


#2 获取文件名称

p1=$1

fname=`basename $p1`

echo fname=$fname


#3 获取上级目录到绝对路径

pdir=`cd -P $(dirname $p1); pwd`

echo pdir=$pdir


#4 获取当前用户名称

user=`whoami`


#5 循环

for((host=103; host<105; host++)); do

        echo --------------------- hadoop$host ----------------


          rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
   done
b )修改脚本   xsync   具有执行权限

[atzlz@hadoop102 bin]$ chmod +x xsync

c )调用脚本形式:   xsync   文件名称

[atzlz@hadoop102 bin]$ xsync /home/atzlz/bin



3.配置JAVA_HOME和HADOOP_HOME
[atzlz@hadoop102 bin]$ sudo vim /etc/profile
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

4.使每个节点上的环境变量生效(source /etc/profile)

5.准备分发脚本 xsync

6.明确集群的配置
集群部署规划

7.修改配置文件
      **core-site.xml
     **hadoop-env.sh
     **hdfs-site.xml
     **yarn-env.sh
     **yarn-site.xml
     **mapred-env.sh
     **mapred-site.xml
8.分发配置文件

[atzlz@hadoop102 hadoop]$ xsync /opt/module/hadoop-2.7.2/


9.删掉data和logs文件夹
       注意: 在此路径下执行[atzlz@hadoop104 hadoop-2.7.2]$

10.格式化hdfs(hdfs namenode -format)

11.单节点启动hdfs
1 )在 hadoop102   上启动 NameNode
               [atguigu@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start namenode
2 )在 hadoop102   hadoop103 以及  hadoop104  上分别启动  DataNode

[atzlz@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start datanode

[atzlz@hadoop103 hadoop-2.7.2]$ hadoop-daemon.sh start datanode

[atzlz@hadoop104 hadoop-2.7.2]$ hadoop-daemon.sh start datanode


12.单节点关闭hdfs

13.配置ssh(hadoop102,hadoop103)
     *****为hadoop102配置免密登陆
1 )生成公钥和私钥:

[atguigu@hadoop102 .ssh]$ ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件   id_rsa (私钥)、 id_rsa.pub (公钥)
2 )将公钥拷贝到要免密登录的目标机器上

[atzlz@hadoop102 .ssh]$ ssh-copy-id hadoop102

[atzlz@hadoop102 .ssh]$ ssh-copy-id hadoop103

[atzlz@hadoop102 .ssh]$ ssh-copy-id hadoop104

     *****为hadoop103配置免密登陆
     同hadoop102
     注: .ssh 文件夹下( ~/.ssh )的文件功能解释
          1   known_hosts          :记录 ssh 访问过计算机的公钥   (public key)
          2   id_rsa     :生成的私钥
          3   id_rsa.pub        :生成的公钥
          4   authorized_keys       :存放授权过得无密登录服务器公钥

14.配置slaves

/opt/module/hadoop-2.7.2/etc/hadoop/slaves

[atzlz@hadoop102 hadoop]$ vi slaves

hadoop102
hadoop103
hadoop104
  
15.分发配置文件
     [atzlz@hadoop102 hadoop]$ xsync slaves 

16.群启hdfs(先启动hdfs,后启动yarn,在namenode所在的节点上启动hdfs,在ResourceManager所在的节点上启动yarn)
     [atzlz@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh


17.群启yarn

[atzlz@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh



18.集群基本测试

上传文件到集群

           上传小文件

[atzlz@hadoop102 hadoop-2.7.2]$ hadoop fs -mkdir -p /user/atzlz/input

[atzlz@hadoop102 hadoop-2.7.2]$ hadoop fs -put wcinput/wc.input /user/atzlz/input

           上传大文件

[atzlz@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -put

 /opt/software/hadoop-2.7.2.tar.gz  /user/atzlz/input







你可能感兴趣的:(完全分布式的搭建步骤)