Hadoop-HA配置详细步骤
1. HA服务器配置
对hdfs做高可用
1.1服务器详情
服务器:centos7
Hadoop:2.6.5
Jdk:1.8
共四台服务器
192.168.1.111 node1
192.168.1.112 node2
192.168.1.113 node3
192.168.1.114 node4
在每台服务器的/etc/hosts文件中添加上边四行内容
服务器分配
|
NN |
DN |
ZK |
ZKFC |
JN |
RM |
DM |
|
|
Node1 |
1 |
1 |
1 |
1 |
|||
|
Node2 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
Node3 |
1 |
1 |
1 |
1 |
|||
|
Node4 |
1 |
1 |
1 |
Journalnode:需要为奇数个
Zookeeper:需要为奇数个
ZKFS和NN在同台服务器
DM和DN保持一致。
1.2配置免密登录
- 在每台服务器分别生成各自的公钥私钥
命令如下
ssh-keygen –t rsa –P ‘’ –f ~/.ssh/id_rsa
此时查看 ~/.ssh目录下,会有两个文件,id_rsa(私钥)、id_rsa.pub(公钥)
- 将id_rsa.pub文件内容拼接到每台服务器的~/.ssh/authorized_keys文件
命令如下
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
每台服务器都需要拼接四次,包括本节点及其它三个节点的,配置完成后,即可免密登录其它节点
1.3Hadoop配置
此处使用的hadoop版本为2.6.5
1.3.1 hadoop-env.sh
编辑/etc/hadoop/hadoop-env.sh文件
找到JAVA_HOME配置位置,修改JAVA_HOME如下
export JAVA_HOME= /home/java/jdk1.8.0_144
1.3.2 hdfs-site.xml(/etc/hadoop/hdfs-site.xml)
- 配置nameservice
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
- 再配置所有namenode的名字
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
注意:此处的mycluster和上边指定的服务名一致,nn1 nn2位两个namenode名称
- 配置RPC协议的端口,两个namenode都要配置
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>machine1.example.com:</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>machine2.example.com:</value>
</property>
- 配置HTTP协议的端口和主机
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>node1:</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>node2:</value>
</property>
- 配置journalnode
<!-- 配置journalnode --> <property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node2:8485;node3:8485;node4:8485/mycluster</value>
</property>
注意:此处的mycluster需要和服务名一样
- 配置ConfiguredFailoverProxyProvider类,HDFS通过这个类来找到active的namenode
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
- 配置ssh fencing
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
- 配置journalnode的工作目录
<!--配置journalnode的工作目录-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/journalnode/data</value>
</property>
- 开启自动切换(可选),手动切换也可用
<!--开启自动切换(可选)-->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
1.3.3 core-site.xml
- 配置namenode入口
<!--配置namenode入口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
注意:此处的mycluster需要和hdfs-site.xml文件中的nameservice名称一致
- 配置zookeeper的集群,zookeeper所在的节点
<!--配置zookeeper的集群-->
<property>
<name>ha.zookeeper.quorum</name>
<value>node1:,node2:,node3:</value>
</property>
- 配置工作目录hadoop.tmp.dir 默认是在系统的临时目录下/tmp
<!--配置hadoop的工作目录,默认在系统的临时目录下/tmp-->
<property>
<name>hadoop.tmp.dir </name>
<value>/opt/hadoop2</value>
</property>
1.3.4 slaves配置datanode
node2
node3
node4
不需要配master了,因为没有secondarynamenode,journalnode替代了它
2启动hdfs
- 先将zookeeper启动起来 ./zkServer.sh start
- 必须先启动journalnode
需要在node2、3、4启动journalnode
命令 ./hadoop-daemon.sh start journalnode
- 在任意一个namenode上格式化
在node1上格式化namenode
./hdfs namenode –format
注意centos关闭防火墙一定要用systemctl stop firewalld
格式化后,在/opt/hadoop2下就会有元数据文件了
- 将node1上的元数据文件拷贝到node2中
- 必须先启动node1中的namenode
./hadoop-daemon.sh start namenode
- 在没有格式化namenode的节点上(node2)上执行命令
./hdfs namenode –bootstrapStandby
命令成功执行后,在/opt/hadoop2/下就会有元数据文件了
- 格式化zk,在任意一台namenode节点上
hdfs zkfc -formatZK
- 停止hdfs
./stop-dfs.sh
会停止除了zookeeper之外的所有进程
- 启动hdfs
./start-dfs.sh
[root@localhost sbin]# ./start-dfs.sh Starting namenodes on [node1 node2] node2: starting namenode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-namenode-node2.out node1: starting namenode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-namenode-node1.out node4: starting datanode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-datanode-node4.out node3: starting datanode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-datanode-localhost.out node2: starting datanode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-datanode-node2.out Starting journal nodes [node2 node3 node4] node4: starting journalnode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-journalnode-node4.out node3: starting journalnode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-journalnode-localhost.out node2: starting journalnode, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-journalnode-node2.out Starting ZK Failover Controllers on NN hosts [node1 node2] node2: starting zkfc, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-zkfc-node2.out node1: starting zkfc, logging to /home/hadoop/hadoop-2.6./logs/hadoop-root-zkfc-node1.out [root@localhost sbin]# jps Jps DFSZKFailoverController QuorumPeerMain NameNode
- 启动成功
会发现有一个是active 一个是standby
- 测试
在hdfs新建一个路径,上传文件
./hdfs dfs -mkdir -p /usr/file
./hdfs dfs -put /home/java/jdk-8u144-linux-x64.tar.gz /usr/file/
3.配置mapreduce
3.1 mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.2 yarn-site.xml
<!--resourcemanager在哪台服务器上-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</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>
4.全面启动
- 需要先将hdfs停掉
在node1上./stop-dfs.sh
- 全面启动
Node1上 ./start-all.sh
jps查看进程
[root@node1 sbin]# jps
6977 NameNode
7603 Jps
3302 QuorumPeerMain
7244 DFSZKFailoverController
7327 ResourceManager
启动成功。
Hadoop-HA配置详细步骤的更多相关文章
- OPGL+GLFW+GLEW配置详细步骤
转载自:https://blog.csdn.net/weixin_40921421/article/details/80211813 本文设计的工具包: 链接:https://pan.baidu.co ...
- OPGL+VS2017+GLFW+GLEW配置详细步骤
OPGL+VS2017+GLFW+GLEW配置详细步骤: https://blog.csdn.net/weixin_40921421/article/details/80211813 原博客地址:ht ...
- Apollo 配置详细步骤(Windows环境)
一. 准备工作 1.下载 apollo 安装包 下载链接:http://activemq.apache.org/apollo/download.html 2.下载 JavaJDK 安装包 ( apol ...
- CentOS Hadoop安装配置详细
总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs.mapreduce等主从关系. 1.环境,3台CentOS7,64位,Hadoo ...
- 【Hadoop】Hadoop HA 部署 详细过程(架构、机器规划、配置文件、部署步骤)
1.概念.架构 2.配置文件示例.部署步骤 hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.4.1又增加了YARN HA 注意:apac ...
- hadoop HA 配置 + zookeeper 服务注册
环境测试 6台机器 centos6.7 x64 master ( namenode/cluster ) 10.10.100.101 namenode1 10.10.100.105 namenode2 ...
- PERC H310 配置详细步骤【阵列RAID创建】【阵列恢复】【阵列池创建】
机器配置: HP PRO6300 二手淘的201912,HP的主板芯片Intel Q75芯片组,集成显卡(集成显卡与H310阵列卡冲突),CPU Intel I5 3450 [raid5阵列创建] 1 ...
- Oracle Stream配置详细步骤
1 引言 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication.Oracle Stream利用高级队列技 ...
- lab_0 清华大学ucore实验环境配置详细步骤!(小白入)
实验步骤 1.下载项目 从github上 的https://github.com/kiukotsu/ucore下载 ucore lab实验: git clone https://github.com/ ...
随机推荐
- POI 实现合并单元格以及列自适应宽度
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...
- Eclipse注释模板设置
设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元 ...
- Linux上部署Java应用+Python3环境搭建
给了Linux的测试环境,目前需要install JDK, Tomcat,此处记录下小白的操作过程. 1. 查询Linux发行版本,包括内核信息 (1) Linux查询内核信息 $ uname -a ...
- inline用于替代宏函数
在C&C++中 一.inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 表达式形式的宏定义一例: #define ExpressionName(Va ...
- Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展
Elasticsearch是一个基于Lucene,提供了一个分布式多用户能力的全文搜索引擎.其他就不多说了,官方文档有详细的介绍. 我自己是在CentOS 7.0安装的 Elasticsearch 是 ...
- openresty 定时器
[1]nginx定时器应用 (1)文件目录结构 (2)nginx.conf配置 lua_package_path "/usr/local/lib/ubcsrvd/lualib/?.lua;; ...
- #define的使用方法体会
#define 创建一个宏,该宏是标识符或參数化标识符与标记字符串的关联. 在定义宏之后.编译器可用标记字符串替换源文件里标识符的每一个匹配项. 双击以所有折叠.">语法 #defin ...
- Cross Frame Script (跨框架脚本) 攻击
一.Cross Frame Script (跨框架脚本) 攻击 什么是Cross Frame Script? 很简单,做个实验就知道了.把下面的这段HTML代码另存为一个html文件,然后用ie浏览器 ...
- OGEngine教程:字体工具使用
1.打开 BitmapFont tool,在红框中输入你要显示的字. 2.写完后保存字体文件 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvT3Jhbmdl ...
- 九度OJ 1356:孩子们的游戏(圆圈中最后剩下的数) (约瑟夫环)
时间限制:10 秒 内存限制:32 兆 特殊判题:否 提交:1333 解决:483 题目描述: 每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为JOBDU的资深 ...