<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          聊聊 Kafka: 在 Linux 環(huán)境上搭建 Kafka

          共 3840字,需瀏覽 8分鐘

           ·

          2021-08-24 00:55

          點擊上方老周聊架構(gòu)關(guān)注我


          一、環(huán)境準備

          1.1 Java環(huán)境為前提

          1.1.1 上傳jdk-8u261-linux-x64.rpm到服務(wù)器并安裝

          # 安裝命令
          rpm -ivh jdk-8u261-linux-x64.rpm 



          1.1.2 配置環(huán)境變量

          # 編輯配置文件,jdk的bin目錄到/etc/profile文件,對所有用戶的shell有效
          vim /etc/profile
          # 生效
          source /etc/profile



          export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
          export PATH=$PATH:$JAVA_HOME/bin



          # 驗證
          java -version

          至此,jdk安裝成功。

          1.2 Zookeeper的安裝配置

          1.2.1 上傳zookeeper-3.4.14.tar.gz到服務(wù)器,解壓到/opt

          # 解壓zk到指定目錄
          tar -zxf zookeeper-3.4.14.tar.gz -C /opt



          1.2.2 修改Zookeeper保存數(shù)據(jù)的目錄,dataDir

          # 進入conf配置目錄
          cd /opt/zookeeper-3.4.14/conf
          # 復制zoo_sample.cfg命名為zoo.cfg
          cp zoo_sample.cfg zoo.cfg
          # 編輯zoo.cfg文件
          vim zoo.cfg
          dataDir=/var/riemann/zookeeper/data






          1.2.3 編輯/etc/profile,使配置生效

          設(shè)置環(huán)境變量ZOO_LOG_DIR,指定Zookeeper保存日志的位置;
             ZOOKEEPER_PREFIX指向Zookeeper的解壓目錄; 
          將Zookeeper的bin目錄添加到PATH中:

          在這里插入圖片描述
          export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
          export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
          export ZOO_LOG_DIR=/var/riemann/zookeeper/log

          配置完以后再生效配置:

          source /etc/profile 

          1.2.4 啟動Zookeeper,確認Zookeeper的狀態(tài)

          zkServer.sh start 


          至此,zookeeper安裝成功。

          1.3 Kafka 的安裝與配置

          1.3.1 上傳kafka_2.12-1.0.2.tgz到服務(wù)器并解壓

          tar -zxf kafka_2.12-1.0.2.tgz -C /opt 



          1.3.2 配置環(huán)境變量并生效

          vim /etc/profile 
          export KAFKA=/opt/kafka_2.12-1.0.2
          export PATH=$PATH:$KAFKA/bin
          source /etc/profile 

          1.3.3 配置/opt/kafka_2.12-1.0.2/config中的server.properties文件

          vi  /opt/kafka_2.12-1.0.2/config/server.properties



          `Kafka`連接`Zookeeper`的地址,此處使用本地啟動的`Zookeeper`實例
          連接地址是`localhost:2181`
          后面的 `myKafka` 是`Kafka`在Zookeeper中的根節(jié)點路徑

          配置kafka存儲持久化數(shù)據(jù)目錄


          log.dirs=/var/riemann/kafka/kafka-logs

          創(chuàng)建上述持久化數(shù)據(jù)目錄

          mkdir -p /var/riemann/kafka/kafka-logs

          1.4 啟動Kafka

          進入Kafka安裝的根目錄,執(zhí)行如下命令:

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

          啟動成功,可以看到控制臺輸出的最后一行的started狀態(tài):此時kafka安裝成功。

          1.5 重新開一個窗口,查看Zookeeper的節(jié)點



          1.6 此時Kafka是前臺模式啟動,要停止,使用Ctrl+C

          如果要后臺啟動,使用命令:

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

          查看Kafka的后臺進程:

          ps -ef | grep kafka


          停止后臺運行的Kafka:

          kafka-server-stop.sh 

          二、生產(chǎn)與消費

          查看zookeeper狀態(tài),zookeeper啟動成功,再啟動kafka。


          2.1 kafka-topics.sh 用于管理主題

          查看命令的幫助信息



          # 列出現(xiàn)有的主題
          [root@master1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
          # 創(chuàng)建主題,該主題包含一個分區(qū),該分區(qū)為Leader分區(qū),它沒有Follower分區(qū)副本。
          [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_test --partitions 1 --replication-factor 1
          # 查看分區(qū)信息
          [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
          # 查看指定主題的詳細信息
          [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_test 
          # 刪除指定主題
          [root@master1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_test 

          列出現(xiàn)有主題,創(chuàng)建主題,該主題包含一個分區(qū),該分區(qū)為Leader分區(qū),它沒有Follower分區(qū)副本。

          查看指定主題的詳細信息


          創(chuàng)建主題,該主題包含多個分區(qū)、

          多個分區(qū):橫向擴展
          多個副本:高可用

          2.2 kafka-console-consumer.sh用于消費消息

          # 開啟消費者
          [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test 
          # 開啟消費者方式二,從頭消費,不按照偏移量消費
          [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test --from-beginning

          2.3 kafka-console-producer.sh用于生產(chǎn)消息

          # 開啟生產(chǎn)者
          [root@node1 ~]# kafka-console-producer.sh --topic topic_test --broker-list  localhost:9020

          2.4 具體操作

          開啟消費者和生產(chǎn)者,生產(chǎn)并消費消息。


          消費者,按照偏移量消費


          消費者從頭消費,不按照偏移量消費




          歡迎大家關(guān)注我的公眾號【老周聊架構(gòu)】,Java后端主流技術(shù)棧的原理、源碼分析、架構(gòu)以及各種互聯(lián)網(wǎng)高并發(fā)、高性能、高可用的解決方案。

          喜歡的話,點贊、再看、分享三連。



          點個在看你最好看

          瀏覽 39
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费国产日本 | www色色五月天 | 日本卖婬片免费看 | 在线日韩色 | 巨乳波霸在线 |