1. 程式人生 > >基於Ambari2.5 Centos 6 安裝 Flink

基於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

簡單操作參照:

https://www.jianshu.com/p/1ab7769f5837