kafka安装部署

Posted donghui521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka安装部署相关的知识,希望对你有一定的参考价值。

 1.下载

下载地址:http://kafka.apache.org/downloads

技术分享图片

以键头所指版本为例

 

2.安装

下载的版本已经编译,直接解压到想要的目录就算安装好了

tar -zxf kafka_2.11-0.11.0.1.tgz -C /usr/myapp

 

3.配置单节点

3.1 配置单节点zookeeper

我们使用kafka自带的zookeeper

技术分享图片
cd /usr/myapp/kafka_2.11 #进入kafka主目录
mkdir -p zk/data   #创建zookeeper数据存放目录
mkdir -p zk/logs    #创建zookeeperl存放日志目录
cd config       #进入配置文件所在目录
mv zookeeper.properties zookeeper.properties.bak #将原配置文件移走

cat > zookeeper.properties << EOF
tickTime=2000
dataDir=/usr/myapp/kafka_2.11/zk/data
dataLogDir=/usr/myapp/kafka_2.11/zk/logs
clientPort=2181
EOF
技术分享图片

到具体情况时注意修昨dataDir和dataLogDir为自己的相应目录

3.2 配置单结点kafka

技术分享图片
cd /usr/myapp/kafka_2.11 #进入kafka主目录
mkdir logs    #创建logs目录用于存放日志
cd config       #进入配置文件所在目录
mv server.properties server.properties.bak #将原配置文件移走
cat > server.properties << EOF broker.id=1 listeners=PLAINTEXT://192.168.220.128: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=/usr/myapp/kafka_2.11/logs 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=192.168.220.128:2181 zookeeper.connection.timeout.ms=6000 group.initial.rebalance.delay.ms=0 EOF
技术分享图片

上边配置的server.properties的内容基本都是原server.properties的默认配置,到自己安装时主要修改:

broker.id--broker的id;修改为任意自己想要的数值(和zookeeper中的id类似的)

listeners--监听址址;修改为kafka要监听的地址

log.dirs--日志文件存放目录;修改为自己要存放日志的目录

zookeeper.connect--zookeeper监听地址;修改为自己的zookeeper的监听地址,如果是集群所有地址全写上用逗号(半角)隔开即可

 

4.启动和停止

启动前要配置JAVA_HOME,不然无法启动(和tomcat一样虽然输出started了但并有有启,可查看kafkaServer.out)

启动:

./zookeeper-server-start.sh -daemon ../config/zookeeper.properties    #启动zookeeper
./kafka-server-start.sh -daemon ../config/server.properties           #启动kafka

停止:

./zookeeper-server-stop.sh    #停止zookeeper
./kafka-server-stop.sh        #停止kafka,centos7上可能关不了用kill -9直接杀掉

查看是否有zookeeper和kafka进程:

jps

 

5.搭建集群

5.1 zookeeper改造

技术分享图片
cd /usr/myapp/kafka_2.11/config     #进入配置文件路径

cat >> zookeeper.properties << EOF
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.129:2888:3888
server.3=192.168.220.130:2888:3888
EOF

echo ‘1‘ > ../zk/data/myid #配置zookeeper的myid文件
技术分享图片

 

5.2 kafka改造

编缉server.properties文件,将所有的zookeeper集群地址追加到zookeeper.connect后,每个地址间用逗号(半角)隔开即可

 

5.3 集群搭建

将上边安装配置好的kafka打包传到其创机器上,然后解压;

对于zookeeper,各机修改myid文件的为不同的值,然后各机重启zookeeper即可。

对于kafka,各机修改server.properties中的broker.id为不同的值listeners修改为本各机IP,然后各机重启kafka即可。

 

6.测试是否可用

创建topics:

./kafka-topics.sh --create --zookeeper 192.168.220.128:2181 --replication-factor 2 --partitions 1 --topic test_topics

在一台上创建生产者:

./kafka-console-producer.sh --broker-list 192.168.220.128:9092 --topic test_topics

在另一台上创建消费者:

./kafka-console-consumer.sh --zookeeper 192.168.220.128:2181 --topic test_topics --from-beginning

正常的话在生产者中输入的内容,会在消费者端输出。




以上是关于kafka安装部署的主要内容,如果未能解决你的问题,请参考以下文章

解开Kafka神秘的面纱:kafka单机部署和集群部署

Kafka安装部署

Kafka集群部署

zookeeper接入kafka,安装部署CMAK监控kafka,Windows环境

Kafka集群安装部署

kafka集群管理工具kafka-manager部署安装