flink集成yarn(flink on yarn)

一:組件

? ? ?1、hadoop(包含了yarn和hdfs),hadoop 2.8.5版本

? ? ?2、flink,版本 flink-1.7.2-bin-hadoop28-scala_2.11.tgz

? ? 3、centos7? ?

二:步驟。

? ? ?1、自行安裝hadoop集群,很多帖子,隨意找。

? ? ?1)關(guān)于配置? core-site.xml

<configuration>

<property>

? <name>fs.defaultFS</name>

? <value>hdfs://master:8020</value>

</property>

 <!-- 指定tmp文件夾路徑 -->

<property>

? <name>hadoop.tmp.dir</name>

? <value>/data/hadoop/data/tmp</value>

</property>

</configuration>

2)關(guān)于配置hadoop-env.sh

export JAVA_HOME=/data/soft/jdk1.8.0_181

3)關(guān)于配置hdfs-site.xml

<configuration>

<!--副本數(shù) -->

<property>

? <name>dfs.replication</name>

? <value>1</value>

</property>

<!--指定 secondaryNamenode地址及啟動(dòng)機(jī)器-->

<property>

? <name>dfs.namenode.secondary.http-address</name>

? <value>slave2:50090</value>

</property>

<property>

? <name>dfs.namenode.name.dir</name>

? <value>/data/hadoop/data/dfs/namenode</value>

</property>

<property>

? <name>dfs.datanode.data.dir</name>

? <value>/data/hadoop/data/dfs/datanode</value>

</property>

</configuration>

4)關(guān)于配置mapred-env.sh

export JAVA_HOME=/data/soft/jdk1.8.0_181

5)關(guān)于配置?mapred-site.xml

mapred-site.xml文件默認(rèn)是沒有的,需要cp??mapred-site.xml.template??mapred-site.xml

<configuration>

<!--設(shè)置mapreduce任務(wù)運(yùn)行在yarn上-->

<property>

? ? <name>mapreduce.framework.name</name>

? ? <value>yarn</value>

</property>

<!--是設(shè)置mapreduce的歷史服務(wù)器安裝在master機(jī)器上(可設(shè)置可不設(shè)置)-->

<property>

? ? <name>mapreduce.jobhistory.address</name>

? ? <value>master:10020</value>

</property>

<!--是設(shè)置歷史服務(wù)器的web頁面地址和端口號(hào)(可設(shè)置可不設(shè)置)-->

<property>

? ? <name>mapreduce.jobhistory.webapp.address</name>

? ? <value>master:19888</value>

</property>

<!--設(shè)置map階段內(nèi)存,默認(rèn)是1024,此設(shè)置可解決一個(gè)啟動(dòng)報(bào)錯(cuò)問題-->

<property>

? ? <name>mapreduce.map.memory.mb</name>

? ? <value>2048</value>

</property>

</configuration>

報(bào)錯(cuò)如下:

Diagnostics: Container [pid=16377,containerID=container_1533988876407_0004_02_000001] is running beyond virtual memory limits. Current usage: 59.9 MB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container.


6)關(guān)于配置slaves(此時(shí)把master也當(dāng)做一個(gè)slave了)

vim??slaves? ?

master

slave1

slave2

7)關(guān)于配置 yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

? ? <name>yarn.nodemanager.aux-services</name>

? ? <value>mapreduce_shuffle</value>

</property>

<!--指定resourcemanager服務(wù)器-->

<property>

? ? <name>yarn.resourcemanager.hostname</name>

? ? <value>master</value>

</property>

<!--配置是否啟用日志聚集功能-->

<property>

? ? <name>yarn.log-aggregation-enable</name>

? ? <value>true</value>

</property>

<!--配置聚集的日志在HDFS上最多保存多長時(shí)間-->

<property>

? ? <name>yarn.log-aggregation.retain-seconds</name>

? ? <value>106800</value>

</property>

<!--NodeManager總的可用虛擬CPU個(gè)數(shù)-->

<property>

? ? <name>yarn.nodemanager.resource.cpu-vcores</name>

? ? <value>8</value>

</property>

<property>

? <name>yarn.log-aggregation-enable</name>

? <value>true</value>

</property>

<property>

? <name>yarn.log.server.url</name>

? <value>http://master:19888/jobhistory/logs/</value>

</property>

<!--此配置為了解決上文說的報(bào)錯(cuò)-->

<property>

? ? <name>yarn.nodemanager.vmem-pmem-ratio</name>

? ? <value>5</value>

</property>

</configuration>

注:日志聚集功能不配置


這點(diǎn)點(diǎn)進(jìn)去會(huì)報(bào)錯(cuò)。

三:flink部署

下載flink包

1)配置flink-conf.yaml

#Jobmanager的IP地址,即master地址。

jobmanager.rpc.address: master

#每一個(gè)TaskManager的堆大?。▎挝皇荕B),由于每個(gè)taskmanager要運(yùn)行operator的各種函數(shù)(Map、Reduce、CoGroup等,包含sorting、hashing、caching),因此這個(gè)值應(yīng)該盡可能的大。如果集群僅僅跑Flink的程序,建議此值等于機(jī)器的內(nèi)存大小減去1、2G,剩余的1、2GB用于操作系統(tǒng)。如果是Yarn模式,這個(gè)值通過指定tm參數(shù)來分配給container,同樣要減去操作系統(tǒng)可以容忍的大?。?、2GB)。

#本地方設(shè)置6G

taskmanager.heap.size: 6144

#每個(gè)TaskManager的并行度。一個(gè)slot對(duì)應(yīng)一個(gè)core,默認(rèn)值是1.一個(gè)并行度對(duì)應(yīng)一個(gè)線程??偟膬?nèi)存大小要且分給不同的線程使用。

taskmanager.numberOfTaskSlots: 4

#啟動(dòng)job默認(rèn)用的parallelism數(shù)量

parallelism.default:8

#臨時(shí)目錄

taskmanager.tmp.dirs: /tmp

#JobManager的堆大小(單位是MB)。當(dāng)長時(shí)間運(yùn)行operator非常多的程序時(shí),需要增加此值。具體設(shè)置多少只能通過測(cè)試不斷調(diào)整。

jobmanager.heap.size: 2048

#jobmanager.web.port: 8081

#JobMamanger的端口,默認(rèn)是6123。

jobmanager.rpc.port: 6123

state.backend: filesystem

state.backend.fs.checkpointdir: hdfs:///flink/checkpoints

fs.hdfs.hadoopconf: /var/apps/hadoop285/etc/hadoop

注:如果配置高可用,這里面少了zookeeper的配置

2)配置master

vim masters

master:8081

3)配置slaves

vim slaves

slave1

slave2


三:?jiǎn)?dòng)yarn? 和flink

四:提交任務(wù)。

./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 -d -c com.xxxxx.flink.app.xxxxxFlinkData? /var/apps/xxxx-xxxxx.jar

頁面如下:



完成!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、系統(tǒng)參數(shù)配置優(yōu)化 1、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf,添加如下配置,然后執(zhí)行s...
    張偉科閱讀 3,935評(píng)論 0 14
  • 1、Standalone 軟件要求: Java 1.8.x or higher ssh JAVA_HOME配置 Y...
    JACKbayue閱讀 17,727評(píng)論 0 5
  • --------"道路是曲折的,前途是光明的。"最近又涉及到了hadoop以及spark的安裝,之前課題設(shè)計(jì)中有要...
    九七學(xué)姐閱讀 3,239評(píng)論 3 5
  • apache Flink是一個(gè)面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計(jì)算平臺(tái),它能夠基于同一個(gè)Flink運(yùn)行時(shí)(...
    生活的探路者閱讀 1,538評(píng)論 3 8
  • 第一章 別用你的個(gè)性 挑戰(zhàn)姐的脾氣 “快來人吶,快,逮住這個(gè)小雜種”,聲音尖銳的有些刺耳,伴隨著踉...
    流淌的憂郁閱讀 259評(píng)論 0 0

友情鏈接更多精彩內(nèi)容