1. 程式人生 > 其它 >[喵咪KafKa(2)]單機模式執行KafKa

[喵咪KafKa(2)]單機模式執行KafKa

[喵咪KafKa(2)]單機模式執行KafKa#

前言##

在上節我們介紹完KafKa之後,今天我們來搭建KafKa三種模式(單機模式,偽叢集,叢集)中的一種單機模式的搭建,在正常的使用中我們一般吧單機模式作為開發環境的標配,今天就來和喵咪一同搭建一個KafKa的單機環境吧!

附上:

喵了個咪的部落格:w-blog.cn

KafKa官網地址:http://kafka.apache.org/

Git地址:https://github.com/apache/kafka

百度網盤

1. 安裝配置JDK

首先我們應該要安裝配置JDK,應為zookeeper和KafKa都依賴與java環境

tar -zxvf jdk-7u79-linux-x64.tar.gz
mv jdk1.7/ /usr/local/

設定JAVA_HOME環境變數,編輯vim /etc/profile 加入如下內容

export JAVA_HOME=/usr/local/jdk1.7
export JRE_HOME=/usr/local/jdk1.7/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:
export PATH=$JAVA_HOME/bin:$PATH

更改後,執行命令使其生效

source /etc/profile

執行 java -version 會看到如下版本資訊證明已經安裝成功

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2. 安裝zookeeper##

KafKa依賴zookeeper的配置,排程,偏移,總之就是魚兒離不開水這個道理,KafKa沒有zookeeper也沒辦法玩起來,所以我們的第一步就是安裝zookeeper,KafKa在內部帶有一套zookeeper但是還是簡單單獨安裝配置(zookeeper需要叢集分散式來保證n-1的高可用)

zookeeper這裡使用的時3.4.5版本可在上方百度網盤進行下載

安裝配置zookeeper單機模式 :

cd /app/install
tar zxvf zookeeper-3.4.5-cdh4.3.0.tar.gz
mv zookeeper-3.4.5-cdh4.3.0 /tmp/zookeeper
cd /tmp/zookeeper/
mv conf/zoo_sample.cfg conf/zoo.cfg
mkdir data
echo 1 > data/myid #將本節點id設定到data/myid檔案中

修改bin/zkEnv.sh指令碼:

將ZOO_LOG_DIR="."修改為

ZOO_LOG_DIR="/tmp/zookeeper/data"

將ZOO_LOG4J_PROP=”INFO,CONSOLE”修改為

ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

修改bin/zkServer.sh指令碼:

將ZOOBIN="${BASH_SOURCE-$0}"修改為

ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

修改bin/zkCli.sh指令碼:

將ZOOBIN="${BASH_SOURCE-$0}"修改為

ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

建立軟連線到PATH:

ln -s /tmp/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
ln -s /tmp/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli

使用如下命令即可啟動zookeeper

zk-server start
#以下輸出為執行成功
JMX enabled by default
Using config: /tmp/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

在後續博文中喵咪會對zookeeper單獨開一個系列進行說明

3. 安裝KafKa0.8.2.2##

第二步就是安裝KafKa了,KafKa目前最新的版本是0.10.0.1,但是此版本基本只有親兒子語言能夠很好地使用,這裡採用一個比較穩定大部分kafka拓展能夠支援的0.8.2.2

KafKa的安裝包同樣可以在上方百度網盤中下載到或到http://kafka.apache.org/downloads.html下載相應的版本

tar -zxvf kafka_2.9.1-0.8.2.2.tgz
mv kafka_2.9.1-0.8.2.2 /usr/local/

到這裡KafKa就已經安裝完成(心裡暗念太簡單了),我們進入大KafKa得更目錄/usr/local/kafka_2.9.1-0.8.2.2來執行起來,這裡是需要制定KafKa連線的zookeeper才能啟動成功預設是localhost:2181,可以自行修改config/server.properties

// 執行KafKa
sh bin/kafka-server-start.sh config/server.properties &

這個時候會看到很多INFO語句如之中沒有包含的ERROR的報錯並且停留到如下輸出證明你的KafKa已經啟動成功了

INFO [Kafka Server 0], started (kafka.server.KafkaServer)

4. 使用命令列測試KafKa##

最後就是對KafKa進行一下簡單的測試,建立一個生產者和一個消費者之間互相通訊訊息

執行生產者producer

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

執行消費者consumer

sh bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

此時在生產者輸入內容,消費者這裡也能顯示出來

注意:當有跨機的producer或consumer連線時需要配置config/server.properties的host.name

5.總結

本節講解了KafKa在單機模式下如何安裝執行,近期的內容個將介紹使用PHP如何來操作KafKa,以及KafKa的配置檔案要如何配置講解,那麼今天的內容就到這裡了,多謝大家的支援別忘了關注喵咪的部落格哦!

注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!