淘宝网网站建设的的意见,网站基础建设英文翻译,长沙网站建设服务,网站中引用字体mac 安装kafka安装kafka的原因安装kafka启动Zookeeper启动Kafka创建topic查看topic生产数据消费数据关闭zookeeper关闭kafka测试安装kafka的原因
用户微服务登录后需要向广告微服务中发送用户登录的信息以获取用户画像#xff08;这个过程是异步的#xff09;#xff0c;故…
mac 安装kafka安装kafka的原因安装kafka启动Zookeeper启动Kafka创建topic查看topic生产数据消费数据关闭zookeeper关闭kafka测试安装kafka的原因
用户微服务登录后需要向广告微服务中发送用户登录的信息以获取用户画像这个过程是异步的故而在用户微服务中配置了kafka。配置的kafka的连接地址是测试环境的为了避免给测试环境造成脏数据因而我需要本地Mac安装kafka。
安装kafka 我的网盘链接: https://pan.baidu.com/s/1mS6MVBehe2Kko70Zdln-hA?pwd62wr 提取码: 62wr kafka的官网地址https://www.apache.org/dyn/closer.cgi?path/kafka/3.1.0/kafka_2.12-3.1.0.tgz
下载完成后解压到当前目录中或者移动到你想要的目录比如
mv /Users/你的用户名/Downloads/kafka_2.12-3.1.0 /Users/你的用户名/kafka进入kafka的bin目录执行如下命令查看bin目录下的文件有下面要执行的文件。
cd ./kafka/bin
pwd 查看当前目录确实为bin目录
ls 查看bin目录下的文件你会看到zookeeper和kafka相关的文件如下是具体操作zookeeper和kafka。
启动Zookeeper
打开新的terminal进入Kafka的 bin目录执行如下命令
./zookeeper-server-start.sh ../config/zookeeper.properties zookeeper会打印一系列的日志如下所示
INFO Reading configuration from: ../config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,867] WARN ../config/zookeeper.properties is relative. Prepend ./ to indicate that youre sure! (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,879] INFO clientPortAddress is 0.0.0.0:2181 (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,879] INFO secureClientPort is not set (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,879] INFO observerMasterPort is not set (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,879] INFO metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,881] INFO autopurge.snapRetainCount set to 3 (org.apache.zookeeper.server.DatadirCleanupManager)
[2022-04-22 14:22:13,881] INFO autopurge.purgeInterval set to 0 (org.apache.zookeeper.server.DatadirCleanupManager)
[2022-04-22 14:22:13,881] INFO Purge task is not scheduled. (org.apache.zookeeper.server.DatadirCleanupManager)
[2022-04-22 14:22:13,881] WARN Either no config or no quorum defined in config, running in standalone mode (org.apache.zookeeper.server.quorum.QuorumPeerMain)
[2022-04-22 14:22:13,884] INFO Log4j 1.2 jmx support found and enabled. (org.apache.zookeeper.jmx.ManagedUtil)
[2022-04-22 14:22:13,896] INFO Reading configuration from: ../config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,896] WARN ../config/zookeeper.properties is relative. Prepend ./ to indicate that youre sure! (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,896] INFO clientPortAddress is 0.0.0.0:2181 (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,897] INFO secureClientPort is not set (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,897] INFO observerMasterPort is not set (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,897] INFO metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2022-04-22 14:22:13,897] INFO Starting server (org.apache.zookeeper.server.ZooKeeperServerMain)
[2022-04-22 14:22:13,912] INFO ServerMetrics initialized with provider org.apache.zookeeper.metrics.impl.DefaultMetricsProvider60addb54 (org.apache.zookeeper.server.ServerMetrics)
[2022-04-22 14:22:13,916] INFO zookeeper.snapshot.trust.empty : false (org.apache.zookeeper.server.persistence.FileTxnSnapLog)
[2022-04-22 14:22:13,930] INFO (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,930] INFO ______ _ (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,930] INFO |___ / | | (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,930] INFO / / ___ ___ | | __ ___ ___ _ __ ___ _ __ (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,930] INFO / / / _ \ / _ \ | |/ / / _ \ / _ \ | _ \ / _ \ | __| (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,931] INFO / /__ | (_) | | (_) | | | __/ | __/ | |_) | | __/ | | (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,931] INFO /_____| \___/ \___/ |_|\_\ \___| \___| | .__/ \___| |_| (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,931] INFO | | (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,931] INFO |_| (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,931] INFO (org.apache.zookeeper.server.ZooKeeperServer)
[2022-04-22 14:22:13,933] INFO Server environment:zookeeper.version3.6.3--6401e4ad2087061bc6b9f80dec2d69f2e3c8660a, built on 04/08/2021 16:35 GMT (org.apache.zookeeper.server.ZooKeeperServer)
......启动Kafka
打开新的terminal进入Kafka的 bin目录执行如下命令
./kafka-server-start.sh ../config/server.properties 你会看到如下一系列日志直到看到这句话INFO [KafkaServer id0] started (kafka.server.KafkaServer)就说明启动成功了
INFO Registered kafka:typekafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2022-04-22 14:23:55,309] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiationtrue to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util)
[2022-04-22 14:23:55,384] INFO Registered signal handlers for TERM, INT, HUP (org.apache.kafka.common.utils.LoggingSignalHandler)
[2022-04-22 14:23:55,388] INFO starting (kafka.server.KafkaServer)
[2022-04-22 14:23:55,388] INFO Connecting to zookeeper on localhost:2181 (kafka.server.KafkaServer)
[2022-04-22 14:23:55,411] INFO [ZooKeeperClient Kafka server] Initializing a new session to localhost:2181. (kafka.zookeeper.ZooKeeperClient)
[2022-04-22 14:23:55,417] INFO Client environment:zookeeper.version3.6.3--6401e4ad2087061bc6b9f80dec2d69f2e3c8660a, built on 04/08/2021 16:35 GMT (org.apache.zookeeper.ZooKeeper)
[2022-04-22 14:23:55,417] INFO Client environment:host.namelocalhost (org.apache.zookeeper.ZooKeeper)
[2022-04-22 14:23:55,417] INFO Client environment:java.version1.8.0_211 (org.apache.zookeeper.ZooKeeper)
[2022-04-22 14:23:55,417] INFO Client environment:java.vendorOracle Corporation (org.apache.zookeeper.ZooKeeper)
[2022-04-22 14:23:55,417] INFO Client environment:java.home/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home (org.apache.zookeeper.ZooKeeper)
。。。创建topic
开启新的terminal进入kafka的bin目录执行如下命令
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testInfoTopic --partitions 2 --replication-factor 1你会看到如上图所示的信息就说明创建topic成功。
查看topic
基于上一个terminal的kafka的bin目录执行如下命令
./kafka-topics.sh --list --bootstrap-server localhost:9092你会看到所创建的topictestInfoTopic
生产数据
基于上一个terminal的kafka的bin目录执行如下命令
./kafka-console-producer.sh --broker-list localhost:9092 --topic testInfoTopic先不输入数据。
消费数据
开启新的terminal进入kafka的bin目录中执行如下命令
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testInfoTopic你会看到此时没有数据。
在生产者的terminal中发送消息: 在消费者的terminal中消费消息 综上所看消息成功发送也被成功消费。
关闭zookeeper
开启新的terminal进入kafka的bin目录执行如下命令
sh zookeeper-server-stop.sh再次执行这个命令你会看到No zookeeper server to stop说明zookeeper已关闭。
但是执行命令ps -eaf | grep zookeeper仍看到zookeeper的进程说明还有其子节点没有关闭。此为kafka没有关闭即70267于是去关闭kafka. 关闭kafka
在上面的terminal中执行如下命令关闭kafka
sh kafka-server-stop.sh再次执行该命令你会看到No kafka server to stop。 执行命令ps -eaf | grep zookeeper没看到70267的kafka节点进程说明kafka已关闭。 进而执行命令ps -eaf | grep kafka 没有kafka的进程再次说明kafka已关闭。 因而即便zookeeper关闭了如果其下节点没有关闭节点进程仍旧存在。因而zookeeper和kafka都要关闭。 测试
启动用户微服务其kafka的topic是UserLoginInfo。
使用postman调用登录接口同时在terminal启动kafka和zookeeper服务再开启一新terminal并执行命令./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic UserLoginInfo 得到如下消息 说明kafka和zookeeper是生效的。
注意事项./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic UserLoginInfo 在接口请求之前要执行。