当前位置:首页 > 服务器技术 > apache

消息订阅发布系统Apache Kafka分布式集群环境搭建和简单测试

一、什么是kafka?
  kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目。在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ。Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)


二、kafka的官方网站在哪里?
http://kafka.apache.org/
三、在哪里下载?需要哪些组件的支持?
  kafka2.9.2在下面的地址可以下载:
https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz


四、如何安装?

    
1、本机环境描述

    3台主机:操作系统为CentOS6.4,zookeeper版本为3.4.3,jdk版本为1.6(可参考前面的文章)

        ip和hostname分别为192.168.41.100/master,192.168.41.101/slave1,192.168.41.102/master


2.解压kafka_2.9.2-0.8.1.1.tgz,本文中解压到/home/hadoop目录下

# tar -zxvf -C /home/hadoop/ kafka_2.9.2-0.8.1.1.tgz


3、修改config/server.properties配置文件。修改部分如下:

broker.id=0
host.name=master
advertised.host.name=master
zookeeper.connect=master:2181,slave1:2181,slave2:2181

其中

broker.id为整数,建议根据ip区分,这里我是使用zookeeper中的id来设置

host.name和advertised.host.name为本机的hostname

zookeeper.connect为连接的机器和端口

修改后如下:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050151845.jpg" title="1.png" />

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050152000.jpg" title="2.png" />

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050152311.jpg" title="3.png" />


4.针对bin/kafka-run-class.sh移除相关参数:

移除代码为

-XX:+UseCompressedOops

不然会出现

Unrecognized VM option ‘UseCompressedOops‘

修改后如下:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050152677.jpg" title="4.png" />


5.把kafka文件夹拷贝到其他节点,并修改 server.properties相关内容

#  scp -r /home/hadoop/kafka_2.9.2-0.8.1.1/ slave1:/home/hadoop/kafka_2.9.2-0.8.1.1/



6.启动zookeeper

# zkServer.sh start

启动后可以用以下命令在每台机器上查看状态:

# zkServer.sh status

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050153061.jpg" title="5.png" />


7.启动各个节点的kafka

# kafka-server-start.sh /home/hadoop/kafka_2.9.2-0.8.1.1/config/server.properties &

部分截图:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050153387.jpg" title="6.png" />


四、简单安装

1.在master上创建一个test主题

命令如下:

# kafka-topics.sh --create --topic test --replication-factor 3 --partitions 2 --zookeeper master:2181

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050153799.jpg" title="7.png" />


2.在master上查看test主题

命令如下:

# kafka-topics.sh --list --zookeeper master:2181

如图:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050154054.jpg" title="8.png" />


3)在slave1上发送消息至kafka(slave1模拟producer),发送消息“hello”, 在slave2上开启一个消费者(slave2模拟consumer),可以看到刚才发送的消息

slave1主机上的命令为:

# kafka-console-producer.sh --broker-list master:9092 --sync --topic test

出现如下界面后,键入hello

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050154298.jpg" title="9.png" />

键入hello后:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050154810.jpg" title="10.png" />

slave2主机上的命令为:

# kafka-console-consumer.sh --zookeeper master:2181 --topic test --from-beginning

结果如下:

650) this.width=650;" src="/upload/getfiles/default/2022/11/15/20221115050155115.jpg" title="11.png" />

本文出自 “Xlows” 博客,请务必保留此出处http://xlows.blog.51cto.com/5380484/1550335

原文:http://xlows.blog.51cto.com/5380484/1550335


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!