Flink的Standalone部署实战

在Flink是通用的框架,以混合和匹配的方式支持部署不同场景,而Standalone单机部署方便快速部署,记录本地部署过程,方便备查。

环境要求

1)JDK1.8及以上
2)flink-1.14.3
3)CentOS7

Flink相关信息可到 Flink官网下载和查看相关信息。

第一步、下载并解压

推荐使用 wget 方式,本次选择的是版本 flink-1.14.3-bin-scala_2.12.tgz,下载并解压,执行以下命令。

// 下载
wget https://archive.apache.org/dist/flink/flink-1.14.3/flink-1.14.3-bin-scala_2.12.tgz
// opt下创建文件夹
mkdir /opt/flink
// 解压到opt下目录
tar -zxvf flink-1.14.3-bin-scala_2.12.tgz -C /opt/flink/

下载界面如下图所示。
Flink的Standalone部署实战_第1张图片

第二步、配置环境变量

进入环境变量配置文件profile, 即 vi /etc/profile,添加以下内容。

#flink
export Flink_HOME=/opt/flink/flink-1.14.3/
# 将flink路径添加到PATH路径下
export PATH=$JMETER/bin/:$PATH:$Flink_HOME/bin

:wq 保存配置信息,主要要刷新环境变量

// 刷新环境变量
source /etc/profile
// 查看安装位置
which flink
// 进入到bin目录下,启动
start-cluster.sh
// 查看flink进程
ps -ef | grep flink
// 测试
jps

执行以上步骤,则表示flink已经启动成功,执行结果如下图所示。

但此时在浏览器访问 http://192.168.184.137:8081/#/overview,其中 192.168.184.137为虚拟机的IP地址,还无法进入flink控制台。
Flink的Standalone部署实战_第2张图片

第三步、修改虚拟机配置

此时仍需要修改连接的配置信息,首先关闭flink服务,并在 配置 flink-conf.yaml 放开默认8081端口和绑定的地址。

// 在bin目录下,终止flink启动
stop-cluster.sh
// 打开配置文件
vi /opt/flink/flink-1.14.3/conf/flink-conf.yaml 

放开注释信息,如下图所示。
Flink的Standalone部署实战_第3张图片
注意:必须将端口添加到防火墙的信任列表,并刷新

// 添加防火墙
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload

此时浏览器再次访问 http://192.168.184.137:8081/#/overview,即可进入控制台,如下图所示。
Flink的Standalone部署实战_第4张图片

第四步、启动作业流

数据输入需要使用 nc 命令,可提前yum安装。

// 安装nc
yum install nc

一步步安装即可。

配置文件(/opt/flink/flink-1.14.3/conf/flink-conf.yaml)中添加以下内容。

// 打开配置文件
vi /opt/flink/flink-1.14.3/conf/flink-conf.yaml
// 添加以下信息
#taskmanager的机器地址,集群设置为当前机器所在的地址
taskmanager.host: flink_no1

Flink的Standalone部署实战_第5张图片
配置文件(/opt/flink/flink-1.14.3/conf/workers)中添加host信息,如下所示。

// 打开配置文件
vi /opt/flink/flink-1.14.3/conf/workers
// 添加worker信息
flink_no1
// 在bin目录下,终止flink启动
stop-cluster.sh
// 启动
start-cluster.sh

以上即Flink的Standalone部署过程,有问题可留言交流!

异常处理

【1】错误信息
org.apache.flink.util.FlinkException: TaskExecutor akka.tcp://[email protected]:34207/user/rpc/taskmanager_0 has no more allocated slots for job 8aa6239dce488f7b9a9bb237343871a6.
处理方案:
standalone模式,需要指定TaskManager主机的地址

你可能感兴趣的:(flink,大数据)