可能要重新部署zookeeper哥桥、storm辙浑、flink、spark拟糕、hadoop判呕、redis倦踢、kafka等集群模式,記錄下找到的方法侠草。
java環(huán)境變量
- 下載:
sudo wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
sudo vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
SSH免密登錄
- 在本機生成SSH密鑰對:
ssh-keygen -t rsa
2.將SSH公鑰添加到需要免密登錄的目標主機對應賬戶目錄下:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
主節(jié)點安裝expect
- 安裝依賴tcl
下載鏈接:https://sourceforge.net/projects/tcl/files/Tcl/
wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.9/tcl8.6.9-src.tar.gz
tar zxvf tcl8.6.9-src.tar.gz
cd tcl8.6.9/unix && ./configure
nake
mak install
- 安裝expect
wget https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz
tar zxvf expect5.45.4.tar.gz
cd expect5.45.4
./configure --with-tcl=/usr/local/lib --with-tclinclude=../tcl8.6.9/generic
make
make install
ln -s /usr/local/bin/expect /usr/bin/expect
3.驗證
expect
結(jié)果:expect1.1>
Zookeeper
- 下載辱挥,鏈接:http://zookeeper.apache.org/releases.html#download
- 需要部署的機器解壓壓縮包
tar -zxvf zookeeper-3.4.13.tar.gz
- 修改配置文件conf(/zookeeper-3.4.13/conf)
復制模板:cp zoo_sample.cfg zoo.cfg
配置修改:
tickTime=2000 #心跳間隔
initLimit=10 #初始容忍的心跳數(shù)
syncLimit=5 #等待最大容忍的心跳數(shù)
dataDir=/home/xxxx/zookeeper-3.4.13/data #存放數(shù)據(jù)的目錄
clientPort=2181 #客戶端默認的端口號
dataLogDir=/home/xxxx/zookeeper-3.4.13/data/log #存放log的目錄
autopurge.snapRetainCount=20 #保留的快照數(shù)目
autopurge.purgeInterval=48 #定期清理快照,時間單位:時
server.1=centos7-dase-52:2888:3888 #主機名, 心跳端口边涕,數(shù)據(jù)端口
server.2=centos7-dase-53:2888:3888
- 創(chuàng)建data目錄晤碘,然后再下面創(chuàng)建一個myid,寫入機器對應配置里的數(shù)字
mkdir data
cd data
mkdir log
echo 1 > myid
- 復制zookeeper文件夾到別的機器上去奥吩,并且修改myid
scp -r zookeeper-3.4.13 ip:/home/xxx/
echo 2 > zookeeper-3.4.13/data/myid
- 啟動各節(jié)點的zk服務哼蛆,注意關(guān)閉防火墻
Q: 某個節(jié)點的zookeeper的進程沒有正常啟動,查詢jps報錯:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
A: 該節(jié)點的java版本可能有問題霞赫,換了個新版本正常啟動腮介,更換步驟參考Java的環(huán)境變量。
Kafka
使用0.10版本
- 安裝
tar zxvf kafka_2.12-0.10.2.2.tgz
- 修改配置文件:server.properties
主要修改以下端衰,其他默認叠洗,注意broker.id和listeners每個機器都需要修改:
broker.id=1
delete.topic.enable=true
listeners=PLAINTEXT://ip:9092
log.dirs=/home/xxx/data/kafka-logs
zookeeper.connect=ip1:2181,ip2:2181
- 開啟JMX端口,便于kafka-manager檢測
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
export JMX_PORT="9999"
fi
啟動kafka
./kafka-server-start.sh -daemon ../config/server.properties\n
安裝kafka-manager
修改配置 application.conf
kafka-manager.zkhosts="XXX:2181,XXX:2181"
啟動旅东,后臺運行
nohup ./kafka-manager-1.3.3.17/bin/kafka-manager &
UI查看灭抑,地址:IP:9000
Q: kafka無法啟動,查看log顯示:kafka/Kafka : Unsupported major.minor version 52.0抵代。PS:好像別的軟件報這個錯誤的話也是因為java版本的問題腾节,使用最新的就好了,比如kafka-manager荤牍。
A: 要求java版本為1.8案腺。
storm
- 下載
鏈接:http://storm.apache.org/downloads.html - 解壓,修改配置文件storm.yaml
tar -zxvf apache-storm-1.2.1.tar.gz
vi apache-storm-1.2.1/conf/storm.yaml
#添加如下設置康吵,注意空格
storm.zookeeper.servers:
- "XXXX.XXX.XXX.XXX"
- "XXXX.XXX.XXX.XXX"
nimbus.seeds: ["XXXX.XXX.XXX.XXX"]
storm.local.dir: "/home/xxx/apache-storm-1.2.1/data" #需要自己創(chuàng)建
ui.port: 18080
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- 分發(fā)到別的機器
scp -r apache-storm-1.2.1 xxx@xx.xxx.x.xxx:/home/xxx
- 啟動
nimbus:
bin/storm nimbus >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &
bin/storm logviewer > /dev/null 2>&1 &
supervisor:
bin/storm supervisor >/dev/null 2>&1 &
bin/storm logviewer > /dev/null 2>&1 &
- 查看UI
網(wǎng)址:nimbusip:18080
注意:機器之間的hosts需要設置劈榨,不然無法識別主節(jié)點
Flink 1.7.0
因為1.4.1版本使用kafka的時候有BUG,在新版本中修復晦嵌,所以只能使用新版本同辣。
- 下載
鏈接:https://flink.apache.org/downloads.html - 安裝
tar -zxvf flink-1.7.0-bin-scala_2.12.tgz - 修改配置文件
- 在flink-conf.yaml中配置
jobmanager.rpc.address: 10.11.6.70
#主節(jié)點
taskmanager.numberOfTaskSlots: 4
#TaskManager能提供的槽,應該跟核數(shù)一樣
taskmanager.tmp.dirs
#沒配置的話惭载,默認在/tmp目錄下
parallelism.default: 1
#默認的并行度
state.backend: filesystem
#使用文件系統(tǒng)作為checkpoint
state.checkpoints.dir: hdfs://10.11.6.79:9000/flink-checkpoints/
#HDFS的checkpoints地址
state.savepoints.dir: hdfs://10.11.6.79:9000/flink-savepoints/
#HDFS的savepoints地址
state.checkpoints.num-retained: 20
#保留checkpoint的數(shù)目 - 修改master.yaml為主節(jié)點:
10.11.6.70:8081
(conf/master文件是用來做JobManager HA的旱函,可以不需要配置),修改slaves.yaml中加入工作節(jié)點:10.11.6.52 10.11.6.53
3.如果要使用job manager的HA模式描滔,記得在flink-conf.yaml和zoo.cfg中配置zookeeper相關(guān)陡舅。
- 在flink-conf.yaml中配置
4.啟動集群模式
./bin/start-cluster.sh