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

[经验分享] kafka0.8在linux上的单点及集群环境搭建与配置

[复制链接]

尚未签到

发表于 2016-4-2 10:02:07 | 显示全部楼层 |阅读模式
KAFKA0.8与0.7安装过程大同小异
将kafka包放到linux后,执行以下命令:
1.tar xzf kafka-<VERSION>.tgz>
2.cd kafka-<VERSION>>
3. ./sbt update>
4../sbt package>
5../sbt assembly-package-dependency
这个过程kafka会下载他的依赖包,并进行打包工作
执行完这些命令后kafka的准备工作就结束了,可以进行启动:
1.首先启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
2.然后启动kafka
bin/kafka-server-start.sh config/server.properties


kafka0.8跟0.7在启动上没有什么区别,但是如果想发送消息,则跟0.7的步骤不同
首先需要创立一个主题:

bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test
创立后我们可以查看当前到底有哪些主题

bin/kafka-list-topic.sh --zookeeper localhost:2181
之后就可以和0.7一样,用console版的producer和consumer去发送消息了,命令如下:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
然后在producer里边写消息,在另一个terminal里打开kafka根目录,并输入命令:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
这样就可以查看到刚才producer里边的消息了


注:0.8中如果我们已经创立了消息,然后停掉了所有的server,再次打开server,然后创立主题,如果该出题曾经创立过,就会提示主题已经存在。
将kafka进行了broker的单点配置后,就可以考虑开始集群配置broker
1.首先复制server.properties的配置文件为多个,并修改名字:
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties



2.修改server-1.properties和server-2.properties的配置文件

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

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

其中broker.id必须是独一无二的,而重写端口号和日志地址是为了避免不同的broker在记录日志时刷掉对方的数据。

3.然后我们可以启动另外两个broker了
JMX_PORT=9997 bin/kafka-server-start.sh config/server-1.properties &
JMX_PORT=9998 bin/kafka-server-start.sh config/server-2.properties &
leader:负责当前指定分区的读写的借点。任意节点会被随机的选取为当前读写部分的leader。
replicas:是负责当前分区日志读写的节点的列表,无论当前节点是否存活。
isr:是当前正存活的replicas,并且是和leader同步的replicas。
我们可以看到“test”只有一个副本,而“my-replicas-topic”有三个副本。
6.接下来我们可以用console去测试当前的主题的连通性了:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
然后输入消息

在另一个terminal里边敲击命令:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic
就可以看到刚才的消息了
7.现在把刚才作为leader的那个broker杀掉,同时杀掉broker0,,然后查看针对当前主题的leader是谁,

pkill -9 -f server-1.properties

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


也就是说,kafka0.8会自动选取新的节点作为leader。
然后查看原来的消息还在不在,以便确定当某个broker挂掉,信息是否会保存。
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic

结果是都还在。

运维网声明 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-198707-1-1.html 上篇帖子: kafka0.7在linux上的单点及集群环境搭建与配置 下篇帖子: 搭建Kafka集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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