2 .项目构建(实时计算框架和监控kafka,flink的工具)
注意:
因为我的是分布式,有些配置和伪分布式稍微有以写不同(千万注意)
在我们一个一个启动下面的进程的时候,我们应该时刻关注内存使用情况 top
2.1、框架版本
- hadoop 2.7.6
- hive 1.2.1
- zookeeper 3.4.6
- hbase 1.4.6
- kafka 1.0.0
- Flink 1.15.0
- canal: 实时监控mysqlbinlog日志,实时采集数据
- 监控工具
- kafka-eagle kafka监控工具
- prometheus + pushgateway: flink日志采集及保存和监控
- granfane 可视化工具
2.2、平台搭建
-
启动Hadoop
# 启动hadoop start-all.sh # hdfs http://master:50070 # yarn http://master:8088
-
启动Hive
# 启动hive的元数据服务 nohup hive --service metastore >> metastore.log 2>&1 &
-
启动zookeeper
# 重置zookeeper,如果是分布式每一个节点都需要删除 cd /usr/local/soft/zookeeper-3.4.6/data # 删除除了myid之外的所有的文件 # 启动zookeeper, 如果是分布式每一个节点都要启动 zkServer.sh start zkServer.sh status
-
启动hbase
# 启动hbase start-hbase.sh # 访问网页 http://master:16010
-
启动kafka
# 修改配置文件 cd /usr/local/soft/kafka_2.11-1.0.0/config vim server.properties # 将zookeeper改成单节点 zookeeper.connect=master:2181 # 启动kafka, 分布式需要在每个节点中启动 kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
-
Flink整合
# 修改环境变量 vim /etc/profile # 修改 export FLINK_HOME=/usr/local/soft/flink-1.15.0 # 在最后面增加 export HADOOP_CLASSPATH=`hadoop classpath` # 测试flink on yarn是否可用 yarn-session.sh -d # 测试sql-client sql-client.sh # 关闭yarn-session yarn application -list yarn application -kill [appid]
-
修改canal
修改canal配置文件 cd /usr/local/soft/canal/conf vim canal.properties # 修改zookeeper canal.zkServers = master:2181 # 修改kafka canal.mq.servers = master:9092
部署kafka-eagle-监控kafka的一个可视化工具
在安装好之后一直抱一个错误,如下:又学习到一个新的命令echo $KE_HOME可以打印ke_home的环境变量
kafka-eagle是一个监控和管理kafka的一个工具
这个进程所占的内存很多,所以我们需要在ke.sh做一些修改
# 解压安装包
tar -xvf kafka-eagle-bin-2.0.3.tar.gz
# 修改配置文件
cd /usr/local/soft/kafka-eagle-bin-2.0.3/kafka-eagle-web-2.0.3/conf
vim system-config.properties
# 修改配置
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=master:2181
# 注释默认数据库,打开mysql
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://master:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=123456
# 修改ke启动内存
# -Xmx400m 启动内存
# -Xms400m: 最大内存
vim ke.sh
export KE_JAVA_OPTS="-server -Xmx400m -Xms400m -XX:MaxGCPauseMillis=20 -XX:+UseG1GC -XX:MetaspaceSize=128m -XX:InitiatingHeapOccupanc
yPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80"
# 启动ke
cd /usr/local/soft/kafka-eagle-bin-2.0.3/kafka-eagle-web-2.0.3/bin
./ke.sh start
启动之后,会给我们一个登录网址,账号和密码
访问界面如下:
里面的界面超级炫酷
-
Fflink监控
prometheus: 用于存储时序数据数据库,比如日志数据,比如保存flink数据量随时间变化的数据
pushgateway: 用于采集flink监控数据的工具
# 1、安装prometheus # 解压安装包 tar -xvf prometheus-2.23.0.linux-amd64.tar.gz # 2、修改配置文件 vim prometheus.yml # 增加以下配置, 把里面已存在的job删了 --注意该配置不能直接顶到头,必须留两个空位,否则就会报错 - job_name: 'pushgateway' scrape_interval: 10s honor_labels: true static_configs: - targets: ['localhost:9091'] labels: instance: pushgateway # 3、解压pushgateway tar -xvf pushgateway-1.3.0.linux-amd64.tar.gz # 4、启动prometheus cd /usr/local/soft/prometheus-2.23.0.linux-amd64 nohup ./prometheus & # 5、启动pushgateway cd /usr/local/soft/pushgateway-1.3.0.linux-amd64 nohup ./pushgateway & 访问页面 http://master:9090/ http://master:9091/ # 6、在flink配置文件中增加配置 cd /usr/local/soft/flink-1.11.2/conf vim flink-conf.yaml metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter metrics.reporter.promgateway.host: master metrics.reporter.promgateway.port: 9091 metrics.reporter.promgateway.jobName: shujia metrics.reporter.promgateway.randomJobNameSuffix: true metrics.reporter.promgateway.deleteOnShutdown: false
http://master:9090/的界面如下:
http://master:9091/的界面如下:
-
安装grafana
解压
启动
nohup ./grafana-server &
用户名密码admin
- 先配置 dataSource
- 然后是这个
- 可以查看了