在云服务器上面搭建单机版公网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的详细步骤和一些注意事项,希望对您有所帮助,如果有什么问题或疑问,请在评论区留言,谢谢。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在阿里云服务器搭建Hadoop、Kafka、JDK环境的步骤: 1. 安装JDK 在阿里云服务器上下载JDK安装包,解压后配置环境变量。可以使用以下命令检查JDK是否安装成功: ``` java -version ``` 2. 安装Hadoop 在阿里云服务器上下载Hadoop安装包,解压后配置环境变量。配置Hadoop的环境变量需要在.bashrc文件中添加以下内容: ``` export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin ``` 然后使用以下命令检查Hadoop是否安装成功: ``` hadoop version ``` 3. 安装Kafka 在阿里云服务器上下载Kafka安装包,解压后配置环境变量。配置Kafka的环境变量需要在.bashrc文件中添加以下内容: ``` export KAFKA_HOME=/path/to/kafka export PATH=$PATH:$KAFKA_HOME/bin ``` 然后使用以下命令检查Kafka是否安装成功: ``` kafka-topics.sh --list --zookeeper localhost:2181 ``` 4. 配置Hadoop和Kafka 在Hadoop的配置文件中,需要添加Kafka的jar包路径到Hadoop的CLASSPATH中。可以使用以下命令将Kafka的jar包添加到CLASSPATH中: ``` export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/path/to/kafka/libs/kafka-clients-2.8.0.jar:/path/to/kafka/libs/kafka_2.13-2.8.0.jar ``` 在Kafka配置文件中,需要添加Hadoop的jar包路径到Kafka的CLASSPATH中。可以使用以下命令将Hadoop的jar包添加到CLASSPATH中: ``` export CLASSPATH=$CLASSPATH:/path/to/hadoop/share/hadoop/common/hadoop-common-3.3.1.jar:/path/to/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.1.jar ``` 5. 启动Hadoop和Kafka 使用以下命令启动Hadoop: ``` start-dfs.sh start-yarn.sh ``` 使用以下命令启动Kafka: ``` zookeeper-server-start.sh -daemon /path/to/kafka/config/zookeeper.properties kafka-server-start.sh -daemon /path/to/kafka/config/server.properties ``` 现在,您已经在阿里云服务器上成功搭建了Hadoop、Kafka和JDK环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值