環境說明:
- os:Ubuntu 16.04
- zookeeper:zookeeper 3.4.9
- kafka:kafka_2.11-0.11.0.0
- jdk:jdk 8(kafka啟動需要使用到jdk)
詳細說明(以下所有操作均是在root用戶下操作):
一、jdk安裝
jdk分為以下幾種:jre、openjdk、 oracle jdk,這里我們要安裝的是oracle jdk(推薦安裝)
add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java8-installer apt-get install oracle-java8-set-default
測試安裝版本:
二、安裝配置zookeeper單機模式
下載zookeeper 3.4.5,開始安裝:
cd /usr/local wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
等待安裝成功:
解壓:
tar -zxvf zookeeper-3.4.9.tar.gz
解壓后同目錄下便存在相同文件夾:
切換到conf目錄下:
cd zookeeper-3.4.9/conf/
復制zoo_sample.cfg到zoo.cfg:
cp zoo_sample.cfg zoo.cfg
然后編輯zoo.cfg如下(其它不用管,默認即可):
initLimit=10 syncLimit=5 dataDir=/home/young/zookeeper/data clientPort=2181
別忘了新建dataDir目錄:
mkdir /home/young/zookeeper/data
為zookeeper創建環境變量,打開/etc/profile文件,並在最末尾添加如下內容:
vi /etc/profile
添加內容如下:
export ZOOKEEPER_HOME=/home/young/zookeeper export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
配置完成之后,切換到zookeeper/bin目錄下,啟動服務:
關閉服務:
這里暫時先關閉zookeeper服務,防止下面使用kafka啟動時報端口占用錯誤。
三、安裝配置kafka單機模式
下載kafka:
cd /usr/local wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz
解壓:
tar -zxvf kafka_2.11-0.11.0.0.tgz
進入kafka/config目錄下:
以上文件是需要修改的文件,下面一個個修改配置:
配置server.properties:
以下為修改的,其他為默認即可:
#broker.id需改成正整數,單機為1就好 broker.id=1 #指定端口號 port=9092 #localhost這一項還有其他要修改,詳細見下面說明 host.name=localhost #指定kafka的日志目錄 log.dirs=/usr/local/kafka_2.11-0.11.0.0/kafka-logs #連接zookeeper配置項,這里指定的是單機,所以只需要配置localhost,若是實際生產環境,需要在這里添加其他ip地址和端口號 zookeeper.connect=localhost:2181
配置zookeeper.properties:
#數據目錄 dataDir=/usr/local/kafka_2.11-0.11.0.0/zookeeper/data #客戶端端口 clientPort=2181 host.name=localhost
配置producer.properties:
zookeeper.connect=localhost:2181
配置consumer.properties:
zookeeper.connect=localhost:2181
最后還需要拷貝幾個jar文件到kafka的libs目錄,分別是zookeeper-xxxx.jar、log4j-xxxx.jar、slf4j-simple-xxxx.jar,最后如下:
四、kafka的使用
啟動zookeeper服務:
bin/zookeeper-server-start.sh config/zookeeper.properties
新開一個窗口啟動kafka服務:
bin/kafka-server-start.sh config/server.properties
至此單機服務搭建已經全部完成。。。