• centos7安装kafka、zookeeper


    安装jdk

    安装jdk8  

    安装zookeeper

    在指定目录执行下载命令 我是在/newdisk/zookeeper目录下

    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz --no-check-certificate
    

    下载好后并解压  tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz

    校验是否安装好,进入 /newdisk/zookeeper/apache-zookeeper-3.5.8-bin/conf

    复制zoo_sample.cfg配置文件为zoo.cfg

    cp zoo_sample.cfg zoo.cfg

    在进入/newdisk/zookeeper/apache-zookeeper-3.5.8-bin/bin目录

    启动zk服务端

    ./zkServer.sh start

     启动客户端

     ./zkCli.sh

    在查看根节点 ,出现如下界面就安装成功了

    安装kafka 

    进入到要下载的目录,我这边是/newdisk/kafka 执行下载命令(有点慢)

    wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.11-2.4.1.tgz --no-check-certificate

    或者直接使用安装包kafka_2.13-3.6.0.tgz

    解压  tar -xvzf kafka_2.13-3.6.0.tgz

    修改配置

    进入/newdisk/kafka/kafka_2.13-3.6.0/config,vim server.properties

    1. # broker.id属性在kafka集群中必须要是唯一
    2. broker.id=0
    3. # kafka部署的机器ip和提供服务的端口号
    4. listeners=PLAINTEXT://内网ip:9092
    5. # kafka的消息存储文件
    6. log.dirs=/usr/local/data/kafka-logs
    7. # kafka连接zookeeper的地址
    8. zookeeper.connect=内网ip:2181
    1. broker.id=0
    2. listeners=PLAINTEXT://192.168.31.131:9092
    3. log.dir=/newdisk/kafka/data/kafka-logs
    4. zookeeper.connect=192.168.31.131:2181

    启动kafka(前提是zookeeper服务端启动)

    进入/newdisk/kafka/kafka_2.13-3.6.0/,执行如下命令

    bin/kafka-server-start.sh config/server.properties

    通过zookeeper客户端查看是否注册成功

    kafka基本操作

    创建topic

    参数 --topic 指定 Topic 名,--partitions 指定分区数,--replication-factor 指定副本数:

    ./kafka-topics.sh --create --bootstrap-server 192.168.31.131:9092 --replication-factor 1 --partitions 1 --topic test

    查看topic

    ./kafka-topics.sh --list --bootstrap-server 192.168.31.131:9092

     发送消息

    ./kafka-console-producer.sh --broker-list 192.168.31.131:9092 --topic test

    消费消息 

    ./kafka-console-consumer.sh --bootstrap-server 192.168.31.131:9092 --topic test --from-beginning

    安装可视化工具Apache Kafka UI

    地址:GitHub - provectus/kafka-ui: Open-Source Web UI for Apache Kafka Management

    简介

    Apache Kafka UI 是一个免费的开源 Web UI,用于监控和管理 Apache Kafka 集群。

    Apache Kafka UI 是一个简单的工具,可让您的数据流可观察,帮助更快地发现和解决问题并提供最佳性能。其轻量级仪表板可以轻松跟踪 Kafka 集群的关键指标 - 代理、主题、分区、生产和消耗。

    安装及启动(docker)

    运行如下命令

    docker run -it -p 8080:8080 -d -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui

    然后访问 Web UI :http://localhost:8080

    可视化工具kafka-eagle(推荐)

    下载 ,只需要到自己想要下载的文件路径下执行如下命令

    wget https://github.com/smartloli/kafka-eagle-bin/archive/v2.1.0.tar.gz

    解压,解压后发现里面还是一个压缩包

    tar -xzvf v2.1.0.tar.gz

    继续解压 

    tar -xvzf efak-web-2.1.0-bin.tar.gz

    复制到指定文件夹

     mv efak-web-2.1.0 /newdisk/kafka/kafka-web
    

    配置kafka_eagle环境变量:vim /etc/profile

    1. # KAFKA_EAGLE
    2. export KE_HOME=/newdisk/kafka/kafka-web
    3. export PATH=$PATH:$KE_HOME/bin

    source /etc/profile

    配置kafka_eagle,修改配置文件conf文件夹下的system-config.properties文件

     

    完整的配置如下

    1. ######################################
    2. # multi zookeeper & kafka cluster list
    3. # Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
    4. ######################################
    5. #efak.zk.cluster.alias=cluster1,cluster2
    6. #cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
    7. #cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
    8. efak.zk.cluster.alias=cluster1
    9. cluster1.zk.list=192.168.31.131:2181
    10. ######################################
    11. # zookeeper enable acl
    12. ######################################
    13. cluster1.zk.acl.enable=false
    14. cluster1.zk.acl.schema=digest
    15. cluster1.zk.acl.username=test
    16. cluster1.zk.acl.password=test123
    17. ######################################
    18. # broker size online list
    19. ######################################
    20. cluster1.efak.broker.size=20
    21. ######################################
    22. # zk client thread limit
    23. ######################################
    24. kafka.zk.limit.size=16
    25. ######################################
    26. # EFAK webui port
    27. ######################################
    28. efak.webui.port=8048
    29. ######################################
    30. # EFAK enable distributed
    31. ######################################
    32. efak.distributed.enable=false
    33. efak.cluster.mode.status=master
    34. efak.worknode.master.host=localhost
    35. efak.worknode.port=8085
    36. ######################################
    37. # kafka jmx acl and ssl authenticate
    38. ######################################
    39. cluster1.efak.jmx.acl=false
    40. cluster1.efak.jmx.user=keadmin
    41. cluster1.efak.jmx.password=keadmin123
    42. cluster1.efak.jmx.ssl=false
    43. cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore
    44. cluster1.efak.jmx.truststore.password=ke123456
    45. ######################################
    46. # kafka offset storage
    47. ######################################
    48. cluster1.efak.offset.storage=kafka
    49. #cluster2.efak.offset.storage=zk
    50. ######################################
    51. # kafka jmx uri
    52. ######################################
    53. cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi
    54. ######################################
    55. # kafka metrics, 15 days by default
    56. ######################################
    57. efak.metrics.charts=true
    58. efak.metrics.retain=15
    59. ######################################
    60. # kafka sql topic records max
    61. ######################################
    62. efak.sql.topic.records.max=5000
    63. efak.sql.topic.preview.records.max=10
    64. ######################################
    65. # delete kafka topic token
    66. ######################################
    67. efak.topic.token=keadmin
    68. ######################################
    69. # kafka sasl authenticate
    70. ######################################
    71. cluster1.efak.sasl.enable=false
    72. cluster1.efak.sasl.protocol=SASL_PLAINTEXT
    73. cluster1.efak.sasl.mechanism=SCRAM-SHA-256
    74. cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
    75. cluster1.efak.sasl.client.id=
    76. cluster1.efak.blacklist.topics=
    77. cluster1.efak.sasl.cgroup.enable=false
    78. cluster1.efak.sasl.cgroup.topics=
    79. #cluster2.efak.sasl.enable=false
    80. #cluster2.efak.sasl.protocol=SASL_PLAINTEXT
    81. #cluster2.efak.sasl.mechanism=PLAIN
    82. #cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
    83. #cluster2.efak.sasl.client.id=
    84. #cluster2.efak.blacklist.topics=
    85. #cluster2.efak.sasl.cgroup.enable=false
    86. #cluster2.efak.sasl.cgroup.topics=
    87. ######################################
    88. # kafka ssl authenticate
    89. ######################################
    90. cluster3.efak.ssl.enable=false
    91. cluster3.efak.ssl.protocol=SSL
    92. cluster3.efak.ssl.truststore.location=
    93. cluster3.efak.ssl.truststore.password=
    94. cluster3.efak.ssl.keystore.location=
    95. cluster3.efak.ssl.keystore.password=
    96. cluster3.efak.ssl.key.password=
    97. cluster3.efak.ssl.endpoint.identification.algorithm=https
    98. cluster3.efak.blacklist.topics=
    99. cluster3.efak.ssl.cgroup.enable=false
    100. cluster3.efak.ssl.cgroup.topics=
    101. ######################################
    102. # kafka sqlite jdbc driver address
    103. ######################################
    104. #efak.driver=org.sqlite.JDBC
    105. #efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
    106. #efak.username=root
    107. #efak.password=www.kafka-eagle.org
    108. ######################################
    109. # kafka mysql jdbc driver address
    110. ######################################
    111. efak.driver=com.mysql.cj.jdbc.Driver
    112. efak.url=jdbc:mysql://192.168.31.131:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
    113. efak.username=root
    114. efak.password=123456

     保存后,启动

    bin/ke.sh start

    我这边启动报错,根据提升是内存不够,我们把内存调小一点

    vim bin/ke.sh

    重新启动

     查看状态

    bin/ke.sh status

    浏览器访问http://192.168.31.131:8048/    用户名/密码  admin/123456

    到这边就成功了 

  • 相关阅读:
    在 Azure 中开发云原生应用程序:工具和技巧
    三、thymeleaf基本语法
    【python】内置库函数大集合 ❢ 这不得点赞收藏一波~
    Mysql 索引使用总结
    Redis学习笔记(四)Redis订阅发布&主从复制&哨兵模式
    Java面试八股之Java中为什么没有全局变量
    Hadoop 2.0:主流开源云架构(四)
    BP神经网络算法基本原理,bp神经网络算法的原理
    1.Netty概述
    【面试】——Java面试重难点剖析
  • 原文地址:https://blog.csdn.net/qq_62408075/article/details/136402103