| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 二十三、HadoopHA环境搭建(保姆篇,手把手搭建) -> 正文阅读 |
|
[大数据]二十三、HadoopHA环境搭建(保姆篇,手把手搭建) |
HDFS-HA集群配置环境准备:1.? ? 将各个机器修改为静态IP,见主页第十四篇文章:Linux设置静态IP及Ping通百度 2.??? 修改主机名及主机名和IP地址的映射,见主页第十一篇文章:修改主机名,IP映射 3.??? 关闭防火墙,见主页第九篇文章:永久关闭防火墙 4.??? ssh免密登录,见主页第九篇文章:同上 5.??? 安装JDK,配置环境变量等,见主页第九篇文章:同上 规划集群:
部署集群1.??? 集群规划在hadoopha101、hadoopha102和hadoopha103三个节点上部署Zookeeper。 2.??? 解压安装(1)解压Zookeeper安装包到/home/目录下。 (2)重命名apache-zookeeper-3.5.7-bin.tar.gz 为zookeeper。? ? (3)在zookeeper-3.5.7/安装目录下创建zkData。 (4)重命名/home/zookeeper/conf这个目录下的zoo_sample.cfg为zoo.cfg。 ? ?3.? ? 配置zoo.cfg文件?(1)具体配置,修改dataDir为真实路径,添加红框中的内容。 (2)配置参数解读 Server.A=B:C:D。 ????????A是一个数字,表示这个是第几号服务器; ????????B是这个服务器的IP地址; ????????C是这个服务器与集群中的Leader服务器交换信息的端口; ???????D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。 ????????集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。 ?4.??? 集群操作?(1)在/home/zookeeper/zkData目录下创建一个myid的文件。 ?(2)编辑myid文件。 ?在文件中添加与server对应的编号:如1 (3)拷贝配置好的zookeeper发到其他机器上。 ?并分别修改myid文件中内容为2、3 (4)分别启动zookeeper。 ? ? (5)查看状态。 ? ? ?配置HDFS-HA集群?(1)在opt目录下创建一个ha文件夹。 ?(2)将/home/hadoop/下的 hadoop目录拷贝到/opt/ha目录下。 ?(3)配置hadoop-env.sh。 ?(4)配置core-site.xml。
(5)配置hdfs-site.xml。
(6)在其他两台机器上创建 /opt/下的ha目录,将用于分发。 (7)将配置好的hadoop环境分发到其他节点。 ?5 .? ?启动HDFS-HA集群?1.??? 在各个JournalNode节点上(/opt/ha/hadoop),输入以下命令启动journalnode服务。 ? ?2.??? 对其hadoopha101进行格式化。? ?如图所示:0即为格式化无误,1请查看配置文件是否出错。 ?3.? ? ?启动第一台机器的namenode。 ?4.????????使用jps命令查看节点。 5.? ? ? 在hadoopha102机器上同步第一台机器的元数据信息。 ? ? ? ? 有两种方式同步:? ?1.在hadoopha102上使用如下图命令 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.将hadoopha101机器上的tmp目录拷贝到hadoopha102机器上。 ? 6.? ? ? ?启动第二台机器的namenode。? 7.? ? ? ?使用“hadoopha101:50070”命令在虚拟机浏览器查看web页面显示。? 6.??? 在第一台机器上,启动所有datanode。?注意:1.开启datanode之前此处slaves文件要确保修改为主机名,且不能有多余空格。 ????????????2.ssh配置完成。如未配置请移步:Hadoop完全分布式的搭建详情修改slaves文件配置ssh免密 ?7.??? 将第一台机器切换为Active。 8.? ? 查看是否Active。? 6? ? 配置HDFS-HA自动故障转移1.??? 具体配置 (1)在hdfs-site.xml中增加。
(2)在core-site.xml文件中增加。
2.??? 启动 (1)关闭所有HDFS服务: ?(2)启动Zookeeper集群: ?(3)初始化HA在Zookeeper中状态(此处格式化只格式化一次): ?(4)启动HDFS服务: ?(5)在各个NameNode节点上启动DFSZK Failover Controller,先在哪台机器启动,哪个机器的NameNode就是Active NameNode。 ?可以看到未切换前第一台机器为active,第二台机器为standby。 注意:如果发现第二台机器DFSZKFailoverController节点没有起来。则: ?(1)先停止所有dfs节点。sbin/stop-dfs.sh ?(2)分发/opt/ha/hadoop/etc/hadoop给第二三台机器。 ??????????scp -r /opt/ha/hadoop/etc/hadoop/ hadoopha102:/opt/ha/hadoop/etc/hadoop/ ??????????scp -r /opt/ha/hadoop/etc/hadoop/ hadoopha103:/opt/ha/hadoop/etc/hadoop/ (6)如图节点就都没问题了。 ?(7)验证 ? ? ? ? 现机器状态如第五步所示。 1、将Active NameNode进程kill。 ?2、查看是否进行了故障转移。 ? ?????????注意:可见第一台机器由于进程namenode被杀死直接网页找不到了,而同时第二台机器变为了active状态,这样就实现了自动故障转移,一旦active机器死机,自动故障转移就会将其他namenode机器变为active状态,实现自动故障转移。 YARN-HA配置?YARN-HA工作机制如图:配置YARN-HA集群:?1.??? 环境准备(雷同以上hdfs配置)(1)修改IP (2)修改主机名及主机名和IP地址的映射 (3)关闭防火墙 (4)ssh免密登录 (5)安装JDK,配置环境变量等 (6)配置Zookeeper集群 ?2.??? 规划集群
?3.??? 具体配置(1)yarn-site.xml配置????????
(2)同步更新其他节点的配置信息 ? ?4.? ?启动hdfs(1)在各个JournalNode节点上,输入以下命令启动journalnode服务:
(2)在[nn1]上,对其进行格式化,并启动(如果hdfsha初始化过就不需要再次初始化了):
(3)在[nn2]上,同步nn1的元数据信息:
(4)启动[nn2]:
(5)启动所有DataNode
5.? ?启动YARN(1)在hadoopha101中执行:
(2)在hadoopha102中执行:
(3)查看服务状态,如图所示 ? ?????????注意:yarnha和hdfsha有一些不同,hdfs使用群起命令都可以直接起来,而在yarn中使用群起命令不会全部机器都起来,需要手动启动,例如第二步单独启动第二台机器resourcemanager。yarn中能打开上图网页即为活跃状态。 至此,HadoopHA搭建完毕。见我的其他博客: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:19:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |