107 lines
2.6 KiB
Markdown
107 lines
2.6 KiB
Markdown
### Zookeeper脚本配置
|
||
- 拷贝ips
|
||
```bash
|
||
cp ips ips_zookeeper
|
||
```
|
||
修改为
|
||
```bash
|
||
nn1
|
||
nn2
|
||
nn3
|
||
```
|
||
- 拷贝三个脚本
|
||
```bash
|
||
cp scp_all.sh scp_all_zookeeper.sh
|
||
cp ssh_all.sh ssh_all_zookeeper.sh
|
||
cp ssh_root.sh ssh_root_zookeeper.sh
|
||
```
|
||
- 修改脚本
|
||
```shell
|
||
vim scp_all_zookeeper.sh
|
||
vim ssh_all_zookeeper.sh
|
||
vim ssh_root_zookeeper.sh
|
||
```
|
||
|
||
将三个脚本中的ips改为ips_zookeeper
|
||
### Zookeeper安装
|
||
- 上传到`/tmp`目录下,解压
|
||
```bash
|
||
sudo tar -zxvf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/
|
||
scp -r /usr/local/zookeeper-3.4.8/ root@nn2:/usr/local/
|
||
scp -r /usr/local/zookeeper-3.4.8/ root@nn3:/usr/local/
|
||
ssh_root_zookeeper.sh chown -R hadoop:hadoop /usr/local/zookeeper-3.4.8
|
||
ssh_root_zookeeper.s ln -s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeper
|
||
```
|
||
### Zookeeper配置
|
||
- zoo.cfg配置
|
||
```bash
|
||
cd /usr/local/zookeeper/conf/
|
||
cp zoo_sample.cfg zoo.cfg
|
||
```
|
||
然后`vim zoo.cfg`,修改如下:
|
||
```properties
|
||
# 修改dataDir
|
||
dataDir=/data/zookeeper
|
||
# 添加一下内容
|
||
server.1=nn1:2888:3888
|
||
server.2=nn2:2888:3888
|
||
server.3=nn3:2888:3888
|
||
```
|
||
分发给nn2、nn3
|
||
`scp_all_zookeeper.sh /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/`
|
||
|
||
- `zkEnv.sh`配置
|
||
`vim /usr/local/zookeeper/bin/zkEnv.sh`
|
||
![[images/000001.png]]
|
||
分发到nn2、nn3
|
||
```bash
|
||
scp_all_zookeeper.sh /usr/local/zookeeper/bin/zkEnv.sh /usr/local/zookeeper/bin/
|
||
```
|
||
- 创建zookeeper数据目录
|
||
```bash
|
||
ssh_root_zookeeper.sh mkdir -p /data/zookeeper
|
||
ssh_root_zookeeper.sh chown -R hadoop:hadoop /data
|
||
```
|
||
- 创建myid文件
|
||
```bash
|
||
ssh nn1 'echo "1" > /data/zookeeper/myid'
|
||
ssh nn2 'echo "2" > /data/zookeeper/myid'
|
||
ssh nn3 'echo "3" > /data/zookeeper/myid'
|
||
```
|
||
- 配置Zookeeper环境变量
|
||
```bash
|
||
# 在其他所有主机也执行
|
||
sudo chown -R hadoop:hadoop /etc/profile.d/myEnv.sh
|
||
```
|
||
|
||
```bash
|
||
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile.d/myEnv.sh
|
||
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile.d/myEnv.sh
|
||
```
|
||
|
||
```bash
|
||
# 分发到nn2、nn3
|
||
scp_all_zookeeper.sh /etc/profile.d/myEnv.sh /etc/profile.d/
|
||
# source 环境变量
|
||
ssh_all_zookeeper.sh source /etc/profile
|
||
```
|
||
### Zookeeper的命令
|
||
```bash
|
||
#启动zk服务
|
||
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start
|
||
#查看每个机器ZK运行的状态
|
||
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh status
|
||
#整体停止服务
|
||
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh stop
|
||
#重启zk服务
|
||
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh restart
|
||
```
|
||
|
||
```shell
|
||
#启动zookeeper客户端,并连接zookeeper集群
|
||
/usr/local/zookeeper/bin/zkCli.sh -server nn1:2181
|
||
# 可以简化为:
|
||
zkCli.sh
|
||
```
|
||
|