cdh5.15安装apache flink

1.我集群环境是cdh5.15,hadoop2.6,Scala2.11版本的,所以下载的是:

flink-1.7.2-bin-hadoop26-scala_2.11.tgz

https://archive.apache.org/dist/flink/flink-1.7.2/

2.将该压缩包拷贝到master01,slave01,slave02的 /myflink 目录

在所有节点:mkdir /myflink

现将该压缩包拷贝到master01的 /myflink 目录,然后用scp 远程拷贝到其他节点上:

scp flink-1.7.2-bin-hadoop26-scala_2.11.tgz root@slave01:/myflink

scp flink-1.7.2-bin-hadoop26-scala_2.11.tgz root@slave02:/myflink

在3个节点执行如下命令解压:tar xzf flink-1.7.2-bin-hadoop26-scala_2.11.tgz

3.接着,在3个节点都修改Flink配置文件flink-1.7.2/conf/flink-conf.yaml,最简单的修改如下:

[root@master01 conf]# vi flink-conf.yaml
taskmanager.numberOfTaskSlots: 4
jobmanager.rpc.address: master01(This setting
# is only used in Standalone mode,Yarn/Mesos
# automatically configure the host name based on the hostname of the node where the
# JobManager runs.所以不用standalone模式的话就可以不修改,要用的话都指向master01把)
Flink on Yarn会覆盖下面几个参数,如果不希望改变配置文件中的参数,可以动态的通过-D选项指定,如 -Dfs.overwrite-files=true -Dtaskmanager.network.numberOfBuffers=16368

jobmanager.rpc.address:因为JobManager会经常分配到不同的机器上
taskmanager.tmp.dirs:使用Yarn提供的tmp目录
parallelism.default:如果有指定slot个数的情况下

4.在3个节点都修改conf/master、slaves文件

[root@master01 conf]# vi masters
 
master01:8081
 
[root@master01 conf]# vi slaves
 
slave01
slave02

5. 启动Flink集群,执行如下命令:

5.1 启动standalone模式:

[root@master01 flink-1.7.2]# bin/start-cluster.sh
访问:http://master01:8081/#/overview

停止standalone模式:

[root@master01 flink-1.7.2]# bin/stop-cluster.sh
5.2. 启动Flink Yarn Session

5.2.1在YARN上启动长时间运行的Flink集群:

[root@master01 flink-1.7.2]# ./bin/yarn-session.sh -n 8 -jm 1024 -tm 1024 -s 4 -nm FlinkOnYarnSession -d
2019-02-20 17:06:06,471 INFO  org.apache.flink.yarn.AbstractYarnClusterDescriptor           - Cluster specification: ClusterSpecification{masterMemoryMB=1024, taskManagerMemoryMB=1024, numberTaskManagers=8, slotsPerTaskManager=4}
对参数说明:

-n,--container 指YARN container分配的个数(即TaskManagers的个数)

-jm,--jobManagerMemory 指JobManager Containe的内存大小,单位为MB

-tm,--taskManagerMemory 指每个TaskManagerContainer的内存大小,单位为MB

-s 指每个TaskManager的slot个数。

-nm flink appName

-d 如果不希望Flink Yarn client长期运行,Flink提供了一种detached YARN session,启动时候加上参数-d或--detached。

执行上面命令来分配 8个 TaskManager,每个都拥有 1GB 的内存和 4 个 slot(cores),同时会请求启动 8+1 个容器,因为对于 ApplicationMaster 和 JobManager 还需要一个额外的容器。默认情况下,vcores的数量等于处理slots(-s)参数。

yarn-session下提交:

[root@master01 flink-1.7.2]./bin/flink run /myflink/projects/spark2_kafka_stream.jar
访问:

yarn ui:

http://master01:8088/cluster/scheduler

flink ui:
2019-02-20 19:28:19,241 INFO  org.apache.flink.runtime.rest.RestClient                      - Rest client endpoint started.
Flink JobManager is now running on master01:42809 with leader id 00000000-0000-0000-0000-000000000000.
JobManager Web Interface: http://master01:42809(每次启动端口号都不一样)

关闭yarn-session:

[root@master01 conf]# yarn application -kill application_1550056788069_0008
 

5.2.2 yarn的single job

在YARN上直接运行单个Flink作业,在yarn上不启动flink集群,就不用一直占用yarn资源:

[root@master01 flink-1.7.2]# ./bin/flink run -m yarn-cluster -yn 4 -yjm 1024m -ytm 4096m /myflink/projects/spark2_kafka_stream.jar
yarn ui:

http://master01:8088/cluster/scheduler

spark2_kafka_stream.jar-------scala code:

package com.test.flink_kafka
 
 
import org.apache.flink.api.java.ExecutionEnvironment
import org.apache.flink.api.java.aggregation.Aggregations
 
 
object Flink {
  def main(args: Array[String]): Unit = {
 
    val env = ExecutionEnvironment.getExecutionEnvironment;
 
    val stream = env.fromElements(1, 2, 3, 4, 3, 4, 3, 3, 5)
    //.map(x=>(x))
    //     .map { x => (x, 1) }
    //      .groupBy(0).aggregate(Aggregations.SUM, 1) //.sum(1)
    stream.print()
    // 批处理不要env.execute()
    //    env.execute()
  }
}
 
 
flink yarn-session 与yarn的single job 的对比:

session模式保留了Standalone的优势,可以节省申请启动tm的时间,适合短小job共用资源执行;per job有更好的资源quota管理、隔离等,性能稳定性有更好保障

flink-jdbc.jar用来连接mysql等数据源

https://search.maven.org/search?q=a:flink-jdbc
 

Flink中的常见的报错以及解决方案

https://blog.csdn.net/xianpanjia4616/article/details/86644800
--------------------- 
作者:yostkevin 
来源:CSDN 
原文:https://blog.csdn.net/u014384314/article/details/82690524 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/xiaoyutongxue6/article/details/88903053