Kafka日记(六)多节点集群

前几篇日记中,都没有包含服务器集群方面的内容。

本篇打算围绕如何做一个分布式Kafka集群,具体 有时间更新!

前提是准备三台虚拟机(我的是centos6.9)192.168.0.3,192.168.0.4,192.168.0.5

开始操作(关于zookeeper kafka rdkafka等安装编译此处省略,前篇文章中有,只讲解配置)

1.zookeeper

三台服务器均如下配置

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zookeeper/zookeeper-3.4.13/data
# the port at which the clients will connect
clientPort=2181
#three servers ip
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#192.168.0.3为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
server.1=192.168.0.3:2888:3888
server.2=192.168.0.4:2888:3888
server.3=192.168.0.5:2888:3888
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60

然后在dataDir目录/data/下写一个myid文件,命令如下:

echo 1 >myid // 192.168.0.3执行

echo 2 >myid // 192.168.0.4执行

echo 3 >myid // 192.168.0.5执行

注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。

依次启动:bin/zkServer.sh start

2.Kafka(2.1版本,offset存储在broker中,不在zookeeper中)

三个服务器server.properties分别配置broker.id = 10 11 12

broker.id=10
listeners=PLAINTEXT://192.168.0.3:9092
log.dirs=/tmp/kafka-logs-10
zookeeper.connect=192.168.0.3:2181,192.168.0.4:2181,192.168.0.5:2181

消费者配置consumer.properties

bootstrap.servers=192.168.0.3:9092,192.168.0.4:9092,192.168.0.5:9092

# consumer group id
group.id=test-consumer-group

生产者producer.properties

# list of brokers used for bootstrapping knowledge about the rest of the cluster
# format: host1:port1,host2:port2 ...
bootstrap.servers=192.168.0.3:9092,192.168.0.4:9092,192.168.0.5:9092

# specify the compression codec for all data generated: none, gzip, snappy, lz4, zstd
compression.type=none

依次启动:

bin/kafka-server.sh config/server.properties &

3.测试

// 在192.168.0.3中创建topic
bin/kafka-topics.sh --create --zookeeper 192.168.0.3:2181 --topic test --replication-factor 3 --partitions 3

// 在192.168.0.3中创建生产者
bin/kafka-console-producer.sh --broker-list 192.168.0.3:9092 --topic test

// 在192.168.0.4 和 192.168.0.5中尝试消费
bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.4:9092 --topic test --from-beginning

bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.5:9092 --topic test --from-beginning

结果192.168.0.3生产者生产消息 192.168.0.4和192.168.0.5消费者均能收到消息 证明配置成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值