Flink模式搭建实战

已有的环境状况:hadoop集群已经搭建完成

一、Flink on yarn搭建:

1.下载flink安装包,由于flink版本的选择需要考虑Scala、Java以及Hadoop的版本,所以可以直接询问Al,我的版本如下:

2.利用tar语句对压缩包进行解压

tar -zxvf 压缩包名 -C /usr/flink #压缩后文件的存放地址

tar -zxvf flink-1.14.0-bin-scala_2.11.tgz -C /usr/flink/

3.环境变量进行配置(先配置环境变量,防止后面忘记了)

vi /etc/profile
#FLINK-------------------------------------------------------------------

export FLINK_HOME=/usr/flink/flink-1.14.0

export PATH=$PATH:$FLINK_HOME/bin

source /etc/profile #激活环境变量

4.配置文件修改

cd $FLINK_HOME/conf

a)修改masters和workers(也可能是slaves)文件

masters文件中只需要添加主节点以及WebUI 端口,格式:主节点的主机名或Ip:端口号  Yarn模式下可以不配置,因为Yarn模式下JobManager是随机分配的,但Standalone模式下需要配置进行指定

workers文件中加入集群中的所有节点,同样是可以修改也可以不修改

但如果修改workers文件,再启动Yarn时只需要在一个节点进行启动

如果不修改需要分别在每个节点输入命令进行启动

b)根据需要修改flink-conf.yaml文件,主要是修改:

JobManager进程的总内存

TaskManager进程的总内存

每个 TaskManager 的任务槽数量(决定并行度上限)

作业默认并行度(根据集群总的数量进行修改,可以有效提高任务处理速度)

二、启动flink on yran模式

1.切换路径

cd $FLINK_HOME/bin

运行启停脚本可以实现Yarn模式的启停

yarn-session.sh  #使用默认参数

#或

yarn-session.sh -n 2 -s 2 -jm 1024 -tm 2048  #使用传入的参数

报错内容:

Caused by:

java.lang.ClassNotFoundException:org.apache.hadoop.yarn.exceptions.YarnException

上网查找后给出的原因是Hadoop环境变量配置时HADOOP_CLASSPATH参数没有配置。

由于我习惯环境变量配置时只添加HADOOP_HOME,所以导致了这次的错误

原因:Hadoop环境变量配置缺少HADOOP_CLASSPATH参数

WebIU登录:

到目前为止flink on yarn是可以说是启动成功了,但是否能正常运行还需要进行测试

2.模式运行测试,利用自带的Wordcount.jar包

运行该jar包

cd $FLINK_HOME
bin/flink run example/streaming/WordCount.jar

--input file:///home/data/test.txt

--ouptu file:///home/data/out

这里需要注意由于Yarn模式下JobManager是随机分配的,所以集群中的每个节点在相应的input路径下都需要有对应文件。如果觉得麻烦可以将文件上传到hdfs文件系统中,运行命令 :

bin/flink run example/streaming/WordCount.jar

--input hdfs:///home/data/test.txt

--ouptu hdfs:///home/data/out

3.运行报错+解决方法

文件在本地系统时,只要文件路径没错以及文件存在,基本不会有什么错误了

当文件上传到hdfs文件系统时报错,显示找不到hdfs文件系统

主要有三种可能的原因:

  1. flink和Hadoop的本版不兼容è通过上网查看本版是否兼容
  2. HADOOP_CLASSPATH配置是否完整,这个问题有点麻烦,可能是环境配置文件没有生效,也可能是Hadoop环境本身有问题,可以通过$(Hadoop classpath)查看路径是否完整
  3. Hadoop配置文件未被Flink识别,这也是我碰到的问题,我直接将hadoop的核心文件:core-site.xml,hdfs-site.xml文件复制到flink安装目录的conf文件夹下

再重新运行就能成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值