③拷贝 3 份配置文件
#创建对应的日志目录mkdir -p /data/servers/kafka_2.11-2.4.0/logs/9092mkdir -p /data/servers/kafka_2.11-2.4.0/logs/9093mkdir -p /data/servers/kafka_2.11-2.4.0/logs/9094#拷贝三份配置文件cp server.properties server_9092.properties cp server.properties server_9093.properties cp server.properties server_9094.properties
④修改不同端口对应的文件
#9092的id为0, 9093的id为1, 9094的id为2 broker.id=0 # 配置服务端的监控地址, 分别在不通的配置文件中写入不同的端口 listeners=PLAINTEXT://192.168.51.128:9092 # kafka 日志目录, 目录也是对应不同的端口 log.dirs=/data/servers/kafka_2.11-2.4.0/logs/9092 # kafka设置的partitons的个数 num.partitions=1 # zookeeper的连接地址, 如果有自己的zookeeper集群, 请直接使用自己搭建的zookeeper集群 zookeeper.connect=192.168.51.128:2181
修改 Zookeeper 的配置文件:
dataDir=/data/servers/zookeeperserver.1=192.168.51.128:2888:3888
然后创建 Zookeeper 的 myid 文件:
echo "1"> /data/servers/zookeeper/myid
⑤启动 Zookeeper
使用 Kafka 内置的 Zookeeper:
cd /data/servers/kafka_2.11-2.4.0/binzookeeper-server-start.sh -daemon ../config/zookeeper.properties netstat -anp |grep 2181
启动 Kafka:
./kafka-server-start.sh -daemon ../config/server_9092.properties ./kafka-server-start.sh -daemon ../config/server_9093.properties ./kafka-server-start.sh -daemon ../config/server_9094.properties
Kafka 的操作
①Topic
我们先来看一下创建 Topic 常用的参数吧:
- --create:创建 topic
- --delete:删除 topic
- --alter:修改 topic 的名字或者 partition 个数
- --list:查看 topic
- --describe:查看 topic 的详细信息
- --topic <String: topic>:指定 topic 的名字
- --zookeeper <String: hosts>:指定 Zookeeper 的连接地址参数提示并不赞成这样使用(DEPRECATED, The connection string for the zookeeper connection in the form host:port. Multiple hosts can be given to allow fail-over.)
--bootstrap-server <String: server to connect to>:指定 Kafka 的连接地址,推荐使用这个,参数的提示信息显示(REQUIRED: The Kafka server to connect to. In case of providing this, a direct Zookeeper connection won't be required.) 。
--replication-factor <Integer: replication factor> : 对于每个 Partiton 的备份个数 。(The replication factor for each partition in the topic being created. If not supplied, defaults to the cluster default.)
--partitions <Integer: # of partitions>:指定该 topic 的分区的个数 。
示例:
cd /data/servers/kafka_2.11-2.4.0/bin# 创建topic test1kafka-topics.sh --create --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094 --replication-factor 1 --partitions 1 --topic test1# 创建topic test2kafka-topics.sh --create --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094 --replication-factor 1 --partitions 1 --topic test2# 查看topickafka-topics.sh --list --bootstrap-server=192.168.51.128:9092,10.231.128.96:9093,192.168.51.128:9094
②自动创建 Topic
我们在工作中,如果我们不想去管理 Topic,可以通过 Kafka 的配置文件来管理 。
我们可以让 Kafka 自动创建 Topic,需要在我们的 Kafka 配置文件中加入如下配置文件:
auto.create.topics.enable=true
如果删除 Topic 想达到物理删除的目的,也是需要配置的:
delete.topic.enable=true
③发送消息
他们可以通过客户端的命令生产消息,先来看看 kafka-console-producer.sh 常用的几个参数吧:
- --topic <String: topic>:指定 topic
- --timeout <Integer: timeout_ms>:超时时间
- --sync:异步发送消息
- --broker-list <String: broker-list>:官网提示: REQUIRED: The broker list string in the form HOST1:PORT1,HOST2:PORT2.
这个参数是必须的:
推荐阅读
- 带你了解黑客使用的命令行浏览器,令人吃惊
- 10分钟教你Python+MySQL数据库操作
- 机架式服务器的详解,一文带你读懂
- 一文带你了解IPsec VPN基本原理与配置流程,干货值得收藏
- 带你了解香港服务器和美国服务器的区别
- 10分钟将你的Go工程转换为Go Module模式
- 带你了解太极拳的健身原理是什么
- 黄瓜|春天减肥,试试这5道“刮油菜”,10分钟端上桌,好吃解腻
- 齐刘海|素颜也好看的女生是什么样子的?女生护肤?带你get护肤小步骤!
- “疙瘩汤”的这个做法火了,10分钟出锅,好吃解馋,怎么也吃不够