经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Linux Kafka集群部署
来源:cnblogs  作者:小a玖拾柒  时间:2021/6/21 13:10:22  对本文有异议

Zookeeper集群部署

Linux Zookeeper集群部署


Kafka集群部署

官网下载Kafka 安装包,解压安装:

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

  1. tar zxvf kafka_2.11-0.8.2.2.tgz
  2. mv kafka_2.11-0.8.2.2 kafka
  3. cd kafka

image

编辑配置文件

  1. vim ./config/server.properties
  2. broker.id=1 # 确保集群中唯一即可
  3. log.dirs=/opt/kafaka/kafka-log
  4. listeners=PLAINTEXT://192.168.10.110:9092 # 填写本机IP
  5. zookeeper.connect=192.168.10.110:2181,192.168.10.141:2181,192.168.10.142:2181 # zk信息

image

#将kafka文件夹复制到另外两台节点下

注意修改每个节点对应的server.properties文件的broker.id和listenrs

  1. 配置说明:
  2. broker.id:每个broker在集群中的唯一标识,正整数。当该服务器的ip地址发生变更,但broker.id未变,则不会影响consumers的消费情况
  3. listenerskafka的监听地址与端口,在实际测试中如果写0.0.0.0会报错。
  4. num.network.threadskafka用于处理网络请求的线程数
  5. num.io.threadskafka用于处理磁盘io的线程数
  6. socket.send.buffer.bytes:发送数据的缓冲区
  7. socket.receive.buffer.bytes:接收数据的缓冲区
  8. socket.request.max.bytes:允许接收的最大数据包的大小(防止数据包过大导致OOM
  9. log.dirskakfa用于保存数据的目录,所有的消息都会存储在该目录当中。可以通过逗号来指定多个路径,kafka会根据最少被使用的原则选择目录分配新的partition。需要说明的是,kafka在分配partition的时候选择的原则不是按照磁盘空间大小来定的,而是根据分配的partition的个数多少而定
  10. num.partitions:设置新创建的topic的默认分区数
  11. number.recovery.threads.per.data.dir:用于恢复每个数据目录时启动的线程数
  12. log.retention.hours:配置kafka中消息保存的时间,还支持log.retention.minuteslog.retention.ms。如果多个同时设置会选择时间最短的配置,默认为7天。
  13. log.retention.check.interval.ms:用于检测数据过期的周期
  14. log.segment.bytes:配置partition中每个segment数据文件的大小。默认为1GB。超出该大小后,会自动创建一个新的segment文件。
  15. zookeeper.connect:指定连接的zk的地址,zk中存储了broker的元数据信息。可以通过逗号来设置多个值。格式为:hostname:port/pathhostnamezk的主机名或ipportzk监听的端口。/path表示kafka的元数据存储到zk上的目录,如果不设置,默认为根目录
  16. zookeeper.connection.timeoutkafka连接zk的超时时间
  17. group.initial.rebalance.delay.ms:在实际环境当中,当将多个consumer加入到一个空的consumer group中时,每加入一个consumer就会触发一次对partition消费的重平衡,如果加入100个,就得重平衡100次,这个过程就会变得非常耗时。通过设置该参数,可以延迟重平衡的时间,比如有100consumer会在10s内全部加入到一个consumer group中,就可以将该值设置为10s10s之后,只需要做一次重平衡即可。默认为0则代表不开启该特性。
  18. auto.create.topics.enable:当有producer向一个不存在的topic中写入消息时,是否自动创建该topic
  19. delete.topics.enablekafka提供了删除topic的功能,但默认并不会直接将topic数据物理删除。如果要从物理上删除(删除topic后,数据文件也一并删除),则需要将此项设置为true

启动kafka

  1. [root@node2 kafka]# cd bin/
  2. [root@node2 bin]# ./kafka-server-start.sh -daemon ../config/server.properties

image

  1. # 登录zk查看kafka的topic信息

  2. cd /opt/zk/apache-zookeeper-3.7.0-bin/bin

  3. ./zkCli.sh

    [zk: localhost:2181(CONNECTED) 0] ls /
    [admin, brokers, cluster, config, consumers, controller, controller_epoch, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]

    [zk: localhost:2181(CONNECTED) 0] ls /brokers
    [ids, seqid, topics]

    [zk: localhost:2181(CONNECTED) 1] ls /brokers/topics
    []

image

image

(查看/brokers/topics,目前为空,说明还没有创建任何的topic)

基本操作


image

image

image


更多学习连接

原文链接:http://www.cnblogs.com/ftl1012/p/14907848.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号