本文为linux centOS 7环境的安装与部署
1、安装zookeeper
从官网镜像中下载 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
通过以下命令,解压安装包
tar -zxvf zookeeper-3.5.6-bin.tar.gz -C /opt/source
2、目录结构:
- bin目录
zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。 - conf目录
配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。 - lib
zk依赖的包。 - contrib目录
一些用于操作zk的工具包。 - recipes目录
zk某些用法的代码示例
3、添加zoo.cfg文件,文件基本信息
复制zoo_sample.cfg ,否则运行会报错 ,需要zoo.cfg文件
cp zoo_sample.cfg zoo.cfg
配置文件信息
- initLimit
ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。 - syncLimit
配置follower和leader之间发送消息,请求和应答的最大时间长度。 - tickTime
tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。 - dataDir
其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。
4、运行命令
进入bin目录
- sh zkServer.sh start 启动
- sh zkServer.sh status 查看状态
- sh zkServer.sh stop 关闭
- sh zkCli.sh 进入客户端
- sh zkCli.sh -server 192.168.11.1 连接其他服务器
5.安装kafka
1.下载kafka
2.解压到/opt/source
tar -zxvf kafka_2.11-1.0.0.tgz -C /opt/Source
3.修改kafka_2.11-2.3.0/config/server.properties ip改为127.0.0.1
4.启动zookeeper
sh zkServer.sh start
5.启动kafka
bin/kafka-server-start.sh config/server.properties
6.创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
7.查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
8.启动producer发送消息
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message
9.启动consumer接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning