文章目錄
1. 環境準備
軟件版本:
- zookeeper-3.4.10
- flink-1.10.0
- hadoop-2.6.5
關於hadoop+zookeeper高可用集羣之前已經寫過相關博客:
Hadoop+Spark+Zookeeper高可用集羣搭建(一)
Hadoop+Spark+Zookeeper高可用集羣搭建(二)
Hadoop+Spark+Zookeeper高可用集羣搭建(三)
Hadoop+Spark+Zookeeper高可用集羣搭建(四)
Hadoop+Spark+Zookeeper高可用集羣搭建(五)
2. 部署說明
本文搭建的分佈式高可用集羣是基於獨立的zookeeper服務的,關於zookeeper的搭建可參考上面的地址,當然如果不想搭建獨立的zookeeper服務,flink內部也提供了zookeeper插件,通過修改FLINK_HOME/conf/zoo.cfg文件即可,啓動命令在FLINK_HOME/bin/start-zookeeper-quorum.sh 關於此種方式啓動zookeeper可以參考官方文檔:flink內置zookeeper的搭建
3. 修改配置文件
3.1 配置flink-conf.yaml文件
下載地址:flink官網下載地址
將下載後的tar包上傳到你的集羣解壓後,配置flink-conf.yaml文件
jobmanager.rpc.address: master001
jobmanager.rpc.port: 6123
# 下面四項根據自己實際情況配置
jobmanager.heap.size: 2048m
taskmanager.memory.process.size: 4096m
taskmanager.numberOfTaskSlots: 8
parallelism.default: 8
high-availability: zookeeper # 使用zookeeper實現集羣高可用
# 下面兩個目錄需要在hadoop上面創建,分別是/flinkshare/ha, /ZooKeeper/ha
high-availability.storageDir: hdfs://mycluster/flinkshare/ha/
recovery.zookeeper.storageDir: hdfs://mycluster/ZooKeeper/ha/
high-availability.zookeeper.quorum: slave001:2181,slave002:2181,slave003:2181
3.2 配置masters文件
master001:8081
master002:8081
3.3 配置slaves文件
slave001
slave002
slave003
3.4 編輯zoo.cfg文件
server.1=slave001:2888:3888
server.2=slave002:2888:3888
server.3=slave003:2888:3888
4. 補充幾個坑
4.1 與hadoop集成
最新版本的flink-1.10.0與hadoop進行集成的話需要進行如下兩步操作:
- 配置環境變量
vi /etc/profile
# 添加如下內容:
export HADOOP_CONF_DIR=/home/hadoop/software/hadoop-2.6.5/etc/hadoop
# 使環境變量生效
source /etc/profile
- 添加hadoop依賴
hadoop依賴jar包: fink-shaded下載地址
由於需要翻牆,所以可下載這個:flink-shaded-hadoop-2-uber-2.6.5-10.0
根據自身hadoop版本和flink版本下載相應的依賴包,然後上傳到/home/hadoop/software/flink-1.10.0/lib目錄下。
4.2 查看日誌文件
如果集羣爲啓動起來,或者啓動錯誤,可以通過查看位於目錄/home/hadoop/software/flink-1.10.0/log下的日誌文件
5 啓動步驟
將配置完成的flink文件傳輸到集羣的其他機器中:
scp -r flink-1.10.0 master002:~/software/
scp -r flink-1.10.0 slave001:~/software/
scp -r flink-1.10.0 slave002:~/software/
scp -r flink-1.10.0 slave003:~/software/
首先啓動hadoop和zookeeper,然後啓動flink集羣:
./start-cluster.sh
通過你指定的rpc地址(master001:8081)即可訪問: