一、windows下搭建虚拟机

   1. 创建虚拟机01

                       

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机

   2. 创建虚拟机02

                       

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_02

    3.  创建虚拟机03

                       

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_03

       4.  创建虚拟04

                      

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_04

      5. 创建虚拟05

                     

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_05

       6. 创建虚拟机06  (根据自己的需求选择配置,我把内存调为了2GB)

                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_06

        7. 创建虚拟机07 (配置完成后启动虚拟机)

                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_07

        8. 创建虚拟机08  (直接按回车后等待安装)

                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_08

         9. 创建虚拟机09 

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_09

        10. 创建虚拟机10 (选择虚拟机语言)

                 

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_10

        11. 创建虚拟机11(选择安装位置和开启网络地址)

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_11

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_12

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_13

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_14

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_15

         12. 创建虚拟机12 (配置用户名密码)

                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_16

                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_17

                    

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_18

                    

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_19

         13. 创建虚拟机13 (测试网络)

                     

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_20

         14. Window下按Ctrl+Shift+esc,确认VMware服务全部开启

                    

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_21

               测试一下

                     

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_22

 

二、 虚拟机配置

     1. 修改主机名

vi  /etc/hostname       # 主机  master

     2. 设置静态IP,把IP地址固定

vi /etc/sysconfig/network-scrpit/ifcfg-ens33   修改网络配置

                                     

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_23

systemctl restart network   重启网络,使修改生效

接下来 slave1 和 slave2 分别设置为192.168.72.101、192.168.72.102

                                    

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_24

       3. 关闭防火墙,并禁止开机启动

systemctl stop firewalld          关闭防火墙

systemctl disable firewalld     禁止开机启动

systemctl status firewalld       检查防火墙运行状态

       4. 配置hosts

打开主节点的hosts文件,要将文件的前两行注释掉 (注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。

vi /etc/hosts

         192.168.72.100   master

         192.168.72.101   slave1

         192.168.72.102   slave2

保存之后,将主节点的hosts分别拷贝到其他两个子节点

scp /etc/hosts root@192.168.72.101:/etc/

scp /etc/hosts root@192.168.72.102:/etc/

                            

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_25

                              

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_26

 

三、配置ssh无密码访问

      1.  生成公钥密码对

在每个节点上分别执行:

          ssh-keygen -t rsa

一直按回车直到生成结束

执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub

其中前者为私钥,后者为公钥

在主节点上执行:

         cp id_rsa.pub authorized_keys

                              

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_27

       2. 将子节点的公钥拷贝到主节点并添加进authorized_keys

将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:

        scp ~/.ssh/id_rsa.pub root@master:~/.ssh/id_rsa_slave1.pub

        scp ~/.ssh/ id_rsa.pub root@master:/~/.ssh/id_rsa_slaver2.pub

然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去

主节点上执行:

       cat id_rsa_slave1.pub >> authorized_keys

       cat id_rsa_slave2.pub >> authorized_keys

最后测试是否配置成功

在master上分别执行

        ssh slave1

        ssh slave2

      能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。

 

这里的配置方式可以有多种操作步骤,最终目的是每个节点上的/root/.ssh/authorized_keys文件中都包含所有的节点生成的公钥内容。

         3.  将主节点的authorized_keys文件分别替换子节点的authorized_keys文件,主节点上用scp命令将authorized_keys文件拷贝到子节点的相应位置

scp authorized_keys root@slaver:/root/.ssh/

scp authorized_keys root@slave2:/root/.ssh/

                                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_28

                                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_29

                                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_30

四、安装jdk和hadoop及配置

       1. 安装jdk

1. 卸载jbk

      查看系统已经安装的jdk

              rpm -qa|grep jdk

     卸载jdk:

              rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64

 

2. 安装jdk

     所有软件都安装在 /usr/local 目录下

     上传 jdk 到 master 下的 /root

      解压 jdk 到当前目录

               tar -xvf jdk_xxxxx                 

      移动到 /usr/local/jdk 目录中

               mv jdk1.8.0_141/ /usr/local/jdk

       配置环境变量

               vi /etc/profile                   

       追加

               export JAVA_HOME=/usr/local/jdk

               export JRE_HOME=/usr/local/jdk/jre

               export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

               export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

       刷新环境变量

                source /etc/profile                 

       检查 jdk 是否安装成功

                java –version 

                            

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_31

                             

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_32

       2. 安装hadoop

    上传 hadoop 到 master 下的 /root

     解压 hadoop 到当前目录

            tar -xvf hadoop_xxxx

     移动到 /usr/local/hadoop 目录中

            mv hadoop-2.7.3 /usr/local/hadoop

       配置环境变量

             vi /etc/profile                   

       追加

              export HADOOP_HOME=/usr/local/hadoop

              export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin        

       刷新环境变量

               source /etc/profile              

       检查 hadoop 是否安装成功

                hadoop version 

                                 

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_33

 

       3. 配置hadoop

进入 hadoop 安装目录下的 /usr/local/hadoop/etc/hadoop 目录

配置  core-site.xml      hdfs-site.xml       yarn-site.xml      mapred-site.xml      slaves

              3.1 配置 core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>

<property>
    <name>tmp.dir</name>
    <value>/usr/local/hadoop/hdfs</value>
</property>

                              

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_34

              3.2 配置 hdfs-site.xml

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hdfs://master:50090</value>
</property>

                              

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_35

              3.3 配置 hadoop-env.sh

修改第 25 行的 JAVA_HOME 为 jdk 安装目录

export JAVA_HOME=/usr/local/jdk

                              

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_36

              3.4 配置 yarn-env.sh

解注释第 23 行,修改为 jdk 安装目录

export JAVA_HOME=/usr/local/jdk

                               

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_37

 

              3.5 配置 yarn-site.xml

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

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>

                                

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_38

              3.6 配置 mapred-site.xml

生成 mapred-site.xml 文件

mv mapred-site.xml.template mapred-site.xml

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

<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>

<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>

                                

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop虚拟机安装实验小结_39

 

              3.7 配置 slaves 文件

删除 localhost

增加

      master

      slave1

      slave2

                                                    

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_40

          3. 8  在 master 执行下列命令,把配置好的文件发送到 slave1 和 slave2

scp -r /usr/local/jdk/ root@slave1:/usr/local/

scp -r /usr/local/jdk/ root@slave2:/usr/local/

 

scp -r /usr/local/hadoop/ root@slave1:/usr/local/

scp -r /usr/local/hadoop/ root@slave2:/usr/local/

             

scp -r /etc/profile root@slave1:/etc/profile

scp -r /etc/profile root@slave2:/etc/profile

             

分别在 slave1 和 slave2 执行下列命令

          source /etc/profile

          java -version

          hadoop version

                                      

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_41

      4. 初始化 hadoop 集群

在 master 上执行命令格式化集群

       hdfs namenode -format   不允许多次执行

出现 name has been successfully formatted 表明成功

不允许多次格式化,会导致集群无法启动

       如果出错:

              1. 修改配置文件

              2. 删除 三个主机上的 上的 /usr/local/hadoop/hdfs 文件夹

              3. 使用 scp 命令把修改的内容发送到 slave1 和 salve2 下,时刻保持 3 个虚拟机的配置文件是一致的

              4. 重新格式化

 

master 启动 hadoop 集群

              start-dfs.sh        

       验证集群是否正常

              分别执行 jps 命令,包含以下内容即正常

                     master:

                            NameNode

                            SecondaryNameNode

                     slave1 和 slave2:

                            DataNode

             访问:http://master的ip:50070

                                               

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_42

                                     

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_创建虚拟机_43

                                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_44

                                   

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_hadoop_45

         5.  关闭集群

第一种:

        stop-yarn. sh  (jps后如果有yarn的话就得先关yarn)

        stop-dfs.sh

第二种:

          stop-all.sh (直接全关掉)

切记:关虚拟机前先关闭 hadoop 集群,不然可能会导致集群的崩溃

                                  

hadoop虚拟机安装实验小结 虚拟机搭建hadoop集群_xml_46