Hadoop-高可用(HA)集群搭建
前言
- test
基础准备
软件及环境准备
| 软件名称 | 版本 | 描述 |
|---|---|---|
| VirtualBox或VMware | 14 | |
| CentOS7 | 7.5 | |
| JDK | 1.8 | |
| Hadoop | 3.1.2 | hadoop-3.1.2.tar.gz |
机器节点规划
- Hadoop五个节点HA规划
| HostName | IP | NameNode | DataNode | ZooKeeper | ZKFC | JouaryNode |
|---|---|---|---|---|---|---|
| node1 | 192.168.233.101 | * | * | |||
| node2 | 192.168.233.102 | * | * | |||
| node3 | 192.168.233.103 | * | * | * | ||
| node4 | 192.168.233.104 | * | * | * | ||
| node5 | 192.168.233.105 | * | * | * |
注:ZooKeeper和JouaryNode是可以共享的
相关路径创建
- 基础软件安装配置路径
| 路径 | 注释 |
|---|---|
| /opt/basics | 基础路径 |
| /opt/basics/java/ | JDK路径 |
| /opt/bigdata/hadoop/ | Hadoop路径 |
| /opt/bigdata/zookeeper/ | ZooKeeper安装路径 |
系统基础配置(root用户)
基本组件安装
安装net-tools vim wge ntp 等基础工具
1
yum install -y net-tools vim* wget ntp telnet
注:如果系统是最小化安装的,以上工具组件可能没有集成,需要另外安装
设置HostName和Hosts
根据规划将下面内容写入hosts
192.168.233.101 node1
192.168.233.102 node2
192.168.233.103 node3
192.168.233.104 node4
192.168.233.105 node5
关闭SELINUX
临时关闭
1
setenforce 0
永久关闭
1
vim /etc/selinux/config
SELINUX=disabled #将SELINUX的值由enforcing改为disabled
设置静态IP地址
-
注:IP根据自己的节点规划进行相应的配置
关闭防火墙
配置免密登陆
-
需要免密钥的两种场景:
管理脚本:远程管理其他节点启停服务时需要免密钥
NameNode:搭建HA的时候,需要免密钥控制对方和自己
环境配置
JDK环境配置
ZooKeeper分布式集群搭建配置
-
注:根据节点规划,调整相应的配置
Hadoop相关配置
安装及环境变量配置
创建Hadoop路径
1
mkdir -p /opt/basics/hadoop/
将事先准备好的hadoop-3.1.2.tar.gz文件上传至/opt/basics/hadoop路径
执行解压命令
1
tar -xvzf hadoop-3.1.2.tar.gz
配置环境变量,在末尾追加hadoop相关配置
1
vim ~/.bashrc
HADOOP_HOME=/opt/basics/hadoop/hadoop-3.1.2
HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_HOME HADOOP_CONF_DIR YARN_CONF_DIR PATH使配置立即生效
1
source ~/.bashrc
验证是否安装成功
1
hadoop version
Hadoop配置
切换到hadoop路径下
1
cd $HADOOP_HOME/etc/hadoop
注:本章节下文配置均在此目录中
| 涉及文件 | 描述 |
| ————- | ————————- |
| hadoop-env.sh | |
| core-site.xml | |
| workers | DataNode节点信息 |
| hdfs-site.xml | SecondaryNameNode相应内容 |
| | |
| | |
编辑core-site.xml文件,配置NameNode相应内容
1
vi core-site.xml
fs.defaultFS
hdfs://node1:9000
hadoop.tmp.dir
/var/bigdata/hdfs/full
io.file.buffer.size
4096
编辑workers文件,配置DataNode相应内容
1
vi workers
node3
node4
node5
编辑hdfs-site.xml文件,配置SecondaryNameNode相应内容
1
vi hdfs-site.xml
dfs.replication
3
dfs.namenode.secondary.http-address
node2:9001
dfs.webhdfs.enabled
true
格式化NameNode
执行格式化NameNode
1
hdfs namenode -format
启动hdfs
1
start-dfs.sh
访问hdfs
访问下面地址
1
http://192.168.233.101:9870
注:Hadoop从3.1.0开始hdfs默认访问端口从50070改为9870