0°

Kafka 单机和分布式环境搭建与案例使用

内容预览:
  • 始发于微信公众号: Java后端技术 实验环境: 1、Ubuntu Server 16...~
  • >bin/kafka-console-producer.sh &;broker-list localhost:9092 &;to...~
  • 若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢...~

始发于微信公众号: Java后端技术

实验环境: 
1、Ubuntu Server 16.04 
2、kafka_2.11-0.11.0.0

一、单机环境搭建

官方参考文章:

http://kafka.apache.org/quickstart

1、下载和解压安装包

这里下载了zookeeper和kafaka两个安装包,下载地址:

zookeeper:http://www.apache.org/dyn/closer.cgi/zookeeper/

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

Kafka 单机和分布式环境搭建与案例使用

2、启动Zookeeper服务

这里的kafka默认是由内置的zookeeper的,如果使用内置的zookeeper的话,启动的方式如下:

Kafka 单机和分布式环境搭建与案例使用

zookeeper的配置文件是在:/kafka_2.12-0.11.0.0/config 目录下

Kafka 单机和分布式环境搭建与案例使用

启动Zookeeper:

>bin/zookeeper-server-start.sh config/zookeeper.properties

当看到如下信息的时候,就表示成功了!

Kafka 单机和分布式环境搭建与案例使用

3、启动Kafka

kafka的配置文件是在/kafka_2.12-0.11.0.0/config 目录下,默认情况下不需要修改。

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

4、创建一个Topic

>bin/kafka-topics.sh –create –zookeeper localhost:2181

    –replication-factor 1 –partitions 1 –topic testTopic

–replication-factor 复制因子为1; 
–partitions 分区为1;

查看已创建的Topic:

Kafka 单机和分布式环境搭建与案例使用

5、发送测试消息

kafka支持从Console发送信息,消费者从Console接受信息。

>bin/kafka-console-producer.sh broker-list localhost:9092 topic testTopic

–broker-list 表示代理服务器的列表,这里只有一个;

创建一个消费者:

>bin/kafka-console-consumer.sh bootstrap-server

         localhost:9092 topic testTopic from-beginning

–from-beginning 表示从消息开始处读取;

然后在生产者的Console输入数据,消费者的Console就可以看到信息:

Kafka 单机和分布式环境搭建与案例使用

Kafka 单机和分布式环境搭建与案例使用

二、伪集群环境搭建

官方提供了一种方式在一台机器上启动多个Broker机器构成multi-broker cluster,这是一种伪集群的方式,下边就配置一下。

1、修改配置文件

思路是配置多个config/server.properties文件,修改其中的broker.id=1 和端口号,日志文件位置。

> cp config/server.properties config/server1.properties

> cp config/server.properties config/server2.properties

编辑配置文件,修改如下对应的位置:

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

2、分别启动另外两个Kafka

>bin/kafka-server-start.sh config/server1.properties &

>bin/kafka-server-start.sh config/server2.properties &

&表示在后台运行

3、查看运行结果:

Kafka 单机和分布式环境搭建与案例使用

QuorumPeerMain表示Zookeeper进行; 另外有3个Kafka进程;

4、创建Topic

新建一个复制因子为3的Topic

>bin/kafka-topics.sh –create –zookeeper localhost:2181

 –replication-factor 3 –partitions 1 –topic my-replicated-topic

Kafka 单机和分布式环境搭建与案例使用

查看Topic的描述信息:

>bin/kafka-topics.sh –describe –zookeeper

    localhost:2181 –topic my-replicated-topic

Kafka 单机和分布式环境搭建与案例使用

5、发送消息

启动生产者,这里有3个Kafka实例,但是–broker-list 仍是启动的Zookeeper服务。

>bin/kafka-console-producer.sh broker-list localhost:9092

    —topic my-replicated-topic

启动消费者:

>bin/kafka-console-consumer.sh bootstrap-server

    localhost:9092 from-beginning topic my-replicated-topic

和单机的情况是一样的。

三、分布式集群环境搭建

搭建的分布式集群和伪集群的方式大致相同,这里假设使用3台服务器模拟实验,部署3个Zookeeper实例和3个Kafka实例,当然也可以直接部署一个Zookeeper实例,这里只是演示分布式Zookeeper和kafka的搭建。

Kafka 单机和分布式环境搭建与案例使用

工具使用的是SecureCRT。

1、分布式Zookeeper的搭建

(1)将Zookeeper安装包分别上传到3台服务器,我的是放在:/home/xuliugen/server 目录下。

(2)配置第一台Zookeeper

复制zookeeper-3.4.10/conf/zoo_sample.cfg 为 zookeeper-3.4.10/conf/zoo.cfg,修改zoo.cfg文件如下,只更改data的目录:Kafka 单机和分布式环境搭建与案例使用

(3)按同样的方式修改第二台Zookeeper和第三台Zookeeper服务器配置。

2、启动Zookeeper服务器

依此使用命令./bin/zkServer.sh start 启动Zookeeper服务。

使用jps 查看是否已经启动

Kafka 单机和分布式环境搭建与案例使用

3、分布式Kafka的搭建

(1)将Kafka安装包分别上传到3台服务器,我的是放在:/home/xuliugen/server 目录下。

(2)配置第一台Kafka

Kafka的配置文件是在/conf/server.properties ,修改日志的目录:

Kafka 单机和分布式环境搭建与案例使用

配置主机IP或者hostname:Kafka 单机和分布式环境搭建与案例使用

然后修改kafka中使用的Zookeeper集群地址:

Kafka 单机和分布式环境搭建与案例使用

多个Zookeeper之间以英文逗号分开。

(3)按同样的方式配置第二台kafka和第三台kafka服务器。

要注意的是不同的kafka的broker.id 一定要不一样,我这里分别配置的是0、1、2。

Kafka 单机和分布式环境搭建与案例使用

4、分别启动Kafka服务

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

四、代码测试

1、项目结构

Kafka 单机和分布式环境搭建与案例使用

2、pom文件内容

Kafka 单机和分布式环境搭建与案例使用

3、日志配置log4j.properties

Kafka 单机和分布式环境搭建与案例使用

3、生产者

Kafka 单机和分布式环境搭建与案例使用


4、消费者

Kafka 单机和分布式环境搭建与案例使用

5、测试结果

Kafka 单机和分布式环境搭建与案例使用

生产者:

Kafka 单机和分布式环境搭建与案例使用

消费者:

Kafka 单机和分布式环境搭建与案例使用

代码下载地址:http://download.csdn.net/download/u010870518/9938605

也可以到官网下载Kafka的源代码包,包里边有example代码可以参考

https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.0/kafka-0.11.0.0-src.tgz

Kafka 单机和分布式环境搭建与案例使用

相关阅读:



如果对你有帮助的话!点击下边广告支持一下!只点击无需关注!谢谢!



版权声明


Java后端技术所推送文章,为本人原创、网上收集或其他作者投稿,对于网上收集部分除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^   QQ:1573876303


Kafka 单机和分布式环境搭建与案例使用
微信公众号,长按关注或微信搜索公众号:Java后端技术。
Kafka 单机和分布式环境搭建与案例使用



和大佬一起学习网络安全知识

以上就是:Kafka 单机和分布式环境搭建与案例使用 的全部内容

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢^^
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论