天天看點

CDH之後搭建flink

這篇是講解CDH叢集搭建之後,自己搭建flink去內建

tar -xzvf flink-1.7.2-bin-hadoop28-scala_2.11.tgz

vim ./.bash_profile

export FLINK_HOME=/home/bigdata/flink/flink-1.9.1

export HADOOP_CONF_DIR=/etc/hadoop/conf.cloudera.yarn/

source ~/.bash_profile

vim conf/flink-conf.yaml

改成各自節點的名稱或者 IP 位址

#這個配置項有坑,可以借鑒這篇部落格:https://www.jianshu.com/p/e48b73221c67

jobmanager.rpc.address: cnsz72vl0020

#端口

jobmanager.rpc.port: 6123

#JobManager的Web界面的端口(預設:8081)

#jobmanager.web.port: 8081

#開啟高可用模式

high-availability: zookeeper

#指定 HDFS 的路徑,用于存儲 JobManager 的中繼資料 這裡有坑 要相關jar包 (必選項) hdfs://cnsz71vl0663:8020/flink

high-availability.storageDir: hdfs://ns/flink/

#沒jar包會報錯: Could not find a file system implementation for scheme ‘hdfs’.

#The scheme is not directly supported by Flink and no Hadoop file system to support this scheme could be loaded

在flink的lib目錄下添加jar包

chown -R bigdata:bigdata flink-shaded-hadoop-2-uber-2.7.5-7.0.jar (權限和所屬組修改,hdfs報錯有幾種路徑和權限)

#配置 zk 各個節點的端口(cnsz71vl0666,cnsz71vl0664,cnsz71vl0665)

high-availability.zookeeper.quorum: bigdata1:2181,bigdata2:2181,bigdata3:2181

#配置每個taskmanager生成的臨時檔案目錄(注釋)

taskmanager.tmp.dirs: /export/servers/flink-1.6.1/tmp (不要這個,有時候會報錯)

#是否進行預配置設定記憶體,預設不進行預配置設定,這樣在我們不使用flink叢集時候不會占用叢集資源

taskmanager.memory.preallocate: false

#zk 節點根目錄,放置所有 flink 叢集節點的 namespace (可選項)

high-availability.zookeeper.path.root: /home/bigdata/flink/ha

#zk 節點叢集 id,放置了 flink 叢集所需要的所有協調資料(這個可以不要,高可用的時候會沖突)

high-availability.cluster-id: /home/bigdata/flink/cluster_one

#配置Yarn重試次數

yarn.application-attempts: 10

#slots的數量需要被指定

parallelism.default: 1

建立目錄(root權限)

su hdfs

hdfs dfs -mkdir -p /flink 然後給這個目錄權限

hdfs dfs -chmod -R 777 /flink

(bigdata使用者)

mkdir -p /home/bigdata/flink/cluster_one

mkdir -p /home/bigdata/flink/ha

mkdir -p /home/bigdata/flink/zok

從節點

vim conf/slaves

nsz72vl0019

nsz72vl0020

主節點

vim conf/masters

nsz72vl0019:8081

nsz72vl0020:8081

#檢視運作任務 和結束任務

bin/flink list 檢視flink運作個數

bin/flink cancel ‘’

yarn application --list

yarn appclication -kill “application_1587607494804_0008”

啟動flink

/home/bigdata/flink/flink-1.9.1/log 日志路徑

啟動:/home/bigdata/flink/flink-1.9.1/bin/start-cluster.sh

停止:/home/bigdata/flink/flink-1.9.1/bin/stop-cluster.sh

./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar

./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar 測試用這個

./bin/yarn-session.sh -n 2 -tm 800

報錯:File file:/home/bigdata/.flink/application_1587552951708_0001/lib/slf4j-log4j12-1.7.15.jar does not exist

yarn logs -applicationId application_1587607494804_0004 看相關日志

一直提示找不到檔案 要設定權限visudo

cloudera-scm ALL=(ALL) NOPASSWD: ALL (這裡放的和root的位置一樣,)這個改成當時用的名稱(這裡可以不加的)

/home/bigdata/flink/flink-1.9.1/bin/yarn-session.sh -n4 -jm1024 -tm 4096 -s 2

可以看yarn的模式是否成功 bin/yarn-session.sh -d -s 2 -tm 800 -n 2

/home/bigdata/flink/flink-1.9.1/bin/yarn-session.sh -n 2 -tm 800 -s 1 -d

#-n 表示申請2個容器,

#-s 表示每個容器啟動多少個slot

#-tm 表示每個TaskManager申請800M記憶體

#-d 表示以背景程式方式運作

啟動成功jps(出現即可,不同配置不一樣)

TaskManagerRunner

StandaloneSessionClusterEntrypoint

bin/yarn-session.sh -n 2 -tm 800 -s 1 -d

yarn-cluste

/home/bigdata/flink/flink-1.9.1/bin/yarn-session.sh主要是用來在Yarn上啟動常駐Flink叢集。

頁面(也可以去yarn的任務頁面看,是否有flink任務)

http://cnsz72vl0020:8081

繼續閱讀