设为首页 收藏本站
查看: 1051|回复: 0

[经验分享] Kafka(四) -- 创建多实例集群

[复制链接]

尚未签到

发表于 2017-5-23 17:46:24 | 显示全部楼层 |阅读模式
这一节我们看下怎么创建一个多实例的集群(以三个节点为例)。

 
  一、 创建配置文件

进入到 Kafka 主目录,以 config/server.properties 为原型,创建两个新的节点配置文件



cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties




 

按如下方式修改这两个配置文件的相关属性
 

config/server-1.properties:
listeners=PLAINTEXT://:9093
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
config/server-2.properties:
listeners=PLAINTEXT://:9094
broker.id=2
port=9094
log.dir=/tmp/kafka-logs-2


 
上述属性中 broker.id 在集群中必须是唯一且永久的。我们打算在同一台机器上启动另两个节点实例,为避免冲突,端口和日志文件路径也做了相应的修改。

 

 

启动服务
 

输入如下命令启动服务:

 

bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &


 

 jps 一下,一共可以看到三个 Kafka 进程。

 

 

三、 创建主题


现在我们创建一个具有三份副本、两个划分的主题:

 

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic2


 

我们可以通过 describe 参数查看集群中对刚刚创建的主题的配置情况:

 
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic2
Topic:my-replicated-topic2      PartitionCount:2        ReplicationFactor:3     Configs:
Topic: my-replicated-topic2     Partition: 0    Leader: 0       Replicas: 0,1,2 Isr: 0,1,2
Topic: my-replicated-topic2     Partition: 1    Leader: 1       Replicas: 1,2,0 Isr: 1,2,0


 

这里解释一下上述输出:第一行给出了所有划分的摘要信息,接下来逐行显示每个划分的详细信息。


  • leader 节点响应对应划分的全部读写请求。
  • replicas 是一个节点列表,他们产生相应划分的副本信息,里面的节点不一定都是存活的。
  • isr 是一组非同步(in-sync)的备份,它是 replicas 的子集,里面的节点当前都是存活的。





 
  四、 验证可靠性


接下来我们验证一下多副本的可靠性。先灌两条消息到之前创建的主题上:

 

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic2
test message 1
test message 2


 

读一下看看:

 

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic2
test message 1
test message 2



 

(注意因为我们申请了两个划分,上述命令的结果有可能顺序不一致,也就是 test message 2 在前面)

我们通过这个命令找到 id 为 1 的节点实例:

 

ps -ef | grep server-1.properties
work     15053 47875  0 17:25 pts/1


 

干掉这个节点进程:

 

kill -9 15053


 

这时候我们再看一下主题的状态描述:

 

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic2
Topic:my-replicated-topic2      PartitionCount:2        ReplicationFactor:3     Configs:
Topic: my-replicated-topic2     Partition: 0    Leader: 0       Replicas: 0,1,2 Isr: 0,2
Topic: my-replicated-topic2     Partition: 1    Leader: 2       Replicas: 1,2,0 Isr: 2,0


 

可以看出来节点 1 已经被停掉了。我们再去主题中读一下消息:

 

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic eplicated-topic2
test message 2
test message 1


 

谢天谢地,数据还在。

 

 

 

 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379932-1-1.html 上篇帖子: RocketMQ与Kafka对比(18项差异) 下篇帖子: 【疑难杂症】记录 kafka.common.ConsumerRebalanceFailedException:异常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表