配置zookeeper
- 进入zookerper-3.4.7目录,执行
cp conf/zoo_sample.cfg conf/zoo.cfg
vim conf/zoo.cfg
- 配置文件如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoopadmin/temp/zookeeper/
clientPort=2181
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888
修改完成后拷贝配置内容,依次复制到其他Server下
相关配置介绍
* tickTime:CS通信心跳数;以毫秒为单位,可以使用默认配置。
* initLimit:LF初始通信时限;
* syncLimit:LF同步通信时限;数值不宜过高。
* dataDir:数据文件目录;
* dataLogDir:日志文件目录;
* clientPort:客户端连接端口;
* server.N:服务器名称与地址(服务编号,服务地址,LF通信端口,选举端口)
ZooKeeper高级配置
* gloabalOutstandingLimit:最大请求堆积属,默认1000;
* preAllocSize:预分配的Transaction log空间大小;
* snapCount:每进行snapCount次事务日志输出后,触发一次快照;
* maxClientCnxns:最大并发客户端数;
* forceSync:是否提交事务的同时同步到磁盘;
* leaderServes:是否禁止leader读功能;
* traceFile:是否记录所有请求的log;不建议使用
- 创建目录
mkdir /home/hadoopadmin/temp/zookeeper
- 建立Zookeeper节点标识文件myid
创建myid编号,依次在每台Server上执行,注意每台Server的myid要对应正确的编号
host1下输入
echo "1" > /home/hadoopadmin/temp/zookeeper/myid
host2下输入
echo "2" > /home/hadoopadmin/temp/zookeeper/myid
host3下输入
echo "3" > /home/hadoopadmin/temp/zookeeper/myid
- 配置环境变量并使环境变量立即生效
vim /etc/profile
在末尾加入以下命令(只有root用户才可以改哦)
export ZOOKEEPER_HOME=/home/saprk01/bigdata/zookeeper-3.4.10
export PATH=$ZOOKEEPER_HOME/bin:$PATH
完成后保存退出,并使环境变量立即生效
source /etc/profile
同样,在其它Server也要做同样的操作。
启动并监控状态
- 启动ZooKeeper
zkServer.sh start
- 检查ZooKeeper的状态
zkServer.sh status
- 这里需要注意下,各台Server的防火墙要关闭,要不可能会报错。关闭防火墙方法:
service iptables stop
- 执行后查询是否关闭
service iptables status
集群启动脚本
- 这里我写了一个集群启动脚本,基础环境(host、ssh、jdk等)都配置正确时,可以简单修改考虑使用
./start-all.sh start #启动每一台机器上的kafka
./start-all.sh status #查看启动状态
#!/bin/bash --login
#需要改成集群的机器名称
ZOOKEEPERS="spark01 spark02 spark03"
# 执行前需要在/etc/environment 配置jdk环境
command=$1
start $command $ZOOKEEPERS
start(){
for zookeeper in $2
do
echo "$1 zookeeper on $zookeeper"
#需要修改一下目录
ssh -l hadoopadmin $zookeeper "/home/hadoopadmin/zookeeper-3.4.10/bin/zkServer.sh $1"
#ssh -l hadoopadmin $zookeeper "java -version"
done
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。