kafka叢集搭建

禁止進入i發表於2019-01-19
  1. 伺服器基本資訊

ip地址 安裝服務
10.0.0.52 zookeeper-3.4.10、kafka2.10、kafka-manager
10.0.0.53 zookeeper-3.4.10、kafka2.10
10.0.0.54 zookeeper-3.4.10、kafka2.10

2.環境資訊

2.1 JDK
http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
2.2 zookeeper(zookeeper-3.4.10)
http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

3.安裝jdk(三臺主機上執行)

3.1配置java環境
cd /usr/loca/src/
tar -C /usr/local/ -xzf /usr/local/src/jdk-8u111-linux-x64.tar.gz

3.2配置java變數

vim /etc/profile

新增如下資訊:

export JAVA_HOME=/usr/local/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.3重新整理配置檔案:
source /etc/profile

4.安裝zookeeper(三臺主機上執行)

4.1 安裝zookeeper
cd /usr/local/src/
tar -C /usr/local/ -xzf zookeeper-3.4.10.tar.gz
cd /usr/local/zookeeper-3.4.10
ln -s zookeeper-3.4.10 zookeeper
4.2生成配置檔案
cd /usr/local/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
4.3修改zookeeper配置檔案
vim /usr/local/zookeeper/conf/zoo.cfg
maxClientCnxns=60
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/logs/zookeeper
clientPort=2181
server.1=10.0.0.52:2888:3888
server.2=10.0.0.53:2888:3888
server.3=10.0.0.54:2888:3888
2888表示zookeeper程式監聽埠,3888表示zookeeper選舉通訊埠。
4.4 建立所需資料夾
mkdir -p /data/zookeeper/data
mkdir -p /data/logs/zookeeper
4.5 生成myid

主機(10.0.0.52)

echo "1" >/data/zookeeper/data/myid ##生成ID,這裡需要注意, myid對應的zoo.cfg的server.ID,比如第二臺zookeeper主機對應的myid應該是2

主機(10.0.0.53)

echo "2" >/data/zookeeper/data/myid

主機(10.0.0.54)

echo "3" >/data/zookeeper/data/myid
4.6 啟動zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh start#
4.7 關閉zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh stot
4.8 檢視zk狀態
cd /usr/local/zookeeper/bin
./zkServer.sh status
4.9 檢視相關資訊
/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
  1. 安裝kafka(三臺主機上執行)
    5.1 安裝kafka
cd /usr/local/src
tar zxvf kafka_2.10-0.10.2.1.tgz
mv kafka_2.10-0.10.2.1 /usr/local/kafka
5.2 修改配置檔案
vim /usr/local/kafka/config/server.properties
具體引數如下:
# 每臺伺服器的broker.id都不能相同
broker.id=1 

# 埠
port=19092

# 主機名
host.name=10.0.0.52

# 是否可以刪除topic
delete.topic.enable=true

# 具體一些引數
log.retention.hours=168 
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880

# 設定zookeeper叢集地址與埠
zookeeper.connect=10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181
5.3 啟動kafka(三臺)
cd /data/kafka/kafka_2.12-0.11.0.0/bin 
./kafka-server-start.sh -daemon ../config/server.properties &
5.4 建立topic
/kafka-topics.sh --create --zookeeper 10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181 --replication-factor 2 --partitions 1 --topic tttt
引數解釋:
複製兩份
--replication-factor 2
建立1個分割槽
--partitions 1
topic 名稱
--topic tttt
5.5 檢視已經存在的topic
./kafka-topics.sh --list --zookeeper 10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181

相關文章