美文网首页
Hadoop分布式安装部署

Hadoop分布式安装部署

作者: aduo | 来源:发表于2019-04-16 15:31 被阅读0次

    1分布式集群规划

    ip 131 132 133
    name namenode.hay.com worker1.hay.com worker2.hay.com
    HDFS NameNode DataNode DataNode
    SecondaryNamenode
    YARN ResourceManager NodeManager NodeManager
    MR JobHistoryServer

    2 配置

    2.1 机器hostname及IP,以机器131为例

    • 关闭防火墙
    sudo systemctl stop firewalld.service
    
    • 修改hostname,编辑 /etc/hostname
    namenode.hay.com
    
    • 修改IP,编辑 /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=namenode.hay.com
    GATEWAY=192.168.176.2
    

    编辑 /etc/sysconfig/network-scripts/ifcfg-ens33

    #BOOTPROTO=dhcp
    IPADDR=192.168.176.131
    DNS1=192.168.176.2
    

    其他两台机器按照上面步骤配置

    • 主机名与IP地址映射,编辑 /etc/hosts
    192.168.176.131 namenode.hay.com namenode
    192.168.176.132 worker1.hay.com worker1
    192.168.176.133 worker2.hay.com worker2
    

    2.2 hadoop配置

    • 配置namenode,编辑 etc/hadoop/core-site.xml
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/module/hadoop-3.1.2/data/tmp/hadoop-${user.name}</value>
            <description>A base for other temporary directories.</description>
        </property>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode.hay.com:8020</value>
      </property>
    
    • 配置secondarynamenode,编辑 etc/hadoop/hdfs-site.xml
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>worker2.hay.com:9868</value>
        </property>
        <property>
            <name>dfs.permissions.enabled</name>
            <value>true</value>
        </property>
    
    • 配置datanode和NodeManager, 编辑 etc/hadoop/workers
    worker1.hay.com
    worker2.hay.com
    
    • 配置ResourceManager,编辑 etc/yarn-site.xml
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>namenode.hay.com</value>
        </property>
    <!--  日志聚合-->
            <property>
                   <name>yarn.log-aggregation-enable</name>
                   <value>true</value>
            </property>
    
            <property>
                   <name>yarn.log-aggregation.retain-seconds</name>
                   <value>604800</value>
            </property> 
    
    • 配置JobHistoryServer,编辑 etc/mapred-site.xml
            <property>
                   <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>namenode.hay.com:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>namenode.hay.com:19888</value>
        </property>
    
    • 复制配置到另外两台机器
    scp -rp etc/hadoop/* hay@worker1.hay.com:/opt/module/hadoop-3.1.2/etc/hadoop/
    scp -rp etc/hadoop/* hay@worker2.hay.com:/opt/module/hadoop-3.1.2/etc/hadoop/
    
    • 格式化namenode
    bin/hdfs namenode -format
    

    2.3 启动HDFS组件

    方法一:
    在namenode主机启动namenode

    bin/hdfs --daemon start namenode
    

    在各个worker主机启动datanode

     bin/hdfs --daemon start datanode
    

    在worker2主机启动secondarynamenode

    bin/hdfs --daemon start secondarynamenode
    

    方法二:

    • 配置ssh无密登陆
      在namenode主机中执行
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    

    按Enter默认选项,生成公私钥对。

    • 复制公钥到各个主机,包括当前主机
    ssh-copy-id -i ~/.ssh/id_rsa.pub hay@主机名
    
    • 启动所有主机上hdfs组件,在namenode主机上执行
    sbin/start-dfs.sh
    

    2.4 启动yarn组件

    方法一:

    • 在namenode上启动ResourceManager
    bin/yarn --daemon start resourcemanager
    
    • 在各个worker主机上启动nodemanager
    bin/yarn --daemon start nodemanager
    

    方法二:
    在namenode配置ssh无密登陆,包括当前主机

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    ssh-copy-id -i ~/.ssh/id_rsa.pub hay@主机名
    

    在配置了workers和ssh免密登陆的情况下,在namenode主机使用启动yarn组件

    sbin/start-yarn.sh
    

    2.5 启动historyserver

    • 在namenode主机上启动JobHistoryServer
    bin/mapred --daemon start historyserver
    

    3 运行实例

    3.1 在HDFS上创建用户

    bin/hdfs dfs -mkdir -p /user/hay
    

    3.2 输入文件

    bin/hdfs dfs -mkdir -p mr/test1
    bin/hdfs dfs -put etc/hadoop/ mr/test1/input
    

    3.3 运行

    bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar grep mr/test1/input mr/test1/output 'dfs[ a-z.]+'
    

    4 关闭

    4.1 关闭mapred

    bin/mapred --daemon stop historyserver
    

    4.2关闭yarn

    方法一

    • 在worker1上关闭resourcemanager
    bin/yarn --daemon stop resourcemanager
    
    • 在各个worker上关闭nodemanager
    bin/yarn --daemon stop nodemanager
    

    方法二
    在配置了worker和ssh免密登陆后,在worker1执行

    sbin/stop-yarn.sh
    

    即可关闭所有的nodemanager和resourcemanager

    4.3关闭HDFS

    方法一

    • 关闭namenode
    bin/hdfs --daemon stop namenode
    
    • 在各个worker上关闭datanode
    bin/hdfs --daemon stop datanode
    

    方法二
    在配置了worker和ssh免密登陆后,在namenode主机上执行

    sbin/stop-dfs.sh
    

    相关文章

      网友评论

          本文标题:Hadoop分布式安装部署

          本文链接:https://www.haomeiwen.com/subject/vjaywqtx.html