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

你可能感兴趣的:(CDH之后搭建flink)