storm和kafka集群安裝是沒(méi)有必然聯(lián)系的,我將這兩個(gè)寫(xiě)在一起,是因?yàn)樗麄兌际怯蓏ookeeper進(jìn)行管理的,也都依賴于JDK的環(huán)境,為了不重復(fù)再寫(xiě)一遍配置,所以我將這兩個(gè)寫(xiě)在一起。若只需一個(gè),只需挑選自己選擇的閱讀即可。
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了做網(wǎng)站、網(wǎng)站制作,成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。這兩者的依賴如下:
說(shuō)明: Storm1.0 和Kafka2.0對(duì)JDK要求是1.7以上,Zookeeper3.0以上。
下載地址:
Zookeeper:https://zookeeper.apache.org/releases.html#download
Storm: http://storm.apache.org/downloads.html
Kafka: http://kafka.apache.org/downloads
每臺(tái)機(jī)器都要安裝JDK!??!
說(shuō)明: 一般CentOS自帶了openjdk,但是我們這里使用的是oracle的JDK。所以要寫(xiě)卸載openjdk,然后再安裝在oracle下載好的JDK。如果已經(jīng)卸載,可以跳過(guò)此步驟。
首先輸入 java -version
查看是否安裝了JDK,如果安裝了,但版本不適合的話,就卸載
輸入
rpm -qa | grep java
查看信息
然后輸入:
rpm -e --nodeps “你要卸載JDK的信息”
如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
確認(rèn)沒(méi)有了之后,解壓下載下來(lái)的JDK
tar -xvf jdk-8u144-linux-x64.tar.gz
移動(dòng)到opt/java文件夾中,沒(méi)有就新建,然后將文件夾重命名為jdk1.8。
mv jdk1.8.0_144 /opt/java
mv jdk1.8.0_144 jdk1.8
然后編輯 profile 文件,添加如下配置
輸入:
vim /etc/profile
添加:
export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/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
查看是否配置成功
將下載下來(lái)的Zookeeper 的配置文件進(jìn)行解壓
在linux上輸入:
tar -xvf zookeeper-3.4.10.tar.gz
然后移動(dòng)到/opt/zookeeper里面,沒(méi)有就新建,然后將文件夾重命名為zookeeper3.4
輸入
mv zookeeper-3.4.10 /opt/zookeeper
mv zookeeper-3.4.10 zookeeper3.4
編輯 /etc/profile 文件
輸入:
export ZK_HOME=/opt/zookeeper/zookeeper3.4
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:$PATH
輸入:
source /etc/profile
使配置生效
在集群的服務(wù)器上都創(chuàng)建這些目錄
mkdir /opt/zookeeper/data
mkdir /opt/zookeeper/dataLog
并且在/opt/zookeeper/data目錄下創(chuàng)建myid文件
輸入:
touch myid
創(chuàng)建成功之后,更改myid文件。
我這邊為了方便,將master、slave1、slave2的myid文件內(nèi)容改為1,2,3
切換到/opt/zookeeper/zookeeper3.4/conf 目錄下
如果沒(méi)有 zoo.cfg 該文件,就復(fù)制zoo_sample.cfg文件并重命名為zoo.cfg。
修改這個(gè)新建的zoo.cfg文件
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/dataLog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
說(shuō)明:client port,顧名思義,就是客戶端連接zookeeper服務(wù)的端口。這是一個(gè)TCP port。dataLogDir里是放到的順序日志(WAL)。而dataDir里放的是內(nèi)存數(shù)據(jù)結(jié)構(gòu)的snapshot,便于快速恢復(fù)。為了達(dá)到性能大化,一般建議把dataDir和dataLogDir分到不同的磁盤(pán)上,這樣就可以充分利用磁盤(pán)順序?qū)懙奶匦?。dataDir和dataLogDir需要自己創(chuàng)建,目錄可以自己制定,對(duì)應(yīng)即可。server.1中的這個(gè)1需要和master這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。server.2中的這個(gè)2需要和slave1這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。server.3中的這個(gè)3需要和slave2這個(gè)機(jī)器上的dataDir目錄中的myid文件中的數(shù)值對(duì)應(yīng)。當(dāng)然,數(shù)值你可以隨便用,只要對(duì)應(yīng)即可。2888和3888的端口號(hào)也可以隨便用,因?yàn)樵诓煌瑱C(jī)器上,用成一樣也無(wú)所謂。
1.tickTime:CS通信心跳數(shù)
Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè) tickTime 時(shí)間就會(huì)發(fā)送一個(gè)心跳。tickTime以毫秒為單位。
tickTime=2000
2.initLimit:LF初始通信時(shí)限
集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間初始連接時(shí)能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
initLimit=10
3.syncLimit:LF同步通信時(shí)限
集群中的follower服務(wù)器與leader服務(wù)器之間請(qǐng)求和應(yīng)答之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
syncLimit=5
依舊將zookeeper傳輸?shù)狡渌臋C(jī)器上,記得更改 /opt/zookeeper/data 下的myid,這個(gè)不能一致。
輸入:
scp -r /opt/zookeeper root@slave1:/opt
scp -r /opt/zookeeper root@slave2:/opt
因?yàn)閦ookeeper是選舉制,它的主從關(guān)系并不是像hadoop那樣指定的,具體可以看官方的文檔說(shuō)明。
成功配置zookeeper之后,在每臺(tái)機(jī)器上啟動(dòng)zookeeper。
切換到zookeeper目錄下
cd /opt/zookeeper/zookeeper3.4/bin
輸入:
zkServer.sh start
成功啟動(dòng)之后
查看狀態(tài)輸入:
zkServer.sh status
可以查看各個(gè)機(jī)器上zookeeper的leader和follower
將下載下來(lái)的storm的配置文件進(jìn)行解壓
在linux上輸入:
tar -xvf apache-storm-1.1.1.tar.gz
然后移動(dòng)到/opt/storm里面,沒(méi)有就新建,然后將文件夾重命名為storm1.1
輸入
mv apache-storm-1.1.1 /opt/storm
mv apache-storm-1.1.1 storm1.1
編輯 /etc/profile 文件
添加:
export STORM_HOME=/opt/storm/storm1.1
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:${STORM_HOME}/bin:$PATH
輸入 storm version 查看版本信息
編輯 storm/conf 的 storm.yarm。
進(jìn)行如下編輯:
輸入:
vim storm.yarm
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
storm.local.dir: "/root/storm"
nimbus.seeds: ["master"]
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
說(shuō)明:
注: 這些配置前面不要有空格?。?!,不然會(huì)報(bào)錯(cuò)。 這里使用的是主機(jī)名(做了映射),也可以使用IP。實(shí)際的以自己的為準(zhǔn)。
可以使用scp命令或者ftp軟件將storm復(fù)制到其他機(jī)器上
成功配置之后,然后就可以啟動(dòng)Storm了,不過(guò)要確保JDK、Zookeeper已經(jīng)正確安裝,并且Zookeeper已經(jīng)成功啟動(dòng)。
切換到 storm/bin 目錄下
在主節(jié)點(diǎn)(master)啟動(dòng)輸入:
storm nimbus >/dev/null 2>&1 &
訪問(wèn)web界面(master)輸入:
storm ui
從節(jié)點(diǎn)(slave1,slave2)輸入:
storm supervisor >/dev/null 2>&1 &
在瀏覽器界面輸入: 8080端口
成功打開(kāi)該界面,表示環(huán)境配置成功:
將下載下來(lái)的Kafka的配置文件進(jìn)行解壓
在linux上輸入:
tar -xvf kafka_2.12-1.0.0.tgz
然后移動(dòng)到/opt/kafka里面,沒(méi)有就新建,然后將文件夾重命名為kafka2.12
輸入
mv kafka_2.12-1.0.0 /opt/kafka
mv kafka_2.12-1.0.0 kafka2.12
編輯 /etc/profile 文件
輸入:
export KAFKA_HOME=/opt/kafka/kafka2.12
export PATH=.:${JAVA_HOME}/bin:${KAFKA_HOME}/bin:${ZK_HOME}/bin:$PATH
輸入:
source /etc/profile
使配置生效
注:其實(shí)要說(shuō)的話,如果是單機(jī)的話,kafka的配置文件可以不用修改,直接到bin目錄下啟動(dòng)就可以了。但是我們這里是集群,所以稍微改下就可以了。
切換到kafka/config 目錄下
編輯server.properties 文件
需要更改的是Zookeeper的地址:
找到Zookeeper的配置,指定Zookeeper集群的地址,設(shè)置如下修改就可以了
zookeeper.connect=master:2181,slave1:2181,slave2:2181
zookeeper.connection.timeout.ms=6000
其它可以選擇更改的有
1 ,num.partitions 表示指定的分區(qū),默認(rèn)為1
2,log.dirs kafka的日志路徑,這個(gè)按照個(gè)人需求更改就行
3, broker.id:非負(fù)整數(shù),用于唯一標(biāo)識(shí)broker,每臺(tái)不一樣
...
注:還有其它的配置,可以查看官方文檔,如果沒(méi)有特別要求,使用默認(rèn)的就可以了。
配置好之后,記得使用scp 命令傳輸?shù)狡渌募荷?,記得更?strong>server.properties 文件!
集群每臺(tái)集群都需要操作!
切換到kafka/bin 目錄下
輸入:
kafka-server-start.sh
然后輸入jps名稱查看是否成功啟動(dòng):
成功啟動(dòng)之后,可以進(jìn)行簡(jiǎn)單的測(cè)試下
首先創(chuàng)建個(gè)topic
輸入:
kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5 --replication-factor 2
說(shuō)明: 這里是創(chuàng)建了一個(gè)名為 t_test 的topic,并且指定了5個(gè)分區(qū),每個(gè)分區(qū)指定了2個(gè)副本數(shù)。如果不指定分區(qū),默認(rèn)的分區(qū)就是配置文件配置的。
然后進(jìn)行生產(chǎn)數(shù)據(jù)
輸入:
kafka-console-producer.sh --broker-list master:9092 --topic t_test
可以使用進(jìn)行Ctrl+D 退出
然后我們?cè)俅蜷_(kāi)一個(gè)xshell窗口
進(jìn)行消費(fèi)
輸入:
kafka-console-consumer.sh --zookeeper master:2181 --topic t_test --from-beginning
可以使用進(jìn)行Ctrl+C 退出
可以看到數(shù)據(jù)已經(jīng)正常消費(fèi)了。
1.啟動(dòng)和關(guān)閉kafka
bin/kafka-server-start.sh config/server.properties >>/dev/null 2>&1 &
bin/kafka-server-stop.sh
2.查看kafka集群中的消息隊(duì)列和具體隊(duì)列
查看集群所有的topic
kafka-topics.sh --zookeeper master:2181,slave1:2181,slave2:2181 --list
查看一個(gè)topic的信息
kafka-topics.sh --zookeeper master:2181 --describe --topic t_test
3.創(chuàng)建Topic
kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5 --replication-factor 2
4.生產(chǎn)數(shù)據(jù)和消費(fèi)數(shù)據(jù)
kafka-console-producer.sh --broker-list master:9092 --topic t_test
Ctrl+D 退出
kafka-console-consumer.sh --zookeeper master:2181 --topic t_test --from-beginning
Ctrl+C 退出
5.kafka的刪除命令
kafka-topics.sh --delete --zookeeper master:2181 --topic t_test
6,添加分區(qū)
kafka-topics.sh --alter --topict_test --zookeeper master:2181 --partitions 10
Storm環(huán)境搭建參考官方文檔:
http://storm.apache.org/releases/1.1.1/Setting-up-a-Storm-cluster.html
Kafka環(huán)境搭建參考官方文檔:
http://kafka.apache.org/quickstart
到此,本文結(jié)束,謝謝閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:kafka和storm集群的環(huán)境安裝-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article48/idhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、App設(shè)計(jì)、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容