三台centos虚拟机 flink standalone集群环境以及grafana监控搭建
本文主要介绍如何用三台虚拟机搭建flink的standalone系统,并通过prometheus结合grafanna监控flink集群的作业情况。
本文主要介绍如何用三台虚拟机搭建flink的standalone系统,并通过prometheus结合grafanna监控flink集群的作业情况。
本集群环境是由三台centOS 7.5的虚拟机搭建的
虚拟机安装:
centos7.5的镜像文件如下:
链接:https://pan.baidu.com/s/1FWiHEn_TyI_nHDZiQYdBSg 提取码:w4l3
新建虚拟机
选典型
接下来一路默认点就行
同样的操作创建另外两台虚拟机
Java环境
因为flink执行依赖于jvm,因为我们需要在每台服务器上安装JDK (1.8及以上)
查看java版本
java -version
flink安装:
flink对应的下载地址:
本文安装的是 flink-1.14.5-bin-scala_2.11.tgz
把安装包放到centos虚拟机里
获取root权限
[hadoop@localhost Public]$ su
解压缩
本文的flink压缩包放在Public下面
[root@localhost Public]# tar -xzvf flink-1.14.5-bin-scala_2.11
修改名字
[root@localhost Public]# mv flink-1.14.5/ flink
当然也可以在图形界面直接解压缩和修改名字
设置静态ip
由于虚拟机的ip一般是动态分配的,而后续配置需要用三台虚拟机的ip地址来配置jobmanager和taskmanager,故动态的ip导致每次都要重新设置,较麻烦。
首先查看虚拟机ip地址
ifconfig
查看虚拟机子网ip,子网掩码,网关
回到根目录下
[root@localhost /]# vim etc/sysconfig/network-scripts/ifcfg-ens33
将对应配置改为 static
并在最后加入
IPADDR=通过ifconfig查看的本主机的ip
NETMASK=子网掩码
GATEWAY=网关地址
DNS1=8.8.8.8
修改完后,按ESC键,然后键入 :wq(冒号wq)保存退出
ps:如因输入错误打开了一个本来不存在的文件夹或者不想保存修改退出,按ESC键,然后键入 :q(冒号q)不保存退出
保存退出后,重启网络服务
service network restart
检查网络是否通
ping baidu.com
免密配置
首先,在某一台服务器上执行生成SSH KEY 命令
ssh-keygen -t rsa
然后将公匙发送到需要免密的机器上
ssh-copy-id -i ~/.ssh/id_rsa.pub 需要免密的机器IP
将Flink所有服务器节点之间互相访问均开放免密登录
操作手法:每个服务器都执行生成SSH KEY命令,然后将公钥发送给Flink所有机器节点(含自己)
flink配置
进入flink文件夹下面的conf文件夹
[root@localhost Public]# cd flink/conf
需要修改三个文件
1.修改flink-conf.yaml
[root@localhost conf]# vim flink-conf.yaml
将localhost改为欲设为jobmanager的主机的ip地址
每个taskmanager的槽的数量 和 并行度 的设置(自行按需设置)
2.修改masters
[root@localhost conf]# vim masters
将预设主机ip键入 ,ESC :wq保存退出
3.修改workes(旧版本的flink为slavers)
[root@localhost conf]# vim workers
将欲作为taskmanager的主机的ip键入,也同样可将jobmanager的ip键入,即该主机既做jm,又作tm,保存退出
三台主机同样的配置
在master主机启动flink集群
进入flink的bin文件夹下
[root@localhost bin]# . start-cluster.sh
打开浏览器,输入 master主机的ip:8081
例如:
172.16.72.129:8081
即可看到flink对应的Web ui界面
至此,flink standalone集群环境搭建完毕。
flink作业提交
在submit new job 点击add new可添加作业
可以设置并行度,点击submit即提交作业
在flink的UI的界面上点击任务详情,然后点击Task Metrics会弹出如下的界面,在 add metic按钮上可以添加需要的监控指标,即可查看对应的指标情况。
使用Prometheus+Grafana 监控flink作业情况
参考Prometheus+Grafana集成监控Flink_弥生i的博客-CSDN博客_prometheus监控flink集群
1、Prometheus
Prometheus是一套开源的系统监控报警框架。它受启发于Google的Brogmon监控系统,由工作在SoundCloud的前google员工在2012年创建,作为社区开源项目进行开发,并于 2015年正式发布。
2016年,Prometheus正式加入Cloud Native Computing Foundation(CNCF)基金会的项目,成为受欢迎度仅次于Kubernetes 的项目。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。和展示工具Grafana有很好的集成性。
prometheus项目地址:https://github.com/prometheus/prometheus
pushgateway项目地址:https://github.com/prometheus/pushgateway
2、Grafana
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
项目地址:https://github.com/grafana/grafana
Flink App :需要监控的数据来源
Prometheus :收集数据
nodeManger :Prometheus 生态中的组件,nodeMnager负责监控运行机器的状态
Pushgateway:Prometheus 生态中的组件,pushGateway服务收集Flink的指标
Grafana :进行可视化展示
安装步骤:
配置在jobmanager一台主机即可
flink配置
1.将flink中plugins文件夹下的jar拷贝至lib目录下
cd plugins/metrics-prometheus/
cp flink-metrics-prometheus-1.14.5.jar /Public/flink/lib/
2.修改flink-conf.yaml
[root@localhost conf]# vim flink-conf.yaml
将下面添加到flink-conf.yaml中
下图中localhost为主机的ip
##### 与 Prometheus 集成配置 #####
metrics.reporter.promgateway.class:
org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
# PushGateway 的主机名与端口号
metrics.reporter.promgateway.host: localhost
metrics.reporter.promgateway.port: 9091
# Flink metric 在前端展示的标签(前缀)与随机后缀
metrics.reporter.promgateway.jobName: myJob
metrics.reporter.promgateway.randomJobNameSuffix: true
metrics.reporter.promgateway.deleteOnShutdown: false
metrics.reporter.promgateway.interval: 30 SECONDS
pushgateway安装
下载:https://prometheus.io/download/
解压:tar -zxvf pushgateway-1.4.3.linux-amd64.tar.gz
启动:./pushgateway
访问:http://localhost:9091/localhost为主机ip
node_exporter安装
下载:https://prometheus.io/download/
解压:tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz
启动:./node_exporter
访问:http://localhost:9100/metricslocalhost为主机ip
prometheus安装
下载:https://prometheus.io/download/
解压:tar -zxvf prometheus-2.37.0-rc0.linux-amd64.tar.gz
编辑 prometheus.ymlscrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] labels: instance: 'prometheus' - job_name: 'linux' static_configs: - targets: ['localhost:9100'] labels: instance: 'localhost' - job_name: 'pushgateway' static_configs: - targets: ['localhost:9091'] labels: instance: 'pushgateway'
localhost为主机ip
启动:./prometheus --config.file=prometheus.yml
访问:http://localhost:9090/targets
grafana安装
下载:wget https://dl.grafana.com/oss/release/grafana-7.4.0.linux-amd64.tar.gz
解压:tar -zxvf grafana-7.4.0.linux-amd64.tar.gz
启动:./bin/grafana-server web
访问:http://localhost:3000/login
查看进程:netstat -apn | grep -E ‘9091|3000|9090|9100’
访问:http://localhost:3000/login
1.点击Add data source
2.点击Prometheus
3.输入URL地址,点击保存(localhost为主机IP)
4.点击New dashbpoard
5.点击Add Quary
6.如下操作,成功显示
至此,本文工作结束
更多推荐
所有评论(0)