- Flink集群部署centos7
- 1 模板虚拟机环境准备
- 1.1 安装epel-release
- 1.2 linux 安装的是最小系统则安装一下插件
- 1.3 关闭防火墙,关闭防火墙开机自启
- 1.4 创建一个用户develop
- 1.5 配置develop用户具有root权限,方便后期加sudo执行root权限的命令
- 1.6 在/opt目录下创建文件夹,并修改所属主和所属组
- 1.7 卸载虚拟机自带的JDK
- 1.8 安装JDK
- 1.9 重启虚拟机
- 2 克隆虚拟机
- 2.1 克隆
- 3 安装
- 3.1 集群部署规划
- 3.1 下载
- 3.2 上传解压
- 3.3 flink1 修改配置文件
- 3.1 masters
- 3.1 workers(旧版本slaves)
- 3.3 flink-conf.yaml 修改
- 3.4 分发设置
- 3.4.1 免密登录设置
- 3.4.2 xsync脚本编写
- 3.4.2 jpsall.sh
- 3.4.3 flink-cluster.sh 启停脚本编写
- 3.4.4 分发
- 4 启动
- 4.1 指令
- 4.2 结果
- 5 提交job
- 5.1 Standalone 模式
- 5.1.1 页面手动提交
- 5.1.2 指令提交
- 5.1.3 指令取消job
系统环境:CentOS-7-x86_64-DVD-2009.iso
flink版本:flink-1.13.1-bin-scala_2.12
jdk:1.8
相当于一个软件仓库
yum install -y epel-release1.2 linux 安装的是最小系统则安装一下插件
# net-tool:工具包集合,包含ifconfig等命令 yum install -y net-tools # vim:编辑器 yum install -y vim1.3 关闭防火墙,关闭防火墙开机自启
# 关闭防火墙 systemctl stop firewalld # 关闭防火墙开机自启 systemctl disable firewalld.service1.4 创建一个用户develop
# 创建用户 useradd develop # 设置develop用户的密码 passwd develop ...设置密码 *** 作1.5 配置develop用户具有root权限,方便后期加sudo执行root权限的命令
- 修改文件
# 系统用户权限配置文件 vim /etc/sudoers
- 编辑
## Allow root to run any commands anywhere root ALL=(ALL) ALL ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL ## 添加配置 develop ALL=(ALL) NOPASSWD:ALL
注意:develop 这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了develop 具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以develop 要放到%wheel这行下面。
1.6 在/opt目录下创建文件夹,并修改所属主和所属组[root@flink1 opt]# mkdir module [root@flink1 opt]# mkdir software [root@flink1 opt]# ll 总用量 0 drwxr-xr-x. 2 root root 6 9月 8 00:33 module drwxr-xr-x. 2 root root 6 9月 8 00:33 software [root@flink1 opt]# chown develop:develop /opt/module [root@flink1 opt]# chown develop:develop /opt/software/ [root@flink1 opt]# ll 总用量 0 drwxr-xr-x. 2 develop develop 6 9月 8 00:33 module drwxr-xr-x. 2 develop develop 6 9月 8 00:33 software1.7 卸载虚拟机自带的JDK
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
- rpm -qa:查询所安装的所有rpm软件包
- grep -i:忽略大小写
- xargs -n1:表示每次只传递一个参数
- rpm -e –nodeps:强制卸载软件
注意:每一台服务器均要安装jdk
安装步骤略
reboot2 克隆虚拟机 2.1 克隆
克隆三台flink,分别修改静态ip以及服务器名称,如下:
192.168.10.11 flink1
192.168.10.12 flink2
192.168.10.13 flink3
https://archive.apache.org/dist/flink/flink-1.13.1/
3.2 上传解压[develop@flin1 software]$ tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C /opt/module/ [develop@flin1 module]$ ls flink-1.10.0-bin-scala_2.11.tgz jdk-8u301-linux-x64.tar.gz3.3 flink1 修改配置文件 3.1 masters
标识StandaloneSessionClusterEntrypoint的配置
[develop@flink1 conf]$ vim masters flink1:80813.1 workers(旧版本slaves)
标识TaskManagerRunner的配置
flink2 flink33.3 flink-conf.yaml 修改
# 修改jobmanager远程地址为flink1 jobmanager.rpc.address: flink1 # 修改jobmanager堆内存为1G jobmanager.heap.size: 1024m # 修改每个taskmanager设置两个插槽 taskmanager.numberOfTaskSlots: 23.4 分发设置 3.4.1 免密登录设置
https://blog.csdn.net/qq_27242695/article/details/120236642
3.4.2 xsync脚本编写#!/bin/bash if [ $# -lt 1 ]; then echo Not Enough Arguement! exit; fi for host in flink1 flink2 flink3 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4. 判断文件是否存在 if [ -e $file ]; then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done3.4.2 jpsall.sh
#!/bin/bash for host in flink1 flink2 flink3 do echo =============== $host =============== ssh $host jps done3.4.3 flink-cluster.sh 启停脚本编写
#!/bin/bash if [ $# -lt 1 ]; then echo "No Args Input..." exit ; fi case in "start") echo " =================== 启动 flink集群=================" ssh flink1 "/opt/module/flink-1.13.1/bin/start-cluster.sh" ;; "stop") echo " =================== 关闭 flink集群 ===================" ssh flink1 "/opt/module/flink-1.13.1/bin/stop-cluster.sh" ;; *) echo "Input Args Error..." ;; esac
结果:
# 1. 分发flink解压文件 [develop@flink1 bin]$ xsync /opt/module/flink-1.10.0/ # 2. 分发flink-cluster.sh, jpsall.sh, xsync [develop@flink1 bin]$ xsync flink-cluster.sh jpsall.sh xsync
结果:
flink2, flink3检查如下
任意一台服务器执行
4.1 指令# 启动 flink-cluster.sh start # 关闭 flink-cluster.sh stop # 查看结果 jpsall.sh4.2 结果
# flink run -c 启动方法 -p 并行度 上传jar目录 参数,-d 标识后端运行 ./bin/flink run -d -c class.main -p 3 xxx.jar args5.1.3 指令取消job
# 1. 列出当前的job flink list -a 后缀添加-a表示查看状态 ./bin/flink list # 2. 取消job flink cancel jobId ./bin/flink cancel jobId
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)