立即学习:https://edu.csdn.net/course/play/11032/239257?utm_source=blogtoedu
二 Zookeeper分布式集群
1.
jdk1.8
zookeeper-3.4.5-cdh5.10.0.tar.gz
hadoop-2.6.0-cdh5.10.0.tar.gz
用户规划 统一在hadoop用户下
目录规划
软件目录 /home/hadoop/app
脚本目录 /home/hadoop/tools
数据目录 /home/hadoop/data
2.搭建时间服务器
date 查看时间
改成CST上海时间 覆盖现在的时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
我已经是上海时间 不需要覆盖了
2.配置NTP时间服务器
检查NTP服务器是否安装
rpm -qa | grep ntp 查找是否存在
没有 就 yum install -y ntp 安装‘’
vi /etc/ntp.conf
改成自己的网段
restrict 192.168.214.131 mask 255.255.255.0 nomodify notrap
注释掉0-3服务器
添加两行 和本机硬件
server 127.127.1.0
fudge 127.127.1.0 stratum 10
保存
启动NTP服务
chkconfig ntpd on
在其他节点配置其他机器的定时时间同步 和主机localhost01保持
crontab -e
0-59/5 * * * * /usr/sbin/ntpdate localhost01 每五分钟同步一次
3.集群节点IP映射和防火墙配置
vi /etc/hosts
192.168.214.131 localhost01
192.168.214.132 localhost02
192.168.214.133 localhost03
永久关闭防火墙
systemctl disable firewalld
4.各个节点免密码登录
将localhost02 03的公钥id_rsa.pub拷贝到localhost01的authorized_keys文件中
cat ~/ .ssh/id_rsa.pub | ssh hadoop@localhost01 'cat >> ~/ .ssh/authorized_keys'
再把01 的公钥发布到02 03 上
在hadoop的ssh目录下
scp -r authorized_keys hadoop@localhost02:~/.ssh/
在每个节点下的ssh目录通过 ssh localhost01 测试
5.集群脚本配置文件开发脚本文件开发
在hadoop用户下的/home/hadoop/
下 mkdir tools
cd tools/
vi deploy.conf
#集群角色规划 localhost01,master,all,zk, localhost02,slave,all,zk, localhost03,slave,all,zk,
开发脚本
vi deploy.sh
给脚本添加权限
chmod u+x deploy.sh
测试使用
./deploy.sh 或者 sh deploy.sh
例如 将 deploy.conf 拷贝到 其他两个节点的/home/hadoop/下
./deploy.sh deploy.conf /home/hadoop/ slave
6.jdk安装
上传至/home/hadoop/app下
解压 解压后可以删除安装包
tar -zxvf jdk-8u51-linux-x64.tar.gz
rm -rf jdk-8u51-linux-x64.tar.gz
为了后期版本等的原因 创建软连接以免更改环境变量 只需要重新指向
ln -s jdk1.8.0_51 jdk
这样的指向jdk -> jdk1.8.0_51
配置环境变量 修改bashrc文件
进入jdk文件
vi ~/.bashrc
赋值粘贴
JAVA_HOME=/home/hadoop/app/jdk CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:/home/hadoop/tools:$PATH export JAVA_HOME CLASSPATH PATH 生效
source ~/.bashrc
查看jdk
java -version
同步到其他节点
在app目录下
Sh deploy.sh jdk1.8.0_51 /home/hadoop/app/ slave
然后节点 2 3 重复 都是app 下
ln -s jdk1.8.0_51 jdk
这样的指向jdk -> jdk1.8.0_51
配置环境变量 修改bashrc文件
进入jdk文件
vi ~/.bashrc
赋值粘贴
JAVA_HOME=/home/hadoop/app/jdk CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH #这里不一样 export JAVA_HOME CLASSPATH PATH 生效
source ~/.bashrc
查看jdk
java -version
7.zookeeper安装配置
上传至/home/hadoop/app下
解压 解压后可以删除安装包
tar -zxvf zookeeper-3.4.5-cdh5.10.0.tar.gz
rm -f zookeeper-3.4.5-cdh5.10.0.tar.gz
创建软连接
ln -s zookeeper-3.4.5-cdh5.10.0 zookeeper
修改 配置文件 进入zookeeper目录
进入 conf/
复制zoo_sample.cfg 到zoo.cfg
cp zoo_sample.cfg zoo.cfg
增加
dataDir=/home/hadoop/data/zookeeper/zkdata dataLogDir=/home/hadoop/data/zookeeper/zkdatalog
server.1=localhost01:2888:3888 server.2=localhost02:2888:3888 server.3=localhost03:2888:3888
回到app目录】同步其他节点
sh deploy.sh zookeeper-3.4.5-cdh5.10.0 /home/hadoop/app/ slave
在其他2 3节点创建软连接
ln -s zookeeper-3.4.5-cdh5.10.0 zookeeper
每个节点逐级规划目录
mkdir -p /home/hadoop/data/zookeeper/zkdata
mkdir -p /home/hadoop/data/zookeeper/zkdatalog
x修改每个节点服务编号
分别到每个节点进入
/home/hadoop/data/zookeeper/zkdata目录
创建文件myid 分别填充1、2、3
启动zookeeper
进入zookeeper目录 每个节点
sh /home/hadoop/app/zookeeper/bin/zkServer.sh start
查看状态 是否成功
sh /home/hadoop/app/zookeeper/bin/zkServer.sh status
查看并操作 在zookeeper目录下
bin/zkCli.sh