本文从新建一台新的虚拟机开始,来详细的阐述HDFS与Hbase如何动态的增删节点。
环境:
- CentOS-7-x86位
- jdk1.8.0_171
- zookeeper-3.4.10
- hadoop-2.7.3
- hbase-1.2.4
- master:192.168.193.140
- slave1: 192.168.193.141
- slave2:192.168.193.142
- slave3:192.168.193.143
一、基本配置
在做HDFS和Hbase的动态增删节点,需要提前准备一台新的虚拟机slave3
1.关闭防火墙
systemctl stop firewalld systemctl disabled firewalld #永久关闭防火墙 systemctl status firewalld #查看状态
2.修改主机名
hostnamectl set-hostname slave3 bash # 立即生效
3.修改时区
echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile && source /etc/profile
4.修改hosts文件(所有节点:master,slave1,slave2,slave3)
vi /etc/hosts 192.168.193.140 master 192.168.193.141 slave1 192.168.193.142 slave2 192.168.193.143 slave3
5.时间同步
yum install -y ntp && ntpdate master crontab -e */10 * * * * /usr/sbin/ntpdate master crontab –l
6.设置免密
#在slave3上 ssh-keygen -t rsa ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2 #其他节点 ssh-copy-id slave3
7.配置环境变量
vi /etc/profile #Java export JAVA_HOME=/usr/java/jdk1.8.0_171 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH #zookeeper export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10 export PATH=$PATH:$ZOOKEEPER_HOME/bin #hadoop export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3 export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib export PATH=$PATH:$HADOOP_HOME/bin source /etc/profile #生效环境变量
8. 安装JDK
因为之前在其他的节点上已经配置过jdk了,我们又设置了免密,所以我们可以把其他节点上的jdk发送到slave3节点上。
#在master上 scp -r /usr/java root@slave3:/usr/
可以用以下命令检查是否安装成功
java -version 成功则显示: java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
9.ZOOKEEPER动态增添节点
同上可以通过其他节点来传输
scp -r /usr/zookeeper root@slave3:/usr/
然后需要在原有的基础上添加slave3,此刻其他节点的zookeeper应该是开启的。
(在所有节点上) 在zookeeper的conf中修改zoo.cfg 文件
#加入 server.4=slave3:2888:3888
#修改slave3的myid 文件 vi myid 4 wq # 保存退出 #slav3上开启服务 zkServer.sh start # 查看状态(所有节点),结果应该是一个Leader,三个Follower zkServer.sh status
至此,基础配置部分就讲完了,下一篇文章将讲述HDFS动态增删节点



