java-kafka概述及zookeeper安裝

本章目錄node

  一 kafka簡介服務器

  二 kafka安裝網絡

  三 kafka測試測試

  四 zk安裝spa

 

一 kafka簡介code

  一、角色:server

    broker(一個kafka節點)中間件

    producers(生產者)blog

    topic(主題)ip

    consumers(消費者,消費者能夠配置組,讓這一組消費哪一個主題,在一個分區中的生產與消費是有序的)

    partition(topic的分區數,即表明這個topic數據分紅幾份)

    副本(topic的副本數,萬一有的節點掛掉了,能夠保證數據不丟失)

    offset(消費的偏移量,保證消費的有序性)

  二、須要zk集羣,爲何?(zk在kafka中佔據核心地位的

    2.1 管理着全部 broker 節點。

    2.2 主題管理:topic怎麼建立,分區,副本怎麼放,消費者如何消費,由zk管理。

    2.3 記錄offset。

    2.4 管理者消費者組:一個消費者組建立以後,來消費一個topic(消費者組是爲了提升對topic的消費速度)

  三、優點

    高吞吐量:零拷貝,Netty的網絡傳輸。

    數據保存:數據默認保存7天。

    偏移量管理:offset會更新到一個kafka自帶的topic【__consumer_offsets】

二 kafka安裝:

  解壓:

    tar gz -C 目錄

  配置:

    config/server.properties:

      broker.idbroker集羣中惟一標識id,0、一、二、3依次增加(broker即Kafka集羣中的一臺服務器))

      log.dirs=真實數據存儲路徑

      zookeeper.connect=node01:2181,node02:2181,node03:2181(須要zk集羣)

  啓動:

    bin/kafka-server-start.sh config/server.properties  //啓動kafka,且指定要讀取哪一個配置文件

三 kafka測試:(通常的使用都是整合其餘中間件使用,好比filebeat,flume等)

  查看幫助手冊:

    bin/kafka-console-consumer.sh help

  查看topic列表:

    bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --list

  查看「test」topic描述:

    bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --describe --topic test

  Topic建立

    bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --create --replication-factor 2 --partitions 3 --topic test

    (參數說明:

      --replication-factor:副本個數,默認1個

      --partitions:指定當前建立的topic分區數量,默認1個(向幾個分區中分發數據,此時一個分區有序,總體無序)

      --topic:指定新建topic的名稱

    )

  Producer建立(往主題中生產數據)

    bin/kafka-console-producer.sh --broker-list node06:9092,node07:9092,node08:9092 --topic test

 

  Consumer建立(消費某主題的數據)

    bin/kafka-console-consumer.sh --zookeeper node06:2181,node07:2181,node08:2181 --from-beginning --topic test

    (參數說明:

      --from-beginning 從頭消費

    )

  

四 zk安裝:

  1:解壓 tar  -zxvf   zookeeper.tar.gz

  2:修改 zoo.cfg 配置文件

    cp  zooo_sample.cfg  zoo.cfg

    vi  zoo.cfg

dataDir= /opt/zk/data     //修改dataDir的目錄,用戶數據持久化的,這個目錄自定義位置
#在zoo.cfg末尾添加如下內容 #2888 集羣內機器通信使用 #3888 選舉leader使用 #2181 這個端口號是供外部客戶端使用的,配置文件中的clientport
#使用node01 node02 node03是配置了hosts文件,作了ip與名稱的映射 server.
1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888  

  3:myid(在dataDir目錄下)  

    echo 1 > /opt/zk/data/myid(上面配置的三個服務器對應的myid是1 2 3)

  4:啓動(每一個節點都啓動)

    zkServer.sh start

相關文章
相關標籤/搜索