基於Ambari2.5 Centos 6 安裝 Flink
QQ交流群:64655993
說明:以下使用的主機名以及檔案版本和放置路徑僅做參考,實際操作以當前環境為主!
希望能對您有所幫助!
1、安裝一些基礎的工具(每個節點均安裝)
[[email protected] ~]# yum install -y vim lrzsz wget tree net-tools
2、JDK安裝(本環境使用JDK 1.8 x64)
安裝過程: https://blog.csdn.net/llwy1428/article/details/85232267
3、Ambari2.5叢集搭建(根據自己業務需要選擇版本)
可參考:
http://www.cnblogs.com/TiestoRay/p/6133866.html
https://www.cnblogs.com/sunny3096/p/7201362.html
https://blog.csdn.net/u012637358/article/details/80982131
說明:在配置叢集過程中會有節點間免密ssh配置
4、Scala環境安裝(選擇適合自己系統環境的版本進行安裝,本環境使用 scala-2.11.12.tgz )
安裝過程:https://blog.csdn.net/llwy1428/article/details/85335572
5、Flink下載
下載地址:https://flink.apache.org/downloads.html
由於Ambari2.5中我選擇的是HDP-2.5.3,其中的hadoop版本是2.7.3
(說明:此處要根據當前環境所安裝hadoop版本進行下載),
此處可選擇Apache 1.7.1 Flink only Scala 2.11或Apache 1.7.1 Flink only Scala 2.12進行下載。
(說明:本環境使用版本:Apache 1.7.1 Flink only Scala 2.11)
6、Flink引數設定說明
Flink的配置檔案路徑是/opt/flink-1.7.1/conf,目錄下的檔案包括
flink-conf.yaml #flink的主配置檔案(可修改服務埠等)
(1) jobmanager.rpc.port:
(2)rest.port:
(3)historyserver.web.port:
(4)historyserver.archive.fs.refresh-interval:
(注意:修改以上4處埠,為避免與叢集中其他元件所用埠衝突,查詢當前節點已使用埠命令:netstat -lntp)
log4j-cli.properties
log4j.properties
log4j-yarn-session.properties
logback.xml
logback-yarn.xml
masters # master(jobmanager)配置檔案
slaves # slave(taskmanager)配置檔案
zoo.cfg # Zookeeper配置檔案
本次部署,修改了node1(節點1)上的flink-conf.yaml、mastes和slaves.
7、flink-conf.yaml的修改(根據自己的實際情況進行修改)
檔案路徑是/opt/flink-1.7.1/conf/flink-conf.yaml,主要關注以下引數,具體的含義見註釋。還有更多的引數配置,例如前端頁面的配置、檔案儲存的配置(支援HDFS)、HA的配置等,更多配置說明參考:Flink官方配置說明 https://link.jianshu.com/?t=https://ci.apache.org/projects/flink/flink-docs-release-1.1/setup/config.html#configuration
# Master的主機名或者ip
jobmanager.rpc.address: vm1
# JobManager監聽埠
jobmanager.rpc.port: 6123
# JobManager的記憶體引數
jobmanager.heap.mb: 512
# 每臺taskmanager可用的總記憶體
taskmanager.heap.mb: 8192
# 每臺taskmanager可用的solt數目,一般設定成CPU的core數
taskmanager.numberOfTaskSlots: 2
# NumTaskManagers(slave的個數) * NumSlotsPerTaskManager
parallelism.default: 4
# 酌情修改臨時目錄。/tmp中的資料重啟就沒了。
taskmanager.tmp.dirs: /tmp
8、masters的修改
在配置jobmanager(master)檔案時,除了配置master的主機名(IP)之外,還需要指定 JobManager 的 UI 監聽埠。
[[email protected] conf]# cat masters
node1 :8083 #(node1 是節點的主機名)
9、slaves的修改
修改slaves檔案,配置多個taskmanager(slave)。
[[email protected] conf]# cat slaves
node2 #(node2 是節點的主機名)
node3 #(node3 是節點的主機名)
10、修改 zoo.cfg
[[email protected] conf]# vim zoo.cfg
說明:節點名可檢視hosts
[[email protected] ~]# cat /etc/hosts
11、修改hadoop相關配置
[[email protected] bin]# vim config.sh
修改 DEFAULT_HADOOP_CONF_DIR
修改 DEFAULT_YARN_CONF_DIR
注意:根據自己叢集環境hadoop配置檔案路徑設定
13、分發檔案(免密已經做好)
把配置好的flink檔案,整體傳送到各個節點的相同目錄下
[[email protected] opt]# scp -r flink-1.7.1/ node2:/opt/
[[email protected] opt]# scp -r flink-1.7.1/ node3:/opt/
14、啟動叢集
在master節點,即本例中的vm1節點上執行以下命令,啟動叢集。其過程就是先啟動本機的jobmanager,然後ssh到各個slave節點上啟動taskmanager。
[[email protected] bin]# ./start-cluster.sh
15、停止叢集
在master節點,即本例中的vm1節點上執行以下命令,啟動叢集。其過程是先ssh到各個slave節點上停止taskmanager,再停止本機的jobmanager。
[[email protected] bin# ./stop-cluster.sh
16、啟停叢集中的一個節點
如果想要啟動或者停止機器中的節點,不論是jobmanager或者taskmanager,都可以在對應的主機上執行以下命令。
# 啟動本機的jobmanager
bin/jobmanager.sh start
# 啟動本機的taskmanager
bin/taskmanager.sh start
# 停止本機的taskmanager
bin/taskmanager.sh stop
# jobmanager
bin/jobmanager.sh stop
17、檢視web頁面
由於我在配置檔案中把web的埠改成了8083,故在瀏覽器位址列輸入: http://192.168.0.43:8083
效果如下:
以上操作參考地址:
https://www.jianshu.com/p/054bbac7fef8
https://blog.csdn.net/llwy1428/article/details/85337943
簡單操作參照: