Zookeeper的安装与配置

Zookeeper 的安装与配置

Zookeeper下载

Zookeeper要求Java运行环境,并且需要jdk版本1.6以上
JDK下载地址
下载包:jdk-8u162-linux-x64.rpm
安装JDK:yum localinstall jdk-8u162-linux-x64.rpm
Zookeeper下载地址

Zookeeper安装

解压:tar -zxvf zookeeper-3.4.11.tar.gz -C /usr/local && cd /usr/local/
重命名:mv zookeeper-3.4.11/ zookeeper
修改环境变量 vim /etc/profile

#ZOOKEEPER配置
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

刷新配置:source /etc/profile

Zookeeper搭建方式

Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式
1.单机模式:Zookeeper只运行在一台服务器上,适合测试环境
2.伪集群模式:就是在一台物理机上运行多个Zookeeper 实例 (不推荐)
3.集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)

Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续,至少3台

1、Zookeeper的单机模式搭建

cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
修改配置文件:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/datalog
clientPort=2181

2、Zookeeper的集群模式搭建

创建myid
在dataDir(/data/zookeeper/data)目录创建myid文件
Server0机器的内容为:0
Server1机器的内容为:1
Server2机器的内容为:2

echo "0" > /data/zookeeper/data/myid
echo "1" > /data/zookeeper/data/myid
echo "2" > /data/zookeeper/data/myid
# 编写配置文件
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg

修改配置文件(三台服务器配置相同):

tickTime=2000 # 服务器之间或客户端与服务器之间的单次心跳检测时间间隔,单位为毫秒
initLimit=10  # 集群中leader服务器与follower服务器第一次连接最多次数
syncLimit=5   # leader与follower之间发送和应答时间,如果该follower在设置的时间内不能与leader进行通信,那么此follower将被视为不可用
dataDir=/data/zookeeper/data #自定义的zookeeper保存数据的目录
dataLogDir=/data/zookeeper/datalog
clientPort=2181 # 客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求
server.0=10.10.40.200:2888:3888 # 服务器编号=服务器IP:LF数据同步端口:LF选举端口
server.1=10.10.40.201:2888:3888
server.2=10.10.40.202:2888:3888

maxClientCnxns : 限制连接到zookeeper服务器客户端的数量 (可选参数)

Zookeeper启动

启动ZooKeeper的Server:zkServer.sh start
关闭ZooKeeper的Server:zkServer.sh stop
查看ZooKeeper的Server状态:zkServer.sh status

操作Zookeeper

执行zkCli.sh 进入zookeeper客户端

kafka单机安装

官方网站

# 下载 
wget http://mirrors.hust.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz
tar -xf kafka_2.11-2.1.0.tgz 
mv kafka_2.11-2.1.0 /usr/local/kafka
# 修改配置文件
vim /usr/local/kafka/config/server.properties
# node1上修改配置文件
broker.id=0         # 指定节点的ID号,不同节点ID必须不同
listeners=PLAINTEXT://10.10.40.200:9092  # 监听的ip和端口
log.dirs=/tmp/kafka-logs
log.retention.hours=24  #  日志保留的时间单位为小时
zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
# node2上修改配置文件
broker.id=1         # 指定节点的ID号,不同节点ID必须不同
listeners=PLAINTEXT://10.10.40.201:9092  # 监听的ip和端口
log.dirs=/tmp/kafka-logs
log.retention.hours=24  #  日志保留的时间单位为小时
zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
# node3上修改配置文件
broker.id=2         # 指定节点的ID号,不同节点ID必须不同
listeners=PLAINTEXT://10.10.40.202:9092  # 监听的ip和端口
log.dirs=/tmp/kafka-logs
log.retention.hours=24  #  日志保留的时间单位为小时
zookeeper.connect=10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181  # zookeeper集群IP端口
# 启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 
# 查看启动日志
tail -f /usr/local/kafka/logs/server.log

kafka 操作命令

## 单机版
# 创建Topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 1 --replication-factor 1 --topic  syslog
# 查看Topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
# 获取Topic信息
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic syslog
# 删除Topic
/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic syslog

## 集群版本
# 创建Topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --partitions 3 --replication-factor 3 --topic  syslog
# 查看Topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181
# 获取Topic信息
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --topic syslog
# 删除Topic
/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 10.10.40.200:2181,10.10.40.201:2181,10.10.40.202:2181 --topic syslog
原文地址:https://www.cnblogs.com/Mrhuangrui/p/8487342.html