寫文章前先重裝系統(tǒng)尊惰,保證環(huán)境和諧(沒說要你重裝)讲竿。還有個人用的root權(quán)限,非root用戶賦權(quán)操作請自行處理
參考文獻
此文獻有部分不適配新版環(huán)境弄屡,僅作參考题禀。
環(huán)境確認
1.centos7.5
2.jdk1.8.0_201
3.ZooKeeper-3.4.13
4.apache-storm-1.2.2
NO_1.驗證JAVA環(huán)境
java -version
不存在會找不到指令,我們下面開始安裝java
1.1下載安裝包
使用以下鏈接 - www.oracle.com下載最新版本的JDK
這里使用的版本是最新的Java SE Development Kit 8u201膀捷,安裝包名是jdk-8u201-linux-x64.tar.gz迈嘹,推薦安裝與本地開發(fā)相同的環(huán)境,不然遇到各種奇怪的無法解析JAR問題,那就頭疼了秀仲。
建立一個目錄存儲安裝包融痛,使用文件管理工具(個人使用lrzsz,或者使用簡單的FileZilla)神僵,上傳安裝包酌心,cd到安裝目錄下(個人放在了~/package)
cd ~/package
tar -zxf jdk-8u201-linux-x64.tar.gz
1.2移動到/usr/local/java文件夾
mkdir /usr/local/java
mv jdk1.8.0_201 /usr/local/java/
1.3設(shè)置路徑
設(shè)置PATH和JAVA_HOME,請?zhí)砑右韵旅畹?etc/profile文件(此文件處于系統(tǒng)級開機進程中挑豌,會適用到所有用戶)
export JAVA_HOME =/usr/local/java/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
應(yīng)用變更
source /etc/profile
1.4維護java連接
update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_201/bin/java 100
1.5驗證可用性
java -version
NO_2.ZooKeeper框架安裝
要在您的計算機上安裝ZooKeeper框架,請訪問以下鏈接并下載最新版本的ZooKeeper http://zookeeper.apache.org/releases.html
到目前為止墩崩,最新版本的ZooKeeper是3.4.13(zookeeper-3.4.13.tar.gz)氓英。
2.1解壓tar文件
cd ~/package
tar -zxf zookeeper-3.4.13.tar.gz
cd zookeeper-3.4.13
mkdir data
cd ~/package
mkdir /usr/local/zookeeper
mv zookeeper-3.4.13 /usr/local/zookeeper/
修改zookeeper配置文件
注意,zookeeper的配置文件當(dāng)前版本默認為zoo.cfg鹦筹,但設(shè)定檔內(nèi)只有zoo_sample.cfg是無法使用的铝阐,所以我們復(fù)制一份出來。
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
修改zoo.cfg檔內(nèi)容(dataDir可以依個人習(xí)慣歸類到一起铐拐,這個目錄是必須存在的)徘键,其他檔案內(nèi)容依個人需求。默認配置是沒有集群的遍蟋,需要了解如何運行單例或者集群模式請關(guān)注
Storm開發(fā)——Zookeeper集群設(shè)置(集群)
Storm開發(fā)——Zookeeper集群設(shè)置(單例)
dataDir=/usr/local/zookeeper/zookeeper-3.4.13/data
啟動ZooKeeper服務(wù)器
bin/zkServer.sh start
bin/zkServer.sh stop#這個是關(guān)閉服務(wù)
響應(yīng)如下:
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
此時我們已經(jīng)安裝并啟動了ZooKeeper虛擬機服務(wù)吹害,Apache Storm框架正是在其上跑的(這話不是說著玩的,千萬別忘了啟動ZooKeeper)虚青。
NO_3.Apache Storm框架安裝
3.1下載Storm
要在您的計算機上安裝Storm框架它呀,請訪問以下鏈接并下載最新版本的Storm http://storm.apache.org/downloads.html
到目前為止,最新版本的Storm是“apache-storm-1.2.2.tar.gz”棒厘。
3.2解壓tar文件
cd ~/package
tar -zxf apache-storm-1.2.2.tar.gz
cd apache-storm-1.2.2
mkdir data
mkdir /usr/local/apache-storm
mv apache-storm-1.2.2 /usr/local/apache-storm/
3.3配置文件
在./conf/storm.yaml中添加以下內(nèi)容
配置詳解見Storm配置文件詳解
#注意空格不是假的纵穿,是必須品
storm.zookeeper.servers:#為嘛要開zookeeper知道嗎?
- "localhost"
storm.local.dir: "/usr/local/storm/data"#路徑隨意
nimbus.host: "localhost"#本地測試
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
3.4啟動奢人!
啟動ZooKeeper(cd /usr/local/zookeeper/zookeeper-3.4.13)
bin/zkServer.sh start
啟動Nimbus(cd /usr/local/apache-storm/apache-storm-1.2.2)
bin/storm nimbus
啟動Supervisor
bin/storm supervisor
啟動UI
bin/storm ui
使用指令檢查運行環(huán)境是否正常
jps
輸出如下
11920 QuorumPeerMain
26228 nimbus
26298 core
26269 Supervisor
26542 Jps
3.5欣賞下成果
鍵入http//localhost:8080或者http//IP:8080谓媒,就可以進入管理界面了。
重點:配置正常的運行環(huán)境和容災(zāi)環(huán)境
一何乎、進行安全配置
1.centos7使用的firewall防火墻句惯,目前的我們需要開放一下的端口
> firewall-cmd --zone=public --list-ports
9090/tcp 2181/tcp 3888/tcp 2888/tcp 6627/tcp 6700/tcp 6701/tcp 6702/tcp 6703/tcp
# 尤其需要注意,因為個人對配置文件有修改支救,所有不一定完全一致宗弯,以下是大致說明,請一一對照
# storm-ui:9090
# zookeeper:2181:2888:3888
# storm-nimbus:6627
# storm-supervisor-slots:6700:6701:6702:6703
2.清理log文件
沒有非常多想說的搂妻,用crontab即可蒙保,記得不要把快照文件當(dāng)做log清理了,尤其是data目錄下的文件
3.配置系統(tǒng)環(huán)境
> vi /etc/profile
#添加以下內(nèi)容
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export STORM_HOME=/usr/local/apache-storm-2.0.0
export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$ZOOKEEPER_HOME/lib:
PATH=$STORM_HOME/bin:${JAVA_HOME}/bin:$ZOOKEEPER_HOME/bin:$PATH
# 記得source一下
二欲主、進行用戶配置
這部分將不進行說明邓厕,其實主要的重點就是
1.安裝和配置文件時請切換到你單獨為這些軟件配置的用戶逝嚎,尤其是他們寫log和data時的文件夾要給予充分的權(quán)限
2.將配置環(huán)境的邏輯寫在系統(tǒng)層,不要寫在用戶層
3.配置服務(wù)時記得指定用戶详恼,要是用root的話前面做的就都功虧一簣了补君。
三、配置Zookeeper
將zookeeper配置為服務(wù)
> cd /etc/init.d/
> vi zookeeper
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
export ZOO_LOG_DIR=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin/logs
ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin
case "$1" in
start) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;#開啟服務(wù)
start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;#前臺執(zhí)行
stop) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;#停止服務(wù)
status) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;#檢查服務(wù)狀態(tài)
restart) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;#重啟服務(wù)
upgrade)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;#升級服務(wù)
print-cmd)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;#查看服務(wù)啟動參數(shù)
*) echo "require start|start-foreground|stop|status|restart|print-cmd";;#命令提示行
esac
> :wq
> chkconfig --add zookeeper
此時zookeeper的服務(wù)算是配置完成了昧互,可以通過systemctl查看下服務(wù)運行狀態(tài)挽铁。
補充一些注意事項
1.盡量不要直接復(fù)制原運行環(huán)境的zookeeper使用,會導(dǎo)致無法運行的(因為快照沖突敞掘,比如你把之前的leader復(fù)制過來叽掘,啟動以后將會與原來的leader沖突),就算要復(fù)制記得把log和快照全部清空
2.zookeeper需要將主機配置成0.0.0.0才可以對外開放socket通訊玖雁,所以為了配置的一致性更扁,推薦在hosts文件處做手腳,以方便配置赫冬,從而不要修改配置文件
四浓镜、配置Storm
這里我們使用supervisor管理Storm
1.安裝supervisor
> yum install supervisor
2.修改supervisor的配置文件
> vi /etc/supervisord.conf
#修改
[include]
files = supervisord.d/*.ini
#為
[include]
files = supervisord.d/*.conf
#不要問為啥,問就是喜歡
3.配置開機自啟動
#第一步建立軟連接
> ln -s /usr/local/apache-storm-2.0.0/bin/storm /usr/bin/storm
#第二步書寫supervisor腳本
> cd /etc/supervisord.d/
> vi storm-nimbus.conf
[program:storm-nimbus]
command=storm nimbus
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
> vi storm-ui.conf
[program:storm-ui]
command=storm ui
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
> vi storm-supervisor.conf
[program:storm-supervisor]
command=storm supervisor
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
#第三步劲厌,重載supervisor配置
> supervisorctl reload
# 第四步膛薛,查看結(jié)果
> supervisorctl status
storm-nimbus RUNNING pid 25569, uptime 1 day, 3:11:35
storm-ui RUNNING pid 1215, uptime 1 day, 9:27:17
備注
備注所有內(nèi)容以完善更新,此環(huán)境可以作為生產(chǎn)環(huán)境使用了补鼻!