最新Hadoop HA搭建,2024年最新大数据开发虚拟机原理深入解析

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


       ha.zookeeper.quorum
       zzy01:2181,zzy02:2181,zzy03:2181
   
   
   
       ha.zookeeper.session-timeout.ms
       30000
       ms
   
   
   
       fs.trash.interval
       1440
   



###### 3、 配置hdfs-site.xml (zzy01,zzy02,zzy03)



vim /opt/hadoop/server/hadoop-3.2.4/etc/hadoop/hdfs-site.xml


* 添加如下配置:

 
               dfs.qjournal.start-segment.timeout.ms        60000                    dfs.nameservices        mycluster                    dfs.ha.namenodes.mycluster        zzy01,zzy02                    dfs.namenode.rpc-address.mycluster.zzy01        zzy01:8020                    dfs.namenode.rpc-address.mycluster.zzy02        zzy02:8020                    dfs.namenode.http-address.mycluster.zzy01        zzy01:9870                    dfs.namenode.http-address.mycluster.zzy02        zzy02:9870                    dfs.namenode.shared.edits.dir        qjournal://zzy01:8485;zzy02:8485;zzy03:8485/mycluster                    dfs.client.failover.proxy.provider.mycluster        org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider                    dfs.ha.fencing.methods                   sshfence           shell(/bin/true)                        dfs.permissions.enabled        false                dfs.support.append        true                    dfs.ha.fencing.ssh.private-key-files        /root/.ssh/id_rsa                        dfs.namenode.name.dir        /opt/hadoop/data/tmp/name                dfs.datanode.data.dir        /opt/hadoop/data/tmp/data                    dfs.journalnode.edits.dir        /opt/hadoop/data/tmp/journal                    dfs.ha.automatic-failover.enabled        true                    dfs.webhdfs.enabled        true                    dfs.ha.fencing.ssh.connect-timeout        30000                ha.failover-controller.cli-check.rpc-timeout.ms        60000     ```
4、 配置mapred-site.xml

不需要变更

5、 配置yarn-site.xml (zzy01,zzy02,zzy03)
vim /opt/hadoop/server/hadoop-3.2.4/etc/hadoop/yarn-site.xml
  • 添加如下配置:
<configuration>
    <!-- Site specific YARN configuration properties -->
    <!-- 开启 RM 高可用 -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <!-- 指定 RM 的 cluster id -->
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yrc</value>
    </property>
    <!-- 指定 RM 的名字 -->
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <!-- 分别指定 RM 的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>zzy01</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>zzy02</value>
    </property>
    <!--在namenode1上配置rm1,在namenode2上配置rm2,注意:一般都喜欢把配置好的文件远程复制到其它机器上,但这个在YARN的另一个机器上一定要修改 -->
    <property>
        <name>yarn.resourcemanager.ha.id</name>
        <value>rm1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>zzy01:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address.rm1</name>
        <value>zzy01:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm1</name>
        <value>zzy01:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
        <value>zzy01:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>zzy02:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address.rm2</name>
        <value>zzy02:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm2</name>
        <value>zzy02:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
        <value>zzy02:8031</value>
    </property>
    <!-- 指定 zk 集群地址 -->
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>zzy01:2181,zzy02:2181,zzy03:2181</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</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>
    <!-- 启用自动恢复 -->
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>
    <!-- 制定 resourcemanager 的状态信息存储在 zookeeper 集群上 -->
    <property>
        <name>yarn.resourcemanager.store.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
    <!-- 白名单
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN
_HOME,HADOOP_MAPRED_HOME</value>
    </property>  -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://zzy01:19888/jobhistory/logs</value>
    </property>
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.application.classpath</name>
        <value>/opt/hadoop/server/hadoop-3.2.4/etc/hadoop:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/common/lib/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/common/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/hdfs:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/hdfs/lib/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/hdfs/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/mapreduce/lib/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/mapreduce/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/yarn:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/yarn/lib/*:/opt/hadoop/server/hadoop-3.2.4/share/hadoop/yarn/*</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>6</value>
    </property>
    <property>
        <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
        <value>0.6</value>
    </property>
</configuration>
6、 创建tmp , logs, tmp/下创建name,data,journal目录 (zzy01,zzy02,zzy03)
mkdir /opt/hadoop/data/tmp/name
mkdir /opt/hadoop/data/tmp/data
mkdir /opt/hadoop/data/tmp/journal
三、启动集群(HA)
1、启动zookeeper集群并查看状态 (zzy01,zzy02,zzy03)
# 进入到每个DN节点,启动ZK服务
/opt/zookeeper-3.9.1/bin/zkServer.sh start
# 查看ZK状态
/opt/zookeeper-3.9.1/bin/zkServer.sh status
# 本次我们配置了三个DN节点,会出现一个leader和两个follower。输入jps,会显示启动进程:QuorumPeerMain
2、启动全部机器的 journalnode 服务 (zzy01,zzy02,zzy03)

进入/opt/hadoop/server/hadoop-3.2.4/安装目录下

[root@zzy01 bin]# cd /opt/hadoop/server/hadoop-3.2.4
[root@zzy01 hadoop-3.2.4]# ./sbin/hadoop-daemon.sh start journalnode
starting journalnode, logging to /opt/hadoop/server/hadoop-3.2.4/logs/hadoop-root-journalnode-zzy01.out
​
[root@zzy02 zookeeper]# cd /opt/hadoop/server/hadoop-3.2.4/
[root@zzy02 hadoop-3.2.4]# ./sbin/hadoop-daemon.sh start journalnode
starting journalnode, logging to /opt/hadoop/server/hadoop-3.2.4/logs/hadoop-root-journalnode-zzy02.out
​
[root@zzy03 zookeeper]# cd /opt/hadoop/server/hadoop-3.2.4/
[root@zzy03 hadoop-3.2.4]# ./sbin/hadoop-daemon.sh start journalnode
starting journalnode, logging to /opt/hadoop/server/hadoop-3.2.4/logs/hadoop-root-journalnode-zzy03.out
​
# 输入jps显示启动进程:JournalNode。


![img](https://img-blog.csdnimg.cn/img_convert/b3dff24c54140e1268ab39d4ee2c1d97.png)
![img](https://img-blog.csdnimg.cn/img_convert/7f7facb18cda7b4f32c7a437e104b8bc.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**


[外链图片转存中...(img-bmk3IckJ-1715495206814)]
[外链图片转存中...(img-SsUwN2Xv-1715495206814)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值