zoukankan      html  css  js  c++  java
  • Hadoop 完全分布式安装

    相关链接

       Hadoop 本地模式安装

           Hadoop 伪分布式安装


    0. 说明

      准备 5 台服务器

      分别按照 Hadoop 伪分布式安装 那样配置

      集群规划如下

    服务器主机名 ip 节点配置
    s101 192.168.23.101 NameNode / ResourceManager / SecondaryNameNode
    s102 192.168.23.102 DataNode / NodeManager
    s103 192.168.23.103 DataNode / NodeManager
    s104 192.168.23.104 DataNode / NodeManager
    s105 192.168.23.105 待定

    1. 前期准备

      1.0 准备 5 台服务器

      略

      1.1 更改主机名

      分别为 5 台服务器更名

      # 编辑主机名配置文件
      sudo vi /etc/hostname
    
      # 设置主机名,将 localhost.localdomain 改为 s101
      s101
    
      # 重启服务器
      init 6

      1.2 配置静态 ip

      参考 CentOS7 配置静态 ip

      1.3 安装 JDK

      CentOS7 安装 JDK

      1.4 安装 Hadoop

      参考  Hadoop 伪分布式安装

      

      只需要先配置 [ s101 ]

      在伪分布式的基础上进行以下操作

      在 /soft/hadoop/etc 目录下

      cp -r pseudo full                       // 创建 full 目录

      ln -s full hadoop                    // 创建hadoop符号链接指向full

      ln -sfT /soft/hadoop/etc/full /soft/hadoop/etc/hadoop

      // 强制修改hadoop符号链接,指向full,适用于已存在 hadoop 符号链接的情况

      1.5 修改hosts文件

      为每个服务器都作如下配置

    # 修改主机名和ip的映射 
    sudo vi /etc/hosts
    
    # 配置如下
    192.168.23.101 s101
    192.168.23.102 s102
    192.168.23.103 s103
    192.168.23.104 s104
    192.168.23.105 s105

     


    2. 修改配置文件

      2.1 配置文件 [ core-site.xml ]

    <configuration>
        <!-- value标签需要写本机ip -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://s101</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/centos/hadoop</value>
        </property>
    </configuration>

      2.2 配置文件 [ hdfs-site.xml ]

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
    </configuration>

      2.3 配置文件 [ mapred-site.xml ]

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

      2.4 配置文件 [ yarn-site.xml ]

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

      2.5 配置文件 [ hadoop-env.sh ]

    # 第25行修改如下
    export JAVA_HOME=/soft/jdk

      2.6 修改 [ slaves ] 文件

    # 将 localhost 改为
    s102
    s103
    s104

    3. 同步配置文件

      3.1 配置 SSH 免密登陆

      在 s101 生成公私密钥对

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

      

      分别将公钥拷贝到其他节点

    ssh-copy-id centos@s101
    ssh-copy-id centos@s102
    ssh-copy-id centos@s103
    ssh-copy-id centos@s104
    ssh-copy-id centos@s105


      3.2 同步配置文件( 若其他节点已配置过 Hadoop )
      将其他节点的 /soft/hadoop/etc 删掉

    ssh s102 rm -rf /soft/hadoop/etc
    ssh s103 rm -rf /soft/hadoop/etc
    ssh s104 rm -rf /soft/hadoop/etc
    ssh s105 rm -rf /soft/hadoop/etc

      将本机的 /soft/hadoop/etc 分发到其他节点

    scp -r /soft/hadoop/etc centos@s102:/soft/hadoop/
    scp -r /soft/hadoop/etc centos@s103:/soft/hadoop/
    scp -r /soft/hadoop/etc centos@s104:/soft/hadoop/
    scp -r /soft/hadoop/etc centos@s105:/soft/hadoop/

      3.3 同步配置文件( 若其他节点没配置过 Hadoop )

      将本机的 /soft 分发到其他节点

    scp -r /soft centos@s102:/
    scp -r /soft centos@s103:/
    scp -r /soft centos@s104:/
    scp -r /soft centos@s105:/

    4. 启动 Hadoop


      4.1 格式化 Hadoop 文件系统

    hdfs namenode -format

      4.2 启动 Hadoop

    start-all.sh

      4.3 关闭防火墙

      参照  Linux 防火墙配置


    5. 体验 Hadoop 完全分布式

      5.1 打开 Web 界面
      

      192.168.23.101:50070


      5.2 将 hadoop.txt 上传到 HDFS
      

    hdfs dfs -put hadoop.txt /


      5.3 使用 Hadoop 自带的 demo 进行词频统计

    hadoop jar /soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /hadoop.txt /out

      5.4 通过 Web 界面查看 Hadoop 运行状态
      

      http://192.168.23.101:8088


    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    IE页面后退刷新数据加载问题
    小经验: html中 js脚本运行顺序:思路整理
    jquery 之 $.end() 和 $.siblings()
    AI安防智能化发展至今还存在哪些问题?
    别 荣
    你是魔鬼 荣
    完全版权所有的DataGrid操作类及其用法 荣
    几篇关于.net1.1到.net2.0升级的文章(转载)Microsoft .NET Framework 1.1 和 2.0(测试版)兼容性 荣
    几篇关于.net1.1到.net2.0升级的文章(转载)在VS2005 正确地创建、部署和维护由1.1迁移到ASP.NET 2.0 应用程序注意事项 荣
    关于老实 荣
  • 原文地址:https://www.cnblogs.com/share23/p/9697242.html
Copyright © 2011-2022 走看看