Ubuntu16.04安裝flink-1.10.0


本來想cdh集成flink,但是我的cdh版本為5.16.2,參考了下面的issue可能cdh版本太低,至少要cdh6

https://github.com/pkeropen/flink-parcel/issues

進行獨立安裝

wget https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz

安裝路徑

/home/lintong/software/apache/flink-1.10.0

/etc/profile添加,並source /etc/profile

#flink
export FLINK_HOME=/home/lintong/software/apache/flink-1.10.0
export PATH=${FLINK_HOME}/bin:$PATH

下載flink-shaded-hadoop-2-uber-2.7.5-7.0.jar包,放到flink的lib目錄下

wget https://repo1.maven.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-7.0/flink-shaded-hadoop-2-uber-2.7.5-7.0.jar

不然flink on yarn的時候會報

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnException
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	at java.lang.Class.getMethod0(Class.java:3018)
	at java.lang.Class.getMethod(Class.java:1784)
	at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

啟動yarn-session

yarn-session.sh -n 3 -s 5 -jm 1024 -tm 4096 -d

yarn-seesion參數

  -n : 指定TaskManager的數量;
  -d: 以分離模式運行;
  -id:指定yarn的任務ID;
  -j:Flink jar文件的路徑;
  -jm:JobManager容器的內存(默認值:MB);
  -nl:為YARN應用程序指定YARN節點標簽;
  -nm:在YARN上為應用程序設置自定義名稱;
  -q:顯示可用的YARN資源(內存,內核);
  -qu:指定YARN隊列;
  -s:指定TaskManager中slot的數量;
  -st:以流模式啟動Flink;
  -tm:每個TaskManager容器的內存(默認值:MB);
  -z:命名空間,用於為高可用性模式創建Zookeeper子路徑;

去CDH上查看,第一個是正在運行,第二個是結束

去appliance id進到yarn的app頁面

 

再點擊ApplicationMaster進到Flink Dashboard頁面

再提交Flink任務到yarn上

lintong@master:~/software/apache/flink-1.10.0$ bin/flink run examples/batch/WordCount.jar

再查看Flink Dashboard

 

輸出

 

 

如果頁面中的Available task slot一直為0的話,運行任務報,那說明yarn的資源不夠

Caused by: org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Could not allocate the required slot within slot request timeout. Please make sure that the cluster has enough resources.
	at org.apache.flink.runtime.scheduler.DefaultScheduler.maybeWrapWithNoResourceAvailableException(DefaultScheduler.java:452)
	... 45 more
Caused by: java.util.concurrent.CompletionException: java.util.concurrent.TimeoutException
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
	... 25 more
Caused by: java.util.concurrent.TimeoutException
	... 23 more

去cdh上調整yarn.nodemanager.resource.memory-mb,容器內存,我這邊從2G調整成4G就可以運行flink任務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM