美文网首页
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