一、创建flink源
1,安装 httpd 服务(随便一台服务器,这里选node01)
[root@node01 ~]# yum -y install httpd
[root@node01~]# service httpd restart
[root@node01 ~]# chkconfig httpd on
安装完成后,会生成 /var/www/html目录(相当于Tomcat的webapps目录)
2、下载下边两个包,并放到 /var/www/html/flink 目录 (需要在 /var/www/html先建 flink目录)
[root@node01 ~]# wget https://www.apache.org/dyn/closer.lua/flink/flink-1.14.4/flink-1.14.4-bin-scala_2.11.tgz
[root@node01 ~]# wget https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.8.3-10.0/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar
mv flink-1.14.4-bin-scala_2.11.tgz /var/www/html/flink/
mv flink-shaded-hadoop-2-uber-2.8.3-10.0.jar /var/www/html/flink/
在浏览器输入 http://node01/flink/
可以看到如下结果
二、下载ambari-flink-service服务(在 ambari-server 所在的服务器,这里是node02)
[root@node02 ~]# VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'`
[root@node02 ~]# echo $VERSION 3.1
3.1 (这里的版本是3.1)
[root@node02 ~]# git clone https://github.com/abajwa-hw/ambari-flink-service.git /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/FLINK
1、修改配置文件(编辑 metainfo.xml 将安装的版本修改为 1.14.4)
[root@node02 ~]# cd /var/lib/ambari-server/resources/stacks/HDP/3.1/services/FLINK/
[root@node02 ~]# vim metainfo.xml
<displayName>Flink</displayName>
<comment>Apache Flink is a streaming dataflow.。。。。.</comment>
<version>1.14.4</version>
2、修改 flink-env.xml (JAVA_HOME 和 内存参数)
[root@node02 ~]# cd /var/lib/ambari-server/resources/stacks/HDP/3.1/services/FLINK/configuration
[root@node02 ~]# vim flink-env.xml
env.java.home: /usr/local/java/ #改为自己的java路径
jobmanager.memory.process.size: 1600m #(就按这个配置,不配置这里后边启动会报内存的错误)
taskmanager.memory.process.size: 1728m #(就按这个配置,不配置这里后边启动会报内存的错误)
3.编辑flink-ambari-config.xml修改下载地址为第一步创建的网络路径
[root@node02 ~]# cd /var/lib/ambari-server/resources/stacks/HDP/3.1/services/FLINK/configuration
vim flink-ambari-config.xml
<property>
<name>flink_download_url</name>
<value>http://node01/flink/flink-1.14.4-bin-scala_2.11.tgz</value>
<description>Snapshot download location. Downloaded when setup_prebuilt is true</description>
</property>
<property>
<name>flink_hadoop_shaded_jar</name>
<value>http://node01/flink/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar</value>
<description>Flink shaded hadoop jar download location. Downloaded when setup_prebuilt is true</description>
</property>
三、创建用户和组
[root@node02 ~]# groupadd flink
[root@node02 ~]# useradd -d /home/flink -g flink flink
四、重启 ambari-server
[root@node02 ~]# ambari-server restart
五.ambari 安装 Flink
1.ambari web选择添加Flink服务
界面找到 Stack and Versions 然后在 Flink 那里点击 add Service
2.选择将Flink Master安装到哪台服务器,比如node03(slave 和 client 无法选择,直接跳到下一步,不影响)
3.配置 Flink on yarn 故障转移方式(在 custom flink-env 那里配置)
<property>
<name>yarn.client.failover-proxy-provider</name>
<value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
</property>
4.下一步,部署,完成。
5.在yarn 运行界面可以看到多了一个应用,通过后边的 ApplicationMaster
可以跳到 flink 管理界面
六、跑一个作业进行测试(在Flink Master所在的服务器 node03)
1,在ambari flink 配置界面加上下边的参数,classloader.check-leaked-classloader: false
并保存。
2,设置Hadoop_ClassPath
[root@node03 ~]# export HADOOP_CLASSPATH=`hadoop classpath`
3,执行测试程序(node03)
[root@node03 ~]# /opt/flink/bin/flink run \
-m yarn-cluster -yjm 1024 -ytm 1024 \
/opt/flink/examples/batch/WordCount.jar
4、可以在yarn看到多了一个flink作业在运行
5、完成