记kafka的安装

立山  金牌会员 | 2024-10-1 00:32:12 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 916|帖子 916|积分 2748

提示:文章写完后,目次可以自动天生,如何天生可参考右边的帮助文档
  
  

媒介

提示:由于服务器需求,需要安装消息队列kafka,之前是没有安装过的。用博客记载下这次安装

提示:以下是本篇文章正文内容,下面案例可供参考
一、kafka是什么?

Kafka 是一个开源的分布式流处理惩罚平台,最初由 LinkedIn 开发,并于2011年开源。它主要用于构建实时数据管道和流处理惩罚应用程序。Kafka 的设计目标是提供高吞吐量、低耽误和高可靠性,实用于处理惩罚大量数据的实时流。
二、安装步骤

1.解压文件到当前目次

代码如下(示例):
  1. root@hecs-349024:~# cd /usr/local/
  2. root@hecs-349024:/usr/local# mkdir kafka
  3. root@hecs-349024:/usr/local#
  4. root@hecs-349024:/usr/local#
  5. root@hecs-349024:/usr/local#
  6. root@hecs-349024:/usr/local#
  7. root@hecs-349024:/usr/local#
  8. root@hecs-349024:/usr/local# cd kafka/
  9. root@hecs-349024:/usr/local/kafka# ll
  10. total 8
  11. drwxr-xr-x  2 root root 4096 Jun 21 09:55 ./
  12. drwxr-xr-x 15 root root 4096 Jun 21 09:55 ../
  13. root@hecs-349024:/usr/local/kafka# tar -zxvf /root/kafka_2.13-3.7.0.tgz -C ./
复制代码
2.使用自定义的日志目次

代码如下(示例):
  1. drwxr-xr-x 8 root root  4096 Jun 21 09:59 ./
  2. drwxr-xr-x 3 root root  4096 Jun 21 09:56 ../
  3. drwxr-xr-x 3 root root  4096 Feb  9 21:34 bin/
  4. drwxr-xr-x 3 root root  4096 Feb  9 21:34 config/
  5. drwxr-xr-x 2 root root 12288 Jun 21 09:56 libs/
  6. -rw-r--r-- 1 root root 15125 Feb  9 21:25 LICENSE
  7. drwxr-xr-x 2 root root  4096 Feb  9 21:34 licenses/
  8. drwxr-xr-x 2 root root  4096 Jun 21 09:59 logs/
  9. -rw-r--r-- 1 root root 28359 Feb  9 21:25 NOTICE
  10. drwxr-xr-x 2 root root  4096 Feb  9 21:34 site-docs/
  11. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# cd logs/
  12. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/logs# ll
  13. total 8
  14. drwxr-xr-x 2 root root 4096 Jun 21 09:59 ./
  15. drwxr-xr-x 8 root root 4096 Jun 21 09:59 ../
  16. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/logs# pwd
  17. /usr/local/kafka/kafka_2.13-3.7.0/logs
复制代码
这里需要记下我们的log目次地址,我这里的是 /usr/local/kafka/kafka_2.13-3.7.0/logs
3.更改默认的设置文件

之前网上的教程是设置kafka的时间是需要依赖zookeeper的,于是网上找了一下资料如下:
   从Apache Kafka 2.8.0版本开始,不再需要ZooKeeper作为其元数据存储和管理体系。Kafka社区已经引入了一个新的Raft协议(Kafka Raft Metadata Quorum,或称KRaft),可以大概替换ZooKeeper来管理集群的元数据。
在使用KRaft的设置下,Kafka集群将直接受理自己需要的元数据信息,这种架构简化了部署,使得Kafka可以大概更容易地扩展和管理。然而,这个特性在Kafka 2.8.0版本中还是一个预览版,不建议在生产环境中使用。在后续的版本中,该特性会渐渐完善并稳固下来。
总结来说,如果你使用的是Kafka 2.8.0及其之后的版本,并且设置使用了KRaft模式,那么Kafka运行时就不再依赖ZooKeeper。但是,如果你使用的是Kafka 2.8.0之前的版本,或者没有启用KRaft模式,那么依然需要ZooKeeper来调和和管理集群元数据。
  那么进入我们的文件夹看一下,果然是能看到Kafka这个目次的
  1. root@hecs-349024:~# cd /usr/local/kafka/kafka_2.13-3.7.0/
  2. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# ll
  3. total 120
  4. drwxr-xr-x 8 root root  4096 Jun 21 10:07 ./
  5. drwxr-xr-x 3 root root  4096 Jun 21 09:56 ../
  6. drwxr-xr-x 3 root root  4096 Feb  9 21:34 bin/
  7. drwxr-xr-x 3 root root  4096 Feb  9 21:34 config/
  8. -rw-r--r-- 1 root root 35550 Jun 21 16:07 kafka.log
  9. drwxr-xr-x 2 root root 12288 Jun 21 09:56 libs/
  10. -rw-r--r-- 1 root root 15125 Feb  9 21:25 LICENSE
  11. drwxr-xr-x 2 root root  4096 Feb  9 21:34 licenses/
  12. drwxr-xr-x 3 root root  4096 Jun 21 17:06 logs/
  13. -rw-r--r-- 1 root root 28359 Feb  9 21:25 NOTICE
  14. drwxr-xr-x 2 root root  4096 Feb  9 21:34 site-docs/
  15. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# cd config/
  16. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config# ll
  17. total 84
  18. drwxr-xr-x 3 root root 4096 Feb  9 21:34 ./
  19. drwxr-xr-x 8 root root 4096 Jun 21 10:07 ../
  20. -rw-r--r-- 1 root root  906 Feb  9 21:25 connect-console-sink.properties
  21. -rw-r--r-- 1 root root  909 Feb  9 21:25 connect-console-source.properties
  22. -rw-r--r-- 1 root root 5475 Feb  9 21:25 connect-distributed.properties
  23. -rw-r--r-- 1 root root  883 Feb  9 21:25 connect-file-sink.properties
  24. -rw-r--r-- 1 root root  881 Feb  9 21:25 connect-file-source.properties
  25. -rw-r--r-- 1 root root 2063 Feb  9 21:25 connect-log4j.properties
  26. -rw-r--r-- 1 root root 2540 Feb  9 21:25 connect-mirror-maker.properties
  27. -rw-r--r-- 1 root root 2262 Feb  9 21:25 connect-standalone.properties
  28. -rw-r--r-- 1 root root 1221 Feb  9 21:25 consumer.properties
  29. drwxr-xr-x 2 root root 4096 Jun 21 10:03 kraft/
  30. -rw-r--r-- 1 root root 4917 Feb  9 21:25 log4j.properties
  31. -rw-r--r-- 1 root root 2065 Feb  9 21:25 producer.properties
  32. -rw-r--r-- 1 root root 6896 Feb  9 21:25 server.properties
  33. -rw-r--r-- 1 root root 1094 Feb  9 21:25 tools-log4j.properties
  34. -rw-r--r-- 1 root root 1169 Feb  9 21:25 trogdor.conf
  35. -rw-r--r-- 1 root root 1205 Feb  9 21:25 zookeeper.properties
  36. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config# cd kraft/
  37. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config/kraft# ll
  38. total 32
  39. drwxr-xr-x 2 root root 4096 Jun 21 10:03 ./
  40. drwxr-xr-x 3 root root 4096 Feb  9 21:34 ../
  41. -rw-r--r-- 1 root root 6111 Jun 21 10:02 broker.properties
  42. -rw-r--r-- 1 root root 5736 Jun 21 10:03 controller.properties
  43. -rw-r--r-- 1 root root 6313 Jun 21 10:01 server.properties
  44. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config/kraft# pwd
  45. /usr/local/kafka/kafka_2.13-3.7.0/config/kraft
  46. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config/kraft#
  47. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0/config/kraft# ll
  48. total 32
  49. drwxr-xr-x 2 root root 4096 Jun 21 10:03 ./
  50. drwxr-xr-x 3 root root 4096 Feb  9 21:34 ../
  51. -rw-r--r-- 1 root root 6111 Jun 21 10:02 broker.properties
  52. -rw-r--r-- 1 root root 5736 Jun 21 10:03 controller.properties
  53. -rw-r--r-- 1 root root 6313 Jun 21 10:01 server.properties
复制代码
可以看到在config目次下有kraft的目次,那么我们只需要设置kraft的目次即可
(broker、controller、server)三个目次

在broker和server的两个设置文件,我们要修改两处,其中log的地址是刚刚我们自定义的文件夹目次地址,localhost可以设置成我们需要的ip地址。
在controller中我们只需要设置日志的文件目次即可。不需要设置地址
4.完成启动前设置

设置KAFKA_CLUSTER_ID并长期化到存储目次中
   KAFKA_CLUSTER_ID是Kafka集群的唯一标识符,用于标识一个特定的Kafka集群。每个Kafka集群都会有一个独一无二的CLUSTER_ID,这个ID是在Kafka集群启动时天生的,并且在整个生命周期中保持不变。
  1. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
  2. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  3. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  4. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  5. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.propertiesmetaPropertiesEnsemble=MetaPropertiesEnsemble(metadataLogDir=Optional.empty, dirs={/usr/local/kafka/kafka_2.13-3.7.0/logs: EMPTY})
  6. Formatting /usr/local/kafka/kafka_2.13-3.7.0/logs with metadata.version 3.7-IV4.
  7. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# ^C
  8. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# ^C
  9. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# echo $KAFKA_CLUSTER_ID
  10. dFAmI9AKQVCd9ZD
  11. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
复制代码
5.检查服务启动以及日志情况

需要注意的是我们启动的时间需要指定设置文件举行启动,记得我们是kafka集群模式,指定目次的时间肯定注意看清晰
  1. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# nohup bin/kafka-server-start.sh config/kraft/server.properties > kafka.log 2>&1 &
  2. [1] 3508
  3. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  4. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  5. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  6. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  7. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  8. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  9. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  10. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# jps
  11. 3923 Jps
  12. 3508 Kafka
  13. 16837 jar
  14. root@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0#
  15. oot@hecs-349024:/usr/local/kafka/kafka_2.13-3.7.0# ll
  16. total 120
  17. drwxr-xr-x 8 root root  4096 Jun 21 10:07 ./
  18. drwxr-xr-x 3 root root  4096 Jun 21 09:56 ../
  19. drwxr-xr-x 3 root root  4096 Feb  9 21:34 bin/
  20. drwxr-xr-x 3 root root  4096 Feb  9 21:34 config/
  21. -rw-r--r-- 1 root root 35944 Jun 21 17:07 kafka.log
  22. drwxr-xr-x 2 root root 12288 Jun 21 09:56 libs/
  23. -rw-r--r-- 1 root root 15125 Feb  9 21:25 LICENSE
  24. drwxr-xr-x 2 root root  4096 Feb  9 21:34 licenses/
  25. drwxr-xr-x 3 root root  4096 Jun 21 17:22 logs/
  26. -rw-r--r-- 1 root root 28359 Feb  9 21:25 NOTICE
  27. drwxr-xr-x 2 root root  4096 Feb  9 21:34 site-docs/
复制代码
可以看到目次已经天生,最后我们看一下日志没题目就代表我们的安装部署启动已经乐成了
  1. [2024-06-21 10:07:09,460] INFO [BrokerLifecycleManager id=1] Successfully registered broker 1 with broker epoch 8 (kafka.server.BrokerLifecycleManager)
  2. [2024-06-21 10:07:09,461] INFO [BrokerServer id=1] Waiting for the broker to be unfenced (kafka.server.BrokerServer)
  3. [2024-06-21 10:07:09,462] INFO [BrokerLifecycleManager id=1] The broker is in RECOVERY. (kafka.server.BrokerLifecycleManager)
  4. [2024-06-21 10:07:09,525] INFO [BrokerLifecycleManager id=1] The broker has been unfenced. Transitioning from RECOVERY to RUNNING. (kafka.server.BrokerLifecycleManager)
  5. [2024-06-21 10:07:09,526] INFO [BrokerServer id=1] Finished waiting for the broker to be unfenced (kafka.server.BrokerServer)
  6. [2024-06-21 10:07:09,527] INFO authorizerStart completed for endpoint PLAINTEXT. Endpoint is now READY. (org.apache.kafka.server.network.EndpointReadyFutures)
  7. [2024-06-21 10:07:09,527] INFO [SocketServer listenerType=BROKER, nodeId=1] Enabling request processing. (kafka.network.SocketServer)
复制代码

总结

以上就是我个人安装kafka的过程记载,希望可以对各人有帮助!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表