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文件中添加上边四行内容

服务器分配

ZKFC

Node1

Node2

Node3

Node4

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

编辑/etc/hadoop/hadoop-env.sh文件

找到JAVA_HOME配置位置,修改JAVA_HOME如下

export JAVA_HOME= /home/java/jdk1.8.0_144

  • 配置nameservice

  • 再配置所有namenode的名字

注意:此处的mycluster和上边指定的服务名一致,nn1 nn2位两个namenode名称

  • 配置RPC协议的端口,两个namenode都要配置

  • 配置HTTP协议的端口和主机

  • 配置journalnode

注意:此处的mycluster需要和服务名一样

  • 配置ConfiguredFailoverProxyProvider类,HDFS通过这个类来找到active的namenode

  • 配置ssh fencing

  • 配置journalnode的工作目录

  • 开启自动切换(可选),手动切换也可用

  • 配置namenode入口

注意:此处的mycluster需要和hdfs-site.xml文件中的nameservice名称一致

  • 配置zookeeper的集群,zookeeper所在的节点

  • 配置工作目录hadoop.tmp.dir 默认是在系统的临时目录下/tmp

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

./stop-dfs.sh

会停止除了zookeeper之外的所有进程

  • 启动hdfs

./start-dfs.sh

  • 启动成功

会发现有一个是active 一个是standby

在hdfs新建一个路径,上传文件

./hdfs dfs -mkdir -p /usr/file

./hdfs dfs -put /home/java/jdk-8u144-linux-x64.tar.gz /usr/file/

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

启动成功。

Original: https://blog.51cto.com/u_15680746/5373874
Author: 蹦擦擦蹦
Title: Hadoop-HA配置详细步骤

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/517484/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球