共计 1768 个字符,预计需要花费 5 分钟才能阅读完成。
配置 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
}