一、ubutun18.04下Kafka安装
(1)安装jdk包
Apache Kafka是基于Java的,因此需要系统安装Java。执行以下命令,安装openJDK
sudo apt update
sudo apt install default-jdk
(2)下载Apache Kafka
从官网下载Apache Kafka二进制文件,进行安装
# 建议安装最新版本
wget http://www-us.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
# 解压文件,建议将其移植到固定的目录下,便于后续的操作
tar xzf kafka_2.12-2.2.1.tgz
mv kafka_2.12-2.2.1 /usr/local/kafka
(3)启动zookeeper服务器
kafka是基于zookeeper运行的,因此需要先启动zookeeper
cd /usr/local/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
(4)启动kafka服务器
bin/kafka-server-start.sh config/server.properties
(5)创建topic
创建一个名为test的topic,只包含一个partition,只有一个副本。(关于topic与partition的关系可以参考我的上一篇博客)
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看kafka的topic列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
查看topic的详细信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
(6)创建Producer,发送消息
kafka附带一个命令行客户端,可以直接在控制台中发消息给kafka
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
(7)启动Consumer,介绍消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
(8)broker集群kafka的应用
这一部分可以参考官网做设置,主要就是kafka集群的扩展,容错性的提现。
(9)设置服务器kafka集群可以被远程访问
修改config/server.properties文件
在修改之前,server.properties文件如下所示:
我们将listeners行注释掉,而把advertised.listeners行释放掉,修改之后的文件如下所示:
其中kafka1,替换成自己主机的ip
当然我们一定要确保服务器的防火墙是关闭的,而且9092端口可以被远程连接。
当完成上述操作之后,重启kafka即可远程访问。