<Zhuuu_ZZ>那些年我们踩过的Hadoop HA的坑--高可用集群
高可用集群
- 一.Hadoop集群OK
- 二.Zookeeper集群OK(时区同步OK)
- 三.修改Hadoop配置文件
- 1.`vi core-site.xml`
- 2.`vi hdfs-site.xml`
- 3.`vi mapred-site.xml`
- 4.`vi yarn-site.xml`
- 四.发送文件
- 五.启动集群
- 六.测试集群是否部署成功
一.Hadoop集群OK
链接: Hadoop集群配置详解.
二.Zookeeper集群OK(时区同步OK)
链接: Zookeeper集群与时区同步配置详解.
三.修改Hadoop配置文件
- 以往的配置全部删除,直接插入下方配置信息即可
首先转到配置文件下cd /opt/hadoop2.6.0/etc/hadoop/
1.vi core-site.xml
<configuration><!-- 指定hdfs的nameservice为ns --><property><name>fs.defaultFS</name><value>hdfs://ns</value></property><!-- 指定hadoop临时目录 --><property><name>hadoop.tmp.dir</name><value>/opt/hadoop2.6.0/tmp</value></property><!-- 指定zookeeper地址 --><property><name>ha.zookeeper.quorum</name><value>hadooptest1:2181,hadooptest2:2181,hadooptest3:2181</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property></configuration>
2.vi hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>3</value></property><!--当使用HA配置集群时,则不需要secondarynamenode<property><name>dfs.namenode.secondary.http-address</name><value>192.168.198.111:50090</value></property>--><!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 --><property><name>dfs.nameservices</name><value>ns</value></property><!-- ns下面有两个NameNode,分别是hadooptest1,hadooptest2--><property><name>dfs.ha.namenodes.ns</name><value>hadooptest1,hadooptest2</value></property><!-- hadooptest1的RPC通信地址 --><property><name>dfs.namenode.rpc-address.ns.hadooptest1</name><value>hadooptest1:9000</value></property><!-- hadooptest1的http通信地址 --><property><name>dfs.namenode.http-address.ns.hadooptest1</name><value>hadooptest1:50070</value></property><!-- hadooptest2的RPC通信地址 --><property><name>dfs.namenode.rpc-address.ns.hadooptest2</name><value>hadooptest2:9000</value></property><!-- hadooptest2的http通信地址 --><property><name>dfs.namenode.http-address.ns.hadooptest2</name><value>hadooptest2:50070</value></property><!-- 指定NameNode的元数据在JournalNode上的存放位置 --><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://hadooptest1:8485;hadooptest2:8485;hadooptest3:8485/ns</value></property><!-- 指定JournalNode在本地磁盘存放数据的位置 --><property><name>dfs.journalnode.edits.dir</name><value>/opt/hadoop2.6.0/journaldata</value></property><!-- 开启NameNode失败自动切换 --><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!-- 配置失败自动切换实现方式 --><property><name>dfs.client.failover.proxy.provider.ns</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行--><property><name>dfs.ha.fencing.methods</name><value>sshfenceshell(/bin/true)</value></property><!-- 配置sshfence隔离机制超时时间 --><property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property></configuration>
3.vi mapred-site.xml
<configuration><!-- 指定mr框架为yarn方式 --><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
4.vi yarn-site.xml
<configuration>
<!--非HA模式下指定resourcemanager
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadooptest1</value>
</property>
-->
<!-- 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>cluster_id</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>hadooptest1</value></property><property><name>yarn.resourcemanager.hostname.rm2</name><value>hadooptest2</value></property><property><name>yarn.resourcemanager.webapp.address.rm1</name><value>hadooptest1:8088</value></property><property><name>yarn.resourcemanager.webapp.address.rm2</name><value>hadooptest2:8088</value></property><!-- 指定zk集群地址 --><property><name>yarn.resourcemanager.zk-address</name><value>hadooptest1:2181,hadooptest2:2181,hadooptest3:2181</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
四.发送文件
在**/opt/hadoop2.6.0/etc/hadoop/**目录下将配置好的主机配置文件发送到集群里的其它机器上
scp *.xml hadooptest2:$PWD
scp *.xml hadooptest3:$PWD
当然也可以采用多开方式一起配置集群里的虚拟机,条条大路通罗马,只要没有Bug我们都是好朋友!!!
五.启动集群
若遇到Hadoop报错:NoRouteToHostException: No route to host,关掉所有节点防火墙systemctl disable firewalld
,重启所有节点机器reboot就好。
注:第一次启动集群需全部执行所有步骤,以后启动集群一般而言直接执行第5,6,7,10步就行啦。
1.确保集群处于关闭状态
2.集群所有机器启动journalnode:hadoop-daemon.sh start journalnode
3.集群所有机器删除tmp文件夹,选择主节点重新格式化hadoop namenode -format
4.把主节点新生成的tmp文件夹复制到备用节点:scp -r tmp hadooptest2:$PWD
。或者直接在备用节点输入hdfs namenode -bootstrapStandby
也可。
5.机器所有机器启动Zookeeper:zkServer.sh start
6.启动Hadoop集群: start-all.sh
7. 在备用节点上启动备用resourcemanager: yarn-daemon.sh start resourcemanager
8. 主节点格式化zkfc:hdfs zkfc -formatZK
9. 主,备节点启动zkfc:hadoop-daemon.sh start zkfc
10.启动历史服务:mr-jobhistory-daemon.sh start historyserver
六.测试集群是否部署成功
<Zhuuu_ZZ>那些年我们踩过的Hadoop HA的坑--高可用集群相关推荐
- Kubeadm HA 1.9 高可用 集群 本地离线部署
Kubeadm HA 1.9 高可用 集群 本地离线部署 k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9 ...
- 大数据系列(hadoop) Hadoop+Zookeeper 3节点高可用集群搭建
---恢复内容开始--- 一.集群规划 主机名 ip NameNode DataNode Yarn ZooKeeper JournalNode node01 192.168.1.201 是 是 否 是 ...
- 第七章 :Hadoop+Zookeeper 3节点高可用集群搭建和原理解释
一,原理 先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状 ...
- HA高可用集群与RHCS集群套件
一.HA基本概念 linux高可用集群(HA)原理详解:https://blog.csdn.net/xiaoyi23000/article/details/80163344 负载均衡.集群.高可用(H ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
Kubeadm HA 1.9 高可用 集群 本地离线部署 k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernet ...
- Hadoop的HA机制原理解析,与HA高可用集群环境搭建
2019独角兽企业重金招聘Python工程师标准>>> Hadoop的HA工作机制示意图 下面我们开始搭建这一套高可用集群环境 hadoop2.0已经发布了稳定版本了,增加了很多特性 ...
- Hadoop HA 高可用集群搭建
Hadoop HA 高可用集群搭建 一.首先配置集群信息 1 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 1 tar -zxvf zookeeper- ...
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...
- Hadoop HA 高可用集群启动报错 Encountered exception loading fsimage 解决方案
笔者在搭建好Hadoop HA 高可用集群启动时报如下错误,后面是解决方案. 报错信息: 2018-08-24 11:18:07,475 INFO org.apache.hadoop.hdfs.ser ...
最新文章
- Java 8 一行代码解决了空指针问题,太厉害了...
- HDU 1285--确定比赛名次【拓扑排序 amp;amp; 邻接表实现】
- 爱奇艺拟发行5亿美元可转换优先债券
- grub resourceunknown filesystem异常处理
- python读取csv文件的方法-python读取csv文件指定行的2种方法详解
- Linux系统下安装rz/sz命令及使用说明
- python爬虫获取方法_小白学python爬虫:2.获得数据
- java 继承 私有变量_java – 继承和私有变量
- c语言变量作为数组长度,为什么在C中不允许将数组的大小作为常量变量但在C中允许?...
- Android 升级到android studio 2.2项目死活run不起来
- 【倾情奉献】遥感物候研究:30年长时间序列遥感数据集GIMMS 3g NDVI产品预处理完整步骤
- json-server的使用
- android编辑配置文件,如何在android studio中修改配置文件
- EJB3.0零碎要点---在部署web本地客户端的时候org.apache.jasper.JasperException: java.lang.ClassCastException: $Proxy
- 天蝎座最适合的职业-天蝎座不同型血适合工作分析
- 第1章 Java基本概念及环境配置——FAQ1.05 Java SE. Java EE和Java ME有什么区别?
- 5G SA的网络架构和关键技术
- ArcMap制作3D地形图
- 洞洞板上的TQFP芯片的焊接模式
- std::bitset使用
热门文章
- java怎么实现复制粘贴的操作,java简单实现复制 粘贴 剪切功能代码分享
- 【解题报告】博弈专场 (CF 2000~2200)前五题
- jd脚本 v4-bot 镜像部署和配置bot机器人
- 深入多线程九:守护线程(代码示例)
- 邂逅JVM中的Bug
- 省时省力的PDF编辑技巧,不会实在可惜
- 艺赛旗(RPA)Python 学习之异常
- Java中正则表达式的使用
- `全网最细!! 入门必看Git教程链接:https://gitee.com/all-about-git`
- 寒冬,是修炼内功的最好机会