Hadoop完全分布式搭建 【可行】

包含图片: http://www.jianshu.com/p/307815253fa8

1. 首先根据之前的文章搭建好hadoop单节点环境
2. 分布式集群规划
名称  IP  HDFS    YARN
master  192.168.56.100  NameNode    ResourceManager
data1   192.168.56.101  DataNode    NodeManager
data2   192.168.56.102  DataNode    NodeManager
3. 使用VirtualBox的复制功能创建 data1
    a. 注意:在使用复制时,要勾选 【重新初始化所有网卡的MAC地址】和【完全复制】
    b. 给data1 设置两个网卡 一个用来连接外网(使用dhcp),一个在虚拟机间互联(使用静态IP)
        i. 网卡1设置为网络地址转换NAT
        ii. 网卡2 点击【启动网络连接】,设置为 仅主机适配器 
4. 配置data1
    a. 配置网络配置文件
    sudo gedit /etc/network/interfaces
        # interfaces(5) file used by ifup(8) and ifdown(8)
        auto lo
        iface lo inet loopback
        # NAT        网卡1
        auto eth0
        iface eth0 inet dhcp
        # host only     网卡2
        auto eth1
        iface eth1 inet static
        address      192.168.56.101
        netmask      255.255.255.0
        network      192.168.56.0
        broadcast    192.168.56.255
    b. 设置主机名
    sudo gedit /etc/hostname
    data1
    #  重启电脑
    c. 编辑hosts文件    设置主机名和IP地址间的映射
    sudo gedit /etc/hosts
        127.0.0.1   localhost
        127.0.1.1   hadoop

        192.168.56.100  master
        192.168.56.101  data1
        192.168.56.102  data2
        192.168.56.103  data3
    d. 编辑core-site.xml
    sudo gedit core-site.xml
        <configuration>
        <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>    # 与单节点相比 改动为master
        </property>
        </configuration>
    e. 编辑yarn-site.xml        # 拷贝时去掉注释!
    sudo gedit yarn-site.xml       
        <configuration>

        <!-- Site specific YARN configuration properties -->
        <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        </property>
        <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>

         # 设置ResourceManager和NodeManager的连接地址
        #NodeManager通过该地址向ResourceManager汇报运行情况
        <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>              
        <value>master:8025</value>
        </property>

        # 设置ResourceManager和ApplicationMaster的连接地址
        #ApplicationMaster通过该地址向ResourceManager申请资源、释放资源
        <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
        </property>

         # 设置ResourceManager和客户端的连接地址
        #客户端通过该地址向ResourceManager注册应用程序、删除应用程序
        <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8050</value>
        </property>
        </configuration>

    f. 编辑mapred-site.xml
    sudo gedit mapred-site.xml
        <configuration>
        <property>
        <name>mapred.job.tracker</name>
        <value>master:54311</value>
        </property>
        </configuration>
    g. 编辑hdfs-site.xml
    sudo gedit hdfs-site.xml
        <configuration>
        <property>
        <name>dfs.replication</name>
        <value>2</value>
        </property>
        <property>
        <name>dfs.datanode.data.dir</name>       #data1 做datanode 不用namenode 删去即可
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
        </property>
        </configuration>
    h. 保证网络配置正确,可以上网
    ifconfig
5. 复制data2,master
6. 设置data2
    a. 配置网络配置文件
    sudo gedit /etc/network/interfaces
        # interfaces(5) file used by ifup(8) and ifdown(8)
        auto lo
        iface lo inet loopback
        # NAT        网卡1
        auto eth0
        iface eth0 inet dhcp
        # host only     网卡2
        auto eth1
        iface eth1 inet static
        address      192.168.56.102
        netmask      255.255.255.0
        network      192.168.56.0
        broadcast    192.168.56.255
    b. 设置主机名
    sudo gedit /etc/hostname
    data2
    #  重启电脑
7. 设置master
    a. 配置网络配置文件
    sudo gedit /etc/network/interfaces
        # interfaces(5) file used by ifup(8) and ifdown(8)
        auto lo
        iface lo inet loopback
        # NAT        网卡1
        auto eth0
        iface eth0 inet dhcp
        # host only     网卡2
        auto eth1
        iface eth1 inet static
        address      192.168.56.100
        netmask      255.255.255.0
        network      192.168.56.0
        broadcast    192.168.56.255
    b. 设置主机名
    sudo gedit /etc/hostname
    master
    #  重启电脑
    c. 编辑hdfs-site.xml
        <configuration>
        <property>
        <name>dfs.replication</name>
        <value>3</value>
        </property>
        <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
        </property>
        </configuration>
    d. 创建并编辑master文件
    sudo gedit masters
        master
    e. 编辑slaves文件
    sudo gedit slaves    # 用来确定DataNode
        data1
        data2
    f. 重启master
8. 创建及修改master、data1、data2的目录
    a. 在master中使用ssh data1 登录data1 执行以下操作
     sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs      #删除hdfs已有的目录
     mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode   # 创建datanode 目录
    sudo chown -R hduser:hduser /usr/local/hadoop       #更改目录所有者
    b. 在master中使用ssh data2 登录data2 执行以下操作
     sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs      #删除hdfs已有的目录
     mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode   # 创建datanode 目录
    sudo chown -R hduser:hduser /usr/local/hadoop       #更改目录所有者
    c. 在master中执行以下操作
     sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs      #删除hdfs已有的目录
     mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode   # 创建namenode 目录
    sudo chown -R hduser:hduser /usr/local/hadoop       #更改目录所有者
    d. 格式化NameNode HDFS目录
    hadoop namenode -format
9. 启动集群
    a. start-all.sh  (等同于 start-dfs.sh 和 start-yarn.sh)
    b. 查看master,data1,data2的启动的进程
    jps
        master  Jps 
            ResourceManager
            NameNode
            SecondaryNameNode
        data1   NodeManager 
            DataNode 
            Jps
        data2   NodeManager 
            DataNode 
            Jps
    c. 在浏览器中输入http://localhost:8088查看 Hadoop ResourceManager Web 界面
        i. 点击Nodes 查看当前节点

    d. 在浏览器中输入http://localhost:50070 查看NameNode HDFS Web 界面

        点击Datanodes 显示当前启动的Datanode
10. data1中的命令参考
   72  sudo gedit /etc/network/interfaces
   73  ifconfig
   74  sudo gedit /etc/home
   75  ll -d /etc/home
   76  sudo gedit /etc/hostname
   77  sudo gedit /etc/hosts
   78  ifconfig
   79  cd /usr/local/hadoop/etc/hadoop/
   80  ll
   81  sudo gedit core-site.xml
   82  sudp gedit yarn-site.xml
   83  sudo gedit yarn-site.xml
   84  sudo gedit mapred-site.xml
   85  sudo gedit hdfs-site.xml
   86  ifconfig
   87  jps
   88  exit
   89  jps
   90  cd /usr/local/hadoop/etc/hadoop/
   91  ll
   92  sudo gedit hdfs-site.xml
   93  sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
   94  mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
   95  sudo chown -R hduser:hduser /usr/local/hadoop
   96  jps
   97  history

猜你喜欢

转载自blog.csdn.net/superce/article/details/70464528