栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

在云服务器上面搭建单机版公网Kafka详细步骤和注意事项

在云服务器上面搭建单机版公网Kafka详细步骤和注意事项

一、需求

有好多的朋友购买云服务器的时候,有个需求就是希望自己本地的程序能够连接到云服务器上面,来进行程序的联调测试,本次将如何在云服务器上面搭建单机版kafka的过程进行详情的讲解。

二、搭建过程

第一步 创建docker的网络

这一步主要是为了让zookeeper和kakfa在同一个网络中,进行网络通信,如果docker上面已经有网络了,那就可以省略此步骤。

创建名为kafka-net的bridge网络的指令如下:

docker network create kafka-net --driver bridge

执行完成之后可以通过如下命令进行验证:

docker network list | grep kafka-net

出现如下结果,代表网络创建成功:

f4ed1cce7085 kafka-net bridge local

第二步 搭建zookeeper环境

因为搭建kafka环境的时候,需要用到zookeeper进行消息同步,所以,在搭建kafka之前,需要先搭建zookeeper环境,如果已经有了zookeeper环境可以省略此步骤。

执行命令:

docker run -d --name zk --network kafka-net -p 2181:2181 -t zookeeper

第三步 创建kafka环境

以下指令是创建kafka单机公网版的指令:

docker run -d --name kafka -p 9092:9092 --network kafka-net -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_ConNECT=宿主机公网IP:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机公网IP:9092 -e ZOOKEEPER.CONNECTION.TIMEOUT.MS=60000 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

备注:

0、宿主机公网IP是云服务器的公网IP;

1、KAFKA_ZOOKEEPER_CONNECT宿主机公网IP:2181;

2、KAFKA_ADVERTISED_LISTENERS=PLAINTEXT:/宿主机公网IP:9092;

3、需要在云服务器的网页控制台的防火墙中开放这个IP宿主机公网IP对应的2181和9092端口的访问权限,否则无法访问。

第四步 验证kafka安装是否成功

1、进入容器的指令

docker exec -it kafka /bin/bash

2、kafka的指令在容器中的目录:

/opt/kafka/bin

3、单机方式创建一个主题,主题名称为test

./kafka-topics.sh --create --zookeeper 宿主机公网IP:2181 --replication-factor 1 --partitions 3 --topic test

4、 进入生成者环境生产消息

./kafka-console-producer.sh --broker-list 宿主机公网IP:9092 --topic test

5、通过命令去消费消息

./kafka-console-consumer.sh --zookeeper 宿主机公网IP:2181 --topic test --from-beginning

6、通过Java客户端进行生成消息

1)需要用到的maven依赖:

org.apache.kafka

kafka-clients

2.4.1

2)通过Java调用的核心代码

//kafka服务器的配置信息

private static Properties getKafkaServerPropertiesWithSpecIp(String serverIp) {

Properties props = new Properties();

props.put("bootstrap.servers", serverIp);

props.put("acks", "all");

props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");

props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

return props;

} //生产消息 public static void producerWithSpecIp(String message) {

Properties props = getKafkaServerPropertiesWithSpecIp(" 宿主机公网IP:9092");

// 创建一个生产者对象KafkaProducer

KafkaProducer producer = new KafkaProducer<>(props);

// 调用send发送消息到指定Topic

producer.send(new ProducerRecord<>("test", null, message));

// 关闭生产者

producer.close();

}

三、总结

        以上在云服务器上面通过docker搭建公网单机版kafka的详细步骤和一些注意事项,希望对您有所帮助,如果有什么问题或疑问,请在评论区留言,谢谢。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号