Flink(一)单节点启动以及集群环境启动
准备条件
在进行Flink部署之前,我们需要事先准备好以下几个条件
-
1.(必要)两台虚拟机
-
2.(推荐)固定以下两台Centos的IP
可以参考下面文章固定Centos IP -
3.(推荐)配置SSH免密登录
参考下面文章Centos配置免密登录 -
4.(必要)配置Java环境
参考下面文章前半段Centos配置Java环境 -
5.(必要)下载Flink安装包
我这里下载的是flink1.17版本
Apache Flink官网
单节点启动
准备好前置条件之后,将flink-1.17.0-bin-scala_2.12.tgz压缩包上传到虚拟机/usr/local目录下进行解压
tar -zxvf flink-1.17.0-bin-scala_2.12.tgz -C /usr/local
可以看到如下的目录结构
进入到flink目录中看下内部的结构
单节点启动无需做很多的修改,JobManager和TaskManager一体,所以只需要将8081管理端的端口给放开就行,放开端口有两个步骤:
- 关闭系统防火墙
systemctl stop firewalld
- 修改配置文件,修改绑定的ip
vi conf/flink-conf.yaml
将rest.bind-address: localhost给注释掉
保存之后,输入命令启动flink
bin/start-cluster.sh
浏览器输入虚拟机IP:8081端口访问管理端页面
单节点启动成功!!!
集群环境
集群环境,我们只需要在单节点的基础上额外修改一点配置就可以完成,两台三台没什么差别,我们这边就用2台来做演示,我这里配置了hosts文件,所以可以直接将我的主机名映射成IP
JobManager | TaskManager |
---|---|
centos1 | centos2 |
vi conf/flink-conf.yaml
配置JobManager地址,注释bind-host配置
注意这里的注释,也是很多其他博客里面没有的地方,taskManger需要与JobManger进行RPC通信,如果绑定的IP不注释,或者不指定IP,那么TaskManger无法建立连接,无法启动起来
继续编辑conf下的workers文件,添加上TaskManger的ip
vi conf/workers
接下来,将我们配置好的flink分发到centos2这台机器上
scp -p -r /usr/local/flink-1.17.0 root@centos2:/usr/local
这第二台虚拟机也同样的需要配置Java环境哦
下面启动集群
bin/start-cluster.sh
我们来看下两台机器的Java程序运行情况
centos1
centos2
再看看我们的管理界面
这里的Available Task Slots由于我们配置的是1个TaskManager,所有只有1,如果有2台,那这里就是2了,有兴趣的小伙伴可以试试