3 个节点的 Hadoop 3.x 安装配置【已测试】

准备机器信息:

192.168.1.110 master
192.168.1.120 worker120
192.168.1.121 worker121  # hadoop 3 使用 worker文件 而不是 slave文件 记录数据节点

环境准备步骤:

第一步:配置机器免密,这一步教程很多,不赘述。

第二步:这 3 个机器 设置 /etc/hosts 文件增加如下值,注意 ip对应的host不要重复:

 

192.168.1.110 master
192.168.1.120 worker120
192.168.1.121 worker121

 第三步:安装 Java 并配置 环境变量


配置Hadoop 3 的各个配置文件: 

说明在 master 机器上配置好如下文件后,将 安装包拷贝至各个机器上,需要配置的文件列表如下:

hadoop-3.2.0/etc/hadoop/core-site.xml
hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hadoop-3.2.0/etc/hadoop/mapred-site.xml
hadoop-3.2.0/etc/hadoop/yarn-site.xml
hadoop-3.2.0/etc/hadoop/worker # 注意,要用 worker 而不是 slave 文件

 

<!-- core-site.xml 文件 -->
<configuration>
    
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000<value>
    </property>

    <!-- 配置 hadoop 文件的 基础目录,请确保该目录已被手动创建。hadoop 有很多目录地址配置的参数,如果这些参数没配置,都会默认放到 hadoop.tmp.dir 指定的目录下 -->
    <property>
	    <name>hadoop.tmp.dir</name>
        <value>/home/chudu/hdfs<value> 
    </property>
    
</configuration>

 

 

<!-- hdfs-site.xml 配置文件-->
<configuration>
    
    <!-- 数据分片数 -->
    <property>
            <name>dfs.replication</name>
            <value>2</value>
    </property>

    <!-- 指定 namenode 地址,端口。hadoop 自带的 Web 管理页面将通过这个端口访问-->
    <property>
           <name>dfs.namenode.http-address</name>
           <value>master:50070</value>
    </property>

    <!-- namenode 的元数据目录,我们放到core-site.xml配置的 hadoop.tmp.dir 指定的目录中-->
    <property>
          <name>dfs.namenode.name.dir</name>
          <value>/home/chudu/hdfs/name</value>
    </property>
    
    <!-- namenode 的数据目录,我们放到core-site.xml配置的 hadoop.tmp.dir 指定的目录中-->
    <property>
          <name>dfs.datanode.data.dir</name>
          <value>/home/chudu/hdfs/data</value>
    </property>
   
    <property>
          <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
          <value>false</value>
    </property>

    <!-- 重要参数,文档都没有提及。默认 localhost 
         引发问题:如果不配,利用 “bin/hdfs dfsadmin -report” 命令看到有 2 个 数据节点,Web界面的 Live Nodes 也统计到 2 个节点,但是 点击进去的 datanode 列表 却只有 1 条 记录。
         解决方法1:用该配置属性为每个节点配置不同的 hostname;
         解决方法2:设置 Linux 系统的hostname,将 /etc/sysconfig/network 文件修改为如下
         NETWORKING=yes
         HOSTNAME=worker120  ## 每台机器分配一个不同的hostname 
    -->
    <property>
	      <name>dfs.datanode.hostname</name>
	      <value>master</value>
    </property>

</configuration>

 

<!-- mapred-site.xml 配置 -->
<configuration>
    <!-- 使用 yarn 作为资源管理 -->
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
</configuration>
<!-- yarn-site.xml 配置-->
<configuration>

    <!-- 这里的 master 是指 192.168.1.110 -->
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master<alue>
    </property>

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

</configuration>

 

#  worker 文件中的 datanode 节点 配置,请勿拷贝本行
worker120
worker121
#格式化集群
./hadoop-3.2.0/bin/hdfs dfsadmin -format

# 在 master ( 192.168.1.110 ) 上启动集群
./hadoop-3.2.0/sbin/start-all.sh

# 集群信息报告
./hadoop-3.2.0/bin/hdfs dfsadmin -report

上面配置完成后,访问地址:http://192.168.1.110:9870 即可进入管理页:

 

 


不停机增加节点

参考上述说明,配置好datanode节点。然后:

# 启动  datanode
./hadoop-3.2.0/sbin/hadoop-daemon.sh start datanode

# 启动 nodemanager 
./hadoop-3.2.0/sbin/yarn-daemon.sh start nodemanager


# 然后到 Name node 机器刷新节点配置
./hadoop-3.2.0/bin/hdfs dfsadmin -refreshNodes

# 数据 均衡处理
./hadoop-3.2.0/sbin/start-balancer.sh

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值