kafka 部署文档
前言:kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。
环境介绍:
- Java环境(kafka新版本要求Java8)
- Zookeeper环境
- 服务器10.154.7.181,10.154.2.27
步骤一:zookeeper安装部署
1 )下载zookeeper安装包
http://www.apache.org/dyn/closer.cgi/zookeeper/
2)在两台服务器上分别解压到指定目录
tar -zxvf zookeeper-3.4.14.tar.gz -C /app/soft/
3)重命名
cd /app/soft/
mv zookeeper-3.4.14 zookeeper #重命名zookeeper
mv zookeeper/conf/zoo_sample.cfg zoo.cfg #重命名配置文件
4)配置环境变量 vi /etc/profile
![profile](D:\suyan\部署文档\kafka部署文档\profile.jpg
立即生效
source /etc/profile
5)分别修改zoo.cfg
dataDir=/app/soft/zookeeper/data
dataLogDir=/app/soft/log/zookeeper
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
server.3=10.154.7.181:2888:3888
server.2=10.154.2.27:2888:3888
6)在/app/soft/zookeeper/data下创建myid文件
在10.154.7.181 上vi /app/soft/zookeeper/data/myid 输入3
在10.154.2.27 上vi /app/soft/zookeeper/data/myid 输入2
7)分别启动zookeeper,cd /app/soft/zookeeper/bin下
./zkServer.sh start
观察到Starting zookeeper … STARTED就为成功
步骤二:Kafka安装
1)下载Kafka
<http://kafka.apache.org/downloads>
2)上传到/app/soft/下,并且解压
tar zxvf kafka_2.11-2.2.1tgz
3)修改配置文件,配置文件在config/server.properties,
broker.id=3 #broker.id参数,需保证同一集群内参数唯一,和myid中的数字保持一致
listeners=PLAINTEXT://10.154.7.181:9092
advertised.listeners=PLAINTEXT://10.154.7.181:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/app/soft/kafka_2.11-2.2.1/logs # kafka 数据存放目录
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.154.7.181:2181,10.154.2.27:2181
zookeeper.connection.timeout.ms=6000
delete.topic.enable=true
group.initial.rebalance.delay.ms=0
4)启动kafka
bin/kafka-server-start.sh -daemon config/server.properties
查看是否启动成功
jps -l 或者输入jcmd
步骤三:验证
1)建立一个主题
bin/kafka-topics.sh --create --zookeeper 10.154.7.181:2181,10.154.2.27:2181
--replication-factor 2 --partitions 1 --topic test1
2)查看有哪些主题已经创建
/kafka/bin/kafka-topics.sh --list --zookeeper 10.154.7.181:2181,10.154.2.27:2181
3)查看topic的详情
kafka/bin/kafka-topics.sh --describe --zookeeper 10.154.7.181:2181,10.154.2.27:2181 --topic test1
4)生产者
bin/kafka-console-producer.sh --broker-list 10.154.7.181:9092 --topic test1
随便输入一个单词
5)消费者
bin/kafka-console-consumer.sh --bootstrap-server 10.154.7.181:9092 --from-beginning --topic test1
如果显示上一步出现的单词,说明安装成功