kafka和flume偽分布式安裝
一、上傳并解壓壓縮包(不是root帶上sudo 并且按要求輸入密碼)
Kafka和flume的安裝包同理
?

1.1?進(jìn)入解壓路徑/usr/local然后ll發(fā)現(xiàn)解壓包所屬用戶和組為root,需修改為個人賬戶
chown和chgrp
?

1.2創(chuàng)建一個名為kafka的文件夾,然后將解壓的kafka移動進(jìn)去(注意sudo)
?

二、修改kafka的配置文件
2.1首先創(chuàng)建本地數(shù)據(jù)存放的目錄:
mkdir /usr/local/kafka/kafka_2.12-2.4.1/data
?

注意看創(chuàng)建文件所在的文件夾位置
修改config下的server.properties
?

注意看每一步所在位置
60行左右
?

自己再加一個(注意看注釋)
?

三、修改zookeeper配置
3.1首先創(chuàng)建本地數(shù)據(jù)存放的目錄:
mkdir /usr/local/kafka/kafka_2.12-2.4.1/zookeeper
?

vim config/zookeeper.properties
主要修改如下配置:16行左右
?

配置環(huán)境變量etc/profile
?

刷新環(huán)境變量
四、啟動zookeeper
啟動Kafka服務(wù)必須先啟動Zookeeper服務(wù),
使用如下命令后臺啟動自帶的Zookeeper:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties?(注意看運行命令所在的目錄,因為有daemon選項,所以是后臺運行,如果沒有加這個選項,需再開一個終端,因為zookeeper的啟動就會一直掛在這兒)
?

五、啟動kafka
注意使用-daemon后臺啟動Kafka服務(wù):
bin/kafka-server-start.sh -daemon config/server.properties
六、查看進(jìn)程 jps
?

七、驗證
7.1創(chuàng)建一個名為testTopic的主題(由于只有一個Kafka服務(wù),
創(chuàng)建主題時指定副本和分區(qū)都是1個)
kafka-topics.sh --create --topic testTopic --replication-factor 1 --partitions 1 --zookeeper localhost:2181?????(注意是在bin目錄下運行)

?
7.2查看剛創(chuàng)建的主題
kafka-topics.sh --list --zookeeper localhost:2181
?

7.3使用producer生產(chǎn)者發(fā)送消息
注意使用上面配置的host.name連接,
而且Kafka服務(wù)端口號默認(rèn)為9092,
否則有可能無法連接成功:
kafka-console-producer.sh --broker-list 192.168.17.12:9092 --sync --topic testTopic???(紅色為你自己的ip)
?

然后輸入要發(fā)送的消息:
"hello wrold"
7.4使用consumer消費者查看剛才發(fā)送的消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning???(注意需要新開一個窗口來執(zhí)行該命令,不是把前一條命令ctrl + c結(jié)束)
?

八、安裝flume
8.1重命名apache-flume-1.9.0-bin為flume
?

8.2進(jìn)入/etc/profile/修改環(huán)境變量
添加以下內(nèi)容:
export ?FLUME_HOME=/usr/local/flume
export PATH=$PATH:$FLUME_HOME/bin
?

刷新環(huán)境變量
8.3進(jìn)入路徑/usr/local/flume/conf
復(fù)制一份flume-env.sh.template文件并將其改為flume-env.sh
修改flume-env.sh配置文件?(22行左右)
?


?
8.4查看flume版本:
flume-ng version??有結(jié)果就說明安裝成功了
?

進(jìn)入路徑/usr/local/flume/conf創(chuàng)建agent.conf文件,添加以下內(nèi)容:
?

a1.sources = r1
a1.sinks = k1
a1.channels = c1
?
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
?
a1.sinks.k1.type = logger
?
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
?
a1.sources.r1.channels = c1
?
a1.sinks.k1.channel = c1
?

8.5啟動flume
flume-ng agent --conf conf --conf-file /usr/local/flume/conf/agent.conf --name a1 -Dflume.root.logger=INFO,console
?

啟動成功
?

8.6驗證
采用telnet測試
????linux需要先安裝telnet命令:yum?install?-y?telnet

????新開窗口輸入:telnet?localhost?44444
?

隨便打點東西,去另一個終端查看
?

?

?
另:此處有個解決連接,并非錯誤
?

原因是因為telnet不支持ipv6的監(jiān)聽方式,所以使用了127.0.0.1的ipv4監(jiān)聽方式,如果不想看見報錯的話,可以這樣寫,效果一樣的
?

