一、安装Zookeeper

参考: Zookeeper的下载、安装和启动 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Zookeeper 集群搭建--单机伪分布式集群

 

二、下载Kafka

进入http://kafka.apache.org/downloads 

我这里使用版本:kafka_2.11-1.0.1.tgz

 

三、Kafka目录

解压到/usr/local路径下: tar -zxvf  kafka_2.11-1.0.1.tgz

/bin  操作kafka的可执行脚本

/config 配置文件所在的目录

/libs 依赖库目录

/logs 日志数据目录。kafka把server端的日志分为: server, request, state, log-cleaner, controller

创建log目录  cd /usr/local/kafka_2.11-1.0.1 && mkdir kafkaLogs

 

四、配置

1、配置zookeeper

2、kafka配置

进入config/server.properties

#broker的id,集群中的每台机器id唯一,其他两台分别1和2
broker.id=0  
#是Kafka绑定的interface,这里需要写本机内网ip地址,不然bind端口失败
#其他两台分别是192.168.1.5和192.168.1.9
host.name=192.168.1.3 
#向zookeeper注册的对外暴露的ip和port,118.212.149.51是192.168.1.3的外网ip地址
#如果不配置kafka部署在外网服务器的话本地是访问不到的.
advertised.listeners=PLAINTEXT://118.212.149.51:9092 
#zk集群的ip和port,zk集群教程:
zookeeper.connect=192.168.1.3:2181,192.168.1.5:2181,192.168.1.9:2181
#log目录,刚刚上边建好的.
log.dirs=/usr/local/kafka_2.11-1.0.1/kafkaLogs

  

 

三、启动Kafka

./kafka-server-start.sh  ../config/server.properties

 启动Kafka,出现内存不够。默认内存为1G,如果设备内存比较小,修改配置

Kafka入门 --安装和简单实用,Zookeeper的下载、安装和启动,Zookeeper 集群搭建--单机伪分布式集群 随笔 第1张

bin下面的kafka-server-start.sh,修改 

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
为export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

 

四、创建主题

1、创建主题test1

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

Kafka入门 --安装和简单实用,Zookeeper的下载、安装和启动,Zookeeper 集群搭建--单机伪分布式集群 随笔 第2张

 

查看所有的主题:

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

Kafka入门 --安装和简单实用,Zookeeper的下载、安装和启动,Zookeeper 集群搭建--单机伪分布式集群 随笔 第3张

 

五、查看topic详细信息

./kafka-topics.sh  --describe --zookeeper localhost:2181

Kafka入门 --安装和简单实用,Zookeeper的下载、安装和启动,Zookeeper 集群搭建--单机伪分布式集群 随笔 第4张

第一行topic信息摘要: 分别是topic名字(Topic), partition数量(PartitionCount), 副本数量(ReplicationFactor), 配置(Config)

第二行分别为test1的topic所有partition。依次为topic名字(Topic), partition号(Partition), 此partition所在的borker(Leader),副本所在的broker(Replicas),

Isr列表(同步状态副本列表),通俗理解为替补队员。 不是每个broker都可以作为替补队员。首先这个broker得存有副本,其次副本还得满足条件。

 

六、生产消息

 

 

五、发送消息

Kafka带有一个命令行客户端,它将从文件或者标准输入中获取输入,并将其作为消息发送给Kafka集群。

启动生产者:

 

 

参考: Kafka入门教程和JAVA客户端使用

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄