
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,如果是分布式每一个节点都需要删除
- 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

- 然后是这个

- 可以查看了

