1. 程式人生 > >單機環境搭建kafka

單機環境搭建kafka

先說說背景吧,前兩天面試到了一家公司,本打算做JavaEE開發,見我簡歷之前做過神經網路,就問我有沒有興趣做大資料方向。我覺得還可以,畢竟對於我來說是個新領域,於是就答應了,讓我自己先學習,給了我個方向,首先就是搭建環境唄,Spark+Kafka+Tomcat+Flume,做Tomcat日誌分析。小白,花了幾天時間才把spark搞定,今天總算是開始走下一步了,spark搭建另外寫,今天先把Kafka寫了

Kafka搭建

系統環境:Centos7.1 64位

作為一隻地地道道的小白,對於二進位制包是沒什麼概念的,從官網下載Kafka時,果斷選擇了下載source版本的,也就是類似於kafka-0.11.0.1-src.tgz這樣的包,搭建了一天,自帶的zookeeper啟動不起來,於是下載zookeeper,配置,啟動,把zookeeper啟動起來了,再來啟動Kafka,還是啟動不起來。人都不好了,偶然間發現,為啥所有的攻略上的全都是2.*的版本,我得是0.*的版本,於是檢視官網,發現我下載的是source版本,2.*的都是Binary版本,於是重新下載了,然後安裝就很順利了,心中一萬隻草尼瑪奔騰而過

下載

從官網下載就好,根據自己需要下載版本,本人下載的最新版本 kafka_2.12-0.11.0.1.tgz

上傳至伺服器

因為公司給的是遠端伺服器,只能先在自己電腦上下載了上傳至伺服器,上傳方式很多,本人用的是Win10,連結伺服器用的ssh,軟體用的putty,直接網上下載就好了
Win上傳到Linux方式除了ftp,也可以用putty的套件,pscp,在你下載的putty的包裡面一塊兒都有,這種方式本人比較喜歡,因為一般公司給你的一臺伺服器都是全新的,還得自己配ftp,實在麻煩,乾脆就用這種方式,方便快捷,首先進入到putty目錄下,然後直接執行上述命令就好了,會要求你輸入使用者密碼,然後就上傳了
pscp命令格式:

pscp localfilepath user@:/sevicefilepath
//localfilepath本地檔案地址
//user伺服器登入名
//serviceip伺服器IP
//sevicefilepath伺服器存放地址

解壓

我上傳到了/home/download,解壓之後放到了/usr/local/kafka目錄下

cd /home/download
tar -zxvf kafka_2.12-0.11.0.1.tgz
mv kafka_2.12-0.11.0.1.tgz/ /usr/local/kafka

啟動

啟動zookeeper
進入/usr/local/kafka目錄下,然後執行:

nohup bin/zookeeper-server
-start.sh config/zookeeper.properties >/dev/null 2>&1 & //nohup XXXX >/dev/null 2>&1 &是為了在後臺啟動,否則終端關閉程式就結束了 //這是啟動Kafka自帶的zookeeper,因為Kafka必須用到zookeeper,否則無法正常啟動

啟動Kafka

nohup bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &

輸入jps,檢視程序,如果有kakfa和QuorumPeerMain就表示啟動成功了
這裡寫圖片描述

測試

要是能檢視到就說明啟動成功了,不放心就進行一下測試。進入到Kafka目錄下,輸入以下命令

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
//建立主題:名稱為“test”、複製數目為1、partitions為1的topic主題,出現下圖所示表示建立成功

這裡寫圖片描述
接著輸入以下命令,啟動生產者,會出現一個>的符號,表示進入了,然後隨便輸入字串

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

開啟另一個終端,輸入以下命令,啟動消費者,會出現剛剛你輸入的字串,那麼你的單機Kafka就算配置完成了

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

這裡寫圖片描述
注:檢視已有主題

cd /usr/local/kafka
bin/kafka-topics.sh --list --zookeeper localhost:2181