Flink部署及集群(高可用)
程序员文章站
2022-06-17 09:36:15
...
文章目录
Flink部署
1、下载
官网下载地址:http://flink.apache.org/downloads.html。
HDP集群hadoop3.1,scala:2.11,选择flink-1.10.0-bin-scala_2.11.tgz
2、解压
tar -zxvf flink-1.10.0-bin-scala_2.11.tgz
3、启动Flink
进入bin目录:cd /usr/flink/flink-1.10.0/bin
启动flink:./start-cluster.sh
启动成功如下:jps可以看到StandaloneSessionClusterEntrypoint在运行说明成功!
3、开放端口8081
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
4、访问ui界面
输入10.34.11.142:8081
5、测试
打开3个会话
- 第一个,启动监听客户端端口
输入: nc -lk 8888
## 注意:端口可以自己定
- 第二个,启动flink的自带demo
##切换到flink安装目录下
cd /usr/flink/flink-1.10.0/
##启动程序,注意:端口号跟第一个端口一致
bin/flink run examples/streaming/SocketWindowWordCount.jar --port 8888
- 第三个,启动日志监控
#其中.out文件会根据服务器名称自己变化
tail -f flink-root-taskexecutor-0-hdp-s-2.data.dc.zjft.com.out
在第一个会话输入
zijin
aa
日志可以监控到
6、ui界面信息
Flink集群配置
1、资源分配:
master节点:hdp-m-1.data.dc.zjft.com(10.34.11.70)
slave节点:hdp-s-2.data.dc.zjft.com(10.34.11.142), hdp-s-1.data.dc.zjft.com(10.34.11.154)
2、配置flink-conf.yaml文件
(因不上hdp,所以高可用及zookeeper,yarn等配置没配)
三个节点一样
# 配置主节点(即配置master节点)
jobmanager.rpc.address: hdp-m-1.data.dc.zjft.com
#jobmanager内存大小
jobmanager.heap.size: 4096m
#taskmanager内存大小
taskmanager.memory.process.size: 4096m
#配置task任务槽数
taskmanager.numberOfTaskSlots: 4
#设置并行数,就是是集群总核数
parallelism.default: 16
#web ui端口
rest.port: 8899
3、配置masters文件
三个节点一样
#有多个master可以加多个,记得端口带上,和flink-conf.yaml配置的要一样,删掉本来masters配置文件中的localhost:8081
hdp-m-1.data.dc.zjft.com:8899
4、配置slaves文件
三个节点一样
#将子节点的ip或者域名加上
hdp-s-1.data.dc.zjft.com
hdp-s-2.data.dc.zjft.com
5、开放8899端口
只要设置master节点
vi /etc/stsconfig/iptables
#加入下面这句
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8899 -j ACCEPT
6、启动测试
只在master节点启动
cd /usr/flink/flink-1.10.0/bin
./start-cluster.sh
Flink实现JobManager High Availability (HA)
修改配置文件
# 进入 flink 配置目录,并修改 flink-conf.yaml
cd /usr/flink/flink-1.10.0/conf
vi flink-conf.yaml
# 添加下列配置
high-availability: zookeeper
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: /cluster_one
high-availability.storageDir: file:///flink/recovery
high-availability.zookeeper.quorum: 10.34.11.124:2181,10.34.11.70:2181,10.34.11.133:2181
# 修改 masters
vi masters
# 添加下列配置
10.34.11.70:8899
10.34.11.154:8899
# 修改 zoo.cfg
vi zoo.cfg
# 添加下列配置
server.1=hdp-e-1.data.dc.zjft.com:2888:3888
server.2=hdp-m-1.data.dc.zjft.com:2888:3888
server.3=hdp-m-2.data.dc.zjft.com:2888:3888
# 将配置分发到各个节点
scp flink-conf.yaml,masters,zoo.cfg aaa@qq.com:/usr/flink/flink-1.10.0/conf
scp flink-conf.yaml,masters,zoo.cfg aaa@qq.com:/usr/flink/flink-1.10.0/conf
启动 flink
# 启动 flink 之前要确保 zookeeper 启动正常,再启动flink
cd /usr/flink/flink-1.10.0/conf
start-cluster.sh
可以看到,启动了两个 standalonesession 进程,也就是两个 jobmanager 进程
测试高可用是否生效
# 在 zookeeper 中查看哪个进程是 leader
cd /usr/hdp/3.1.0.0-78/zookeeper/bin
./zkCli.sh
get /flink/cluster_one/leader/rest_server_lock
可以看到 10.34.11.70:8899 为 leader
# 访问 leader 节点,在浏览器输入以下网址可以看到正常访问 flink 的 UI 界面
10.34.11.70:8899
# 模拟宕机情况,测试是否能切换,在 leader 节点中输入下面命令,查看 standalonesession 的进程 PID
jps
# 杀死进程,后面的数字为进程的 PID
kill -9 22519
# 执行成功之后需要等待一会,因为切换需要时间,然后在 zookeeper 客户端中查看 leader 节点信息
get /flink/cluster_one/leader/rest_server_lock
可以看到 leader 节点从 70 切换到了 154,切换成功,浏览器访问10.34.11.154:8899
,即可看到 flink UI 界面。
问题集
1、启动Flink报错:
Please specify JAVA_HOME. Either in Flink config ./conf/flink-conf.yaml or as system-wide JAVA_HOME.
方法:在/etc/profile下配置JAVA_HOME环境变量
上一篇: 高可用的MongoDB集群
下一篇: Flink高可用集群搭建