zookeeper与kafka安装 - Go语言中文社区

zookeeper与kafka安装


AMQP协议

kafka是基于仿AMQP协议开发的,AMQP协议模型如下:

这里写图片描述

基本概念:

  1. 消费者(consumer):从消息队列中请求消息的客户端应用程序
  2. 生产者(producer):想broker发布消息的客户端应用程序
  3. AMQP服务端(broker):用来接收生产者发送的消息并将这些消息路由给服务器中的队列
  4. 主题(topic):类似新闻中的分类概念,在实际开发中通常一个业务一个主题
  5. 分区(partition):一个topic中的消息数据按照多个分区组织,分区是kafka消息队列中组织的最小单位,一个分区可以看做是一个FIFO的队列

Zookeeper集群搭建

软件环境:

  • linux服务器需要奇数台(1台,或3台,5台)
  • java jdk
  • zookeeper

首先我们需要安装jdk,请参考Linux安装JDK

下载zookeeper

下载zookeeper

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz 
mv zookeeper-3.4.10 /usr/local/zookeeper
cd /usr/local/zookeeper

配置

在zookeeper的conf目录中,有一个官方提供的配置文件模板zoo_sample.cfg,我们将复制一份,重命名为zoo.cfg,并修改它:

tickTime=2000

initLimit=10

syncLimit=5
#快照数据文件目录
dataDir=/data/zookeeper/zkdata
#日志文件所在目录
dataLogDir=/data/zookeeper/zkdatalog

clientPort=2181
#集群服务器列表,几台服务器集群就配几个,此处的1,2,3是服务器对应的id
server.1=10.168.168.xx:2888:13888
#server.2=10.168.168.xx:2888:13888
#server.3=10.168.168.xx:2888:13888

配置文件中的端口可以随意更改,不冲突即可。

手动创建dataDirdataLogDir

root@ubuntu:/# mkdir -p /data/zookeeper/zkdata
root@ubuntu:/# mkdir -p /data/zookeeper/zkdatalog

进入刚刚配置的dataDir中,将配置文件中配置的server的id写入到myid文件中,每台服务器都执行这个操作,id和服务器不能对应错

echo 1 > myid

启动

进入zookeeper的bin目录中,有一个zkServer.sh目录,用于管理zookeeper

Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

所有服务器使用该命令启动:

./zkServer.sh start

清理文件

在上面配置的/data/zookeeper/zkdata目录,将来会产生大量的快照文件,需要我们定时去清除旧的文件,官方也对此做出了说明官方链接
这里写图片描述

其实官方已经为我们提供了一个清理旧文件的脚本,位于zookeeper的bin目录下zkCleanup.sh,定时执行即可,例如:

./zkCleanup.sh -n 3

kafka集群搭建

下载kafka

注意,要下载二进制包,不要下载源码

https://archive.apache.org/dist/kafka/0.8.2.0/kafka_2.9.2-0.8.2.0.tgz

配置

解压kafka后,进入config目录,修改server.properties 配置文件,主要修改以下几项:

#给当前服务器指定一个id,你的多台服务器的这个值要设置成不一样的
broker.id=0

#日志文件所在目录
log.dirs=/data/kafka/logs/

#每个topic的分区数,可改可不改
num.partitions=1 

#zookeeper集群的地址和端口,ip地址要和上面zookeeper配置的server.1=10.168.168.xx一致,端口号和zookeeper配置文件中的clientPort一致
zookeeper.connect=10.168.168.xx:2181,10.168.168.xx:2181,10.168.168.xx:2181

启动

cd /usr/local/kafka/bin
./kafka-server-start.sh -daemon ../config/server.properties

启动之后,我们可以使用一些命令来测试一下

创建主题

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看主题列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

其他命令参考官方网站

http://kafka.apache.org/quickstart

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u010837612/article/details/78594702
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 10:51:44
  • 阅读 ( 1097 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢