CentOS6.8虚拟机搭建完全分布式

虚拟机搭建完全分布式

文章目录

1. 主节点配置

1.1 安装系统环境

  • linux系统:【CentOS_6.8_64】

1.2 设置静态IP

1.2.1 查看子网IP【VMWare15】
  1. 【编辑】–>【虚拟网络编辑器】–>

    ​ NET:(VMnet8)中:

    ​ 子网号码(192.168.204.0)【192.168.204 是将要加入的网段】

    ​ 子网掩码(255.255.255.0)

1564582399097

1.2.2 查看MAC地址是否与eth0匹配

【对比ifconfig中的MAC地址与/etc/udev/rules.d/70-persistent-net.rules中的MAC地址】

[hadoop@localhost ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A9:54:0E
inet6 addr: fe80::20c:29ff:fea9:540e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:329 errors:0 dropped:0 overruns:0 frame:0
TX packets:348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21327 (20.8 KiB) TX bytes:66744 (65.1 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:120 errors:0 dropped:0 overruns:0 frame:0
TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9328 (9.1 KiB) TX bytes:9328 (9.1 KiB)

[hadoop@localhost ~]$

在这里插入图片描述

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:a9:54:0e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

1564583012534

1.2.3 root用户下修改【/etc/sysconfig/network-scripts/ifcfg-eth0】

[hadoop@localhost rules.d]$ cd /etc/sysconfig/network-scripts/
[hadoop@localhost network-scripts]$ vim ifcfg-eth0

修改:

​ BOOTPROTO=“static”

追加:

​ IPADDR=“192.168.204.100”【ip地址,前三位是虚拟网络编辑器中查看到的网段值,第四位任意】

​ NETMASK=“255.255.255.0”【子网掩码,虚拟网络编辑器中查找到的值】

​ NETWORK=“192.168.204.0”【子网号,就是虚拟网络编辑器中的子网号】

​ GATEWAY=“192.168.204.2”【网关,前三位参看虚拟网络编辑器,第四位任意,但不能和ip以及之后要配置的windows虚拟网卡VMnet8中的ip相同】

​ DNS1=“192.168.204.2”【首选DNS服务器,如果是使用本地的DNS,必须和网关ip一致,如果使用公有的DNS(例如:8.8.8.8是谷歌的,114.114.114.114是南京信风的)】

  • ifcfg-eth0文件修改如下:

DEVICE=“eth0”
BOOTPROTO=“static”
HWADDR=“00:0C:29:A9:54:0E”
IPV6INIT=“yes”
NM_CONTROLLED=“yes”
ONBOOT=“yes”
TYPE=“Ethernet”
UUID=“ba80fe09-30f1-408d-bc94-3f3b1b0b8947”

IPADDR=“192.168.204.100”
NETMASK=“255.255.255.0”
NETWORK=“192.168.204.0”
GATEWAY=“192.168.204.2”
DNS1=“192.168.204.2”

1.2.4 重启网络服务

[root@localhost network-scripts]# service network restart

1564583864206

1.2.5 设置windows主机中的虚拟网卡VMnet8

【控制面板】–>【网络和Internet】–>【网络连接】–>

​ 【右键VMnet8】–>【选择IPv4】–>【属性】

​ 使用下面的IP地址(DNS服务器地址)

​ IP地址: 192.168.204.1 【默认设置为1】

​ 子网掩码: 255.255.255.0 【虚拟网络编辑器中的子网掩码】

​ 默认网关: 192.168.204.2 【末位与IP地址不同即可,但设置的所有网关必须一致】

​ 首选DNS服务器:192.168.204.2 【本地的必须使用网关地址】

在这里插入图片描述

1564584272965

1.2.6 在windows上ping 192.168.204.100

在这里插入图片描述

1.2.7 在linux中ping 192.168.204.1,而不是物理机的IP地址

在这里插入图片描述

1.2.8 步骤6、7都ping通,且linux可以ping通外网(如:www.baidu.com)则完成静态IP设置

1564584597588

1.2.9 注意事项:
  1. 物理机的虚拟网卡VMnet8中的IP末位可以任意设置,网关的末位也可以任意设置,但是两者不可以相同。
  2. linux中的IP末位也可以任意设置,但是不可以与物理机虚拟网卡VMnet8以及网关的地址相同。
  3. 子网掩码一般都是255.255.255.0,也有其他情况,具体就看虚拟网络编辑器中的,或者在虚拟网络编辑器中自定义。
  4. 子网网段参看虚拟网络编辑器,也可以在虚拟网络编辑器中修改成自己想要的网段,都是虚拟的没什么不可以。但是,设定以后,所有相关的IP、网关、DNS前三位都要与其一致。
  5. DNS服务器使用本地的,必须使用网关地址。使用在线的可以有(114.114.114.114是南京信风的)

1.3 修改机器名

1.3.1 进入系统后的默认机器名都是localhost

​ [用户名@机器名 路径信息] $

​ 【用户名,是通过Terminal登录的用户名】

​ 【机器名,可以理解为IP映射地址】

​ 【用户名,是通过Terminal登录的用户名】

​ 【GUI登录名,是通过图形界面登录的用户名,实际上没有用到的时候】

1.3.2 root下修改【/etc/sysconfig/network】文件
  • 【[root@localhost etc]# vim /etc/sysconfig/network

  • 将HOSTNAME属性localhost.localdomain修改为【master】

在这里插入图片描述

1.3.3 重启系统

[root@localhost etc]# reboot

1.4 在hosts文件添加各节点IP地址和别名(主机名)

1.4.1 root下修改【/etc/hosts】文件
  • 【[root@localhost etc]# vim /etc/hosts】

  • 在文件末尾追加:

    192.168.204.100 master

    192.168.204.101 slave01
    192.168.204.102 slave02
    192.168.204.103 slave03

在这里插入图片描述

【该IP地址需先设定静态IP,否则设置会随动态IP失效】

【用master指向IP地址:192.168.204.100】

1.4.2 修改windows中的【C:\Windows\System32\drivers\etc\hosts】文件

【如果没有,手动创建。如果有,同步骤2】

在这里插入图片描述

在这里插入图片描述

1.4.3 测试

【命令行下输入>ping master】

在这里插入图片描述

1.5 关闭防火墙

1.5.1 查看防火墙状态

[root@master etc]# service iptables status

[root@master etc]# chkconfig iptables --list
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@master etc]#

1.5.2 关闭防火墙【root用户下】

[root@master etc]# service iptables stop

【关闭防火墙】

[root@master etc]# chkconfig iptables off

【关闭开机启动防火墙】

[root@master etc]# chkconfig iptables --list
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@master etc]#

1.6 设置ssh无密登录

[hadoop@master ~]$ ssh localhost
hadoop@localhost’s password: 【输入密码】

1.6.1 生成密钥

[hadoop@master ~]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

[hadoop@master hadoop]$ ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):

【这里直接回车,问你是否保存在默认的位置】

Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
2a:ef:8b:3b:9d:8c:ee:28:0d:9d:a1:f9:d3:32:be:1c hadoop@master
The key’s randomart image is:
±-[ RSA 2048]----+
| |
| |
| |
| . |
| + o S |
|+ o . |
| +E…+… |
|…*o+++ |
| o=B=++. |
±----------------+

【ssh-keygen】生成密钥
【-t rsa】加密方式是rsa
【-P ‘’】密码为空
【-f ~/.ssh/id_rsa】在该地址下创建id_rsa文件【不配也是默认该地址】

[hadoop@master ~]$ cd ~/.ssh
[hadoop@master .ssh]$ ls -l
总用量 20
-rw-------. 1 hadoop hadoop 1675 7月 29 13:44 id_rsa
-rw-r–r--. 1 hadoop hadoop 395 7月 29 13:44 id_rsa.pub
-rw-r–r--. 1 hadoop hadoop 391 7月 29 13:36 known_hosts

1.6.2 生成公钥库

[hadoop@master .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

1.6.3 修改公钥库权限

[hadoop@master .ssh]$ chmod 0600 ~/.ssh/authorized_keys

【必须修改,否则系统将无法识别该文件的权限,该文件就失效了】

【拷贝到其他节点上时,也必须检查该权限是否为600】

1.6.4 测试ssh登录

[hadoop@master .ssh]$ ssh master
The authenticity of host ‘master (192.168.204.110)’ can’t be established.
RSA key fingerprint is 15:10:37:43:13:e5:a6:a5:90:0e:89:fb:27:f9:3b:98.
Are you sure you want to continue connecting (yes/no)? yes

【首次ssh到某个节点,会校验一次,以后不会再出现】

Warning: Permanently added ‘master,192.168.204.110’ (RSA) to the list of known hosts.
[hadoop@master ~]$

[hadoop@master ~]$ ssh master
Last login: Mon Jul 29 13:56:06 2019 from master
【master | localhost】一个意思,都是代表IP地址

1.7 安装JDK

1.7.1 解压JDK
  • 在自建用户【hadoop】家目录下创建【soft】目录

  • 【将JDK安装包拷贝到/home/hadoop/soft目录下】

  • 使用命令解压JDK

    • [hadoop@master soft]$ tar zxvf jdk-8u121-linux-x64.tar.gz
1.7.2 创建jdk软链接
  • [hadoop@master soft]$ ln -s jdk1.8.0_121/ jdk

1564586443216

1.7.3 设置JDK环境变量
  • 修改【~/.bash_profile】文件,追加如下:

  • 【[hadoop@master soft]$ vim ~/.bash_profile

  • export JAVA_HOME="/home/hadoop/soft/jdk"
    export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述

  • [hadoop@master soft]$ source ~/.bash_profile

    【环境变量配置立即生效】

  • 测试配置是否成功

    echo $JAVA_HOME【出现路径则成功】
    [hadoop@master soft]$ echo $JAVA_HOME
    /home/hadoop/soft/jdk

    在任意路径下,输入jp

    然后按下超过2次tab键

    出现jsp命令,则配置成功

    [hadoop@master soft]$ jp
    jpegtran jps

1.8 安装Hadoop

1.8.1 解压Hadoop
  • 【将Hadoop安装包拷贝到/home/hadoop/soft目录下】

  • 使用命令解压Hadoop

    • [hadoop@master soft]$ tar zxvf hadoop-2.7.3.tar.gz

1.8.2 创建软链接
  • [hadoop@master soft]$ rm hadoop-2.7.3.tar.gz

在这里插入图片描述

1.8.3 配置Hadoop环境变量
  • 修改【~/.bash_profile】文件,追加如下:

  • 【[hadoop@master soft]$ vim ~/.bash_profile

  • export HADOOP_HOME="/home/hadoop/soft/hadoop"
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

在这里插入图片描述

  • [hadoop@master soft]$ source ~/.bash_profile

    【环境变量配置立即生效】

  • 测试配置是否成功

    echo $HADOOP_HOME【出现路径则成功】
    [hadoop@master soft]$ echo $JAVA_HOME
    /home/hadoop/soft/hadoop

    在任意路径下,输入start

    然后按下超过2次tab键

    出现start-dfs.sh命令,则配置成功

    [hadoop@master soft]$ start
    start start-dfs.cmd start_udev
    start-all.cmd start-dfs.sh startx
    start-all.sh start-pulseaudio-x11 start-yarn.cmd
    start-balancer.sh start-secure-dns.sh start-yarn.sh

1.8.4 修改Hadoop基础配置文件
1.8.4.1 修改【$HADOOP_HOME/ect/hadoop】文件夹下的core-site.xml
  • 也就是:/home/hadoop/soft/hadoop-2.7.3/etc/hadoop目录下的core-site.xml文件
    [hadoop@master hadoop]$ vim core-site.xml

    • 【在中添加如下:】

      <configuration>
              <property>
                      <name>fs.defaultFS</name>
                      <value>hdfs://master:9000</value>
              </property>
              <property>
                      <name>hadoop.tmp.dir</name>
                      <value>/home/hadoop/tmp/hadoop-${user.name}</value>
              </property>
      
       </configuration>
      

      【用于存储的文件系统设置,用URI实现,主机名,端口号】

在这里插入图片描述

1.8.4.2 修改【$HADOOP_HOME/etc/hadoop】文件夹下的hdfs-site.xml
  • 也就是:/home/hadoop/soft/hadoop-2.7.3/etc/hadoop目录下的hdfs-site.xml文件
    [hadoop@master hadoop]$ vim core-site.xml

    • 【在中添加如下:】

      <configuration>
              <property>
                      <name>dfs.replication</name>
                      <value>3</value>
              </property>
              <property>
                      <name>dfs.blocksize</name>
                      <value>128M</value>
              </property>
              <property>
                      <name>dfs.namenode.name.dir</name>
                      <value>file://${hadoop.tmp.dir}/dfs/name, /backup-disk/dfs/name</value>
              </property>
              <property>
                      <name>dfs.datanode.data.dir</name>
                      <value>file://${hadoop.tmp.dir}/dfs/data</value>
              </property>
      </configuration>```
      

在这里插入图片描述

1.8.4.3 修改【$HADOOP_HOME/etc/hadoop】文件夹下的yarn-site.xml
  • 也就是:/home/hadoop/soft/hadoop-2.7.3/etc/hadoop目录下的yarn-site.xml文件
    [hadoop@master hadoop]$ vim yarn-site.xml

    • 【在中添加如下:】

      <configuration>
      	<property>
      		<name>yarn.nodemanager.aux-services</name>
      		<value>mapreduce_shuffle</value>
      	</property>
      </configuration>
      

在这里插入图片描述

1.8.4.4 修改【$HADOOP_HOME/etc/hadoop】文件夹下的mapred-site.xml
  • 拷贝mapred-site.xml.template一份为mapred-site.xml

    也就是:/home/hadoop/soft/hadoop-2.7.3/etc/hadoop目录下的mapred-site.xml文件
    [hadoop@master hadoop]$ vim mapred-site.xml

    • 【在中添加如下:】

      <configuration>
           <property>
                   <name>mapreduce.framework.name</name>
                   <value>yarn</value>
           </property>
      </configuration>
      

    在这里插入图片描述

1.8.4.5 修改【$HADOOP_HOME/etc/hadoop】文件夹下的slaves
  • 也就是:/home/hadoop/soft/hadoop-2.7.3/etc/hadoop目录下的slaves文件
    [hadoop@master hadoop]$ vim slaves

    • 方式一、【用如下数据覆盖,只设置3个数据从节点】

      slave01
      slave02
      slave03

      方式二、【追加以上数据,会将master节点也设置为数据节点】

      localhost

      slave01

      slave02

      slave03

在这里插入图片描述

1.8.4.6 修改hadoop配置JAVA_HOME路径

$>cd $HADOOP_HOME/etc/hadoop
$>vim hadoop-env.sh

export JAVA_HOME=/home/hadoop/soft/jdk【修改为绝对路径】

【因为在设置HADOOP_HOME时,将HADOOP_HOME放在了JAVA_HOME之前,因此无法识别JAVA_HOME的配置,所以要固定指定JAVA_HOME的路径】

1.9 克隆3个虚拟机

2. 从节点配置

2.1 修改所有从节点的静态IP

2.1.1 【克隆的机器,网卡都会有2个,root下在/etc/udev/rules.d/70-persistent-net.rules删除eth0网卡】
2.1.2 【将eth1网卡,改为eth0,拷贝MAC地址】

在这里插入图片描述

2.1.3 【在/etc/sysconfig/network-scripts/ifcfg-eth0文件中,覆盖原MAC地址】
2.1.4 【修改IPADDR:为当前节点的IP】

在这里插入图片描述

2.2 修改主机名

2.2.1 修改所有slave/etc/sysconfig/network

将【master】修改为对应的slave01、slave02、slave03

2.3 重启所有系统

2.3 格式化文件系统

2.3.1【目的:创建fsimage镜像文件】

[hadoop@master ~]$ hdfs namenode -format

2.3.2 开启hadoop的HDFS【start-dfs.sh】

【但是在实际使用中少用此方式,因为无法关闭一部分功能,要是全部关闭则又是HDFS系统所不允许的,全关闭的话,整个系统就关了,那就无法进行有效管理】

[hadoop@master hadoop]$ start-dfs.sh
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-namenode-master.out
localhost: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-master.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host ‘0.0.0.0 (0.0.0.0)’ can’t be established.
RSA key fingerprint is 72:96:2e:5f:bd:ea:b4:7b:27:c1:43:99:a0:6a:01:1b.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added ‘0.0.0.0’ (RSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-master.out
[hadoop@master hadoop]$

2.3.3 检验【[hadoop@master hadoop]$ jsp】

[hadoop@master hadoop]$ jps
9106 NameNode
9493 Jps
9384 SecondaryNameNode
[hadoop@master hadoop]$

[hadoop@slaver01 hadoop]$ jps
9200 DataNode
[hadoop@slaver01 hadoop]$

2.3.4 测试连接
打开浏览器:http://master:50070

fingerprint is 72:96:2e:5f:bd:ea:b4:7b:27:c1:43:99:a0:6a:01:1b.

Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added ‘0.0.0.0’ (RSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-master.out
[hadoop@master hadoop]$

2.3.3 检验【[hadoop@master hadoop]$ jsp】

[hadoop@master hadoop]$ jps
9106 NameNode
9493 Jps
9384 SecondaryNameNode
[hadoop@master hadoop]$

[hadoop@slaver01 hadoop]$ jps
9200 DataNode
[hadoop@slaver01 hadoop]$

2.3.4 测试连接
打开浏览器:http://master:50070
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值