• 2 .项目构建(实时计算框架和监控kafka,flink的工具)


    2 .项目构建(实时计算框架和监控kafka,flink的工具)

    注意:

    1. 因为我的是分布式,有些配置和伪分布式稍微有以写不同(千万注意)

    2. 在我们一个一个启动下面的进程的时候,我们应该时刻关注内存使用情况 top

    2.1、框架版本

    1. hadoop 2.7.6
    2. hive 1.2.1
    3. zookeeper 3.4.6
    4. hbase 1.4.6
    5. kafka 1.0.0
    6. Flink 1.15.0
    7. canal: 实时监控mysqlbinlog日志,实时采集数据
    8. 监控工具
      1. kafka-eagle kafka监控工具
      2. prometheus + pushgateway: flink日志采集及保存和监控
      3. granfane 可视化工具

    2.2、平台搭建

    • 启动Hadoop

      1. # 启动hadoop
      2. start-all.sh
      3. # hdfs
      4. http://master:50070
      5. # yarn
      6. http://master:8088
    • 启动Hive

      1. # 启动hive的元数据服务
      2. nohup hive --service metastore >> metastore.log 2>&1 &
    • 启动zookeeper

      1. # 重置zookeeper,如果是分布式每一个节点都需要删除
      2. cd /usr/local/soft/zookeeper-3.4.6/data
      3. # 删除除了myid之外的所有的文件
      4. # 启动zookeeper, 如果是分布式每一个节点都要启动
      5. zkServer.sh start
      6. zkServer.sh status
    • 启动hbase

      1. # 启动hbase
      2. start-hbase.sh
      3. # 访问网页
      4. http://master:16010
    • 启动kafka

      1. # 修改配置文件
      2. cd /usr/local/soft/kafka_2.11-1.0.0/config
      3. vim server.properties
      4. # 将zookeeper改成单节点
      5. zookeeper.connect=master:2181
      6. # 启动kafka, 分布式需要在每个节点中启动
      7. kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
    • Flink整合

      1. # 修改环境变量
      2. vim /etc/profile
      3. # 修改
      4. export FLINK_HOME=/usr/local/soft/flink-1.15.0
      5. # 在最后面增加
      6. export HADOOP_CLASSPATH=`hadoop classpath`
      7. # 测试flink on yarn是否可用
      8. yarn-session.sh -d
      9. # 测试sql-client
      10. sql-client.sh
      11. # 关闭yarn-session
      12. yarn application -list
      13. yarn application -kill [appid]
    • 修改canal

      1. 修改canal配置文件
      2. cd /usr/local/soft/canal/conf
      3. vim canal.properties
      4. # 修改zookeeper
      5. canal.zkServers = master:2181
      6. # 修改kafka
      7. canal.mq.servers = master:9092

      部署kafka-eagle-监控kafka的一个可视化工具

      在安装好之后一直抱一个错误,如下:又学习到一个新的命令echo $KE_HOME可以打印ke_home的环境变量

    kafka-eagle是一个监控和管理kafka的一个工具

    这个进程所占的内存很多,所以我们需要在ke.sh做一些修改

    1. # 解压安装包
    2. tar -xvf kafka-eagle-bin-2.0.3.tar.gz
    3. # 修改配置文件
    4. cd /usr/local/soft/kafka-eagle-bin-2.0.3/kafka-eagle-web-2.0.3/conf
    5. vim system-config.properties
    6. # 修改配置
    7. kafka.eagle.zk.cluster.alias=cluster1
    8. cluster1.zk.list=master:2181
    9. # 注释默认数据库,打开mysql
    10. kafka.eagle.driver=com.mysql.jdbc.Driver
    11. kafka.eagle.url=jdbc:mysql://master:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
    12. kafka.eagle.username=root
    13. kafka.eagle.password=123456
    14. # 修改ke启动内存
    15. # -Xmx400m 启动内存
    16. # -Xms400m: 最大内存
    17. vim ke.sh
    18. export KE_JAVA_OPTS="-server -Xmx400m -Xms400m -XX:MaxGCPauseMillis=20 -XX:+UseG1GC -XX:MetaspaceSize=128m -XX:InitiatingHeapOccupanc
    19. yPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80"
    20. # 启动ke
    21. cd /usr/local/soft/kafka-eagle-bin-2.0.3/kafka-eagle-web-2.0.3/bin
    22. ./ke.sh start

    启动之后,会给我们一个登录网址,账号和密码

    访问界面如下:

    里面的界面超级炫酷

    • Fflink监控

      prometheus: 用于存储时序数据数据库,比如日志数据,比如保存flink数据量随时间变化的数据

      pushgateway: 用于采集flink监控数据的工具

      1. # 1、安装prometheus
      2. # 解压安装包
      3. tar -xvf prometheus-2.23.0.linux-amd64.tar.gz
      4. # 2、修改配置文件
      5. vim prometheus.yml
      6. # 增加以下配置, 把里面已存在的job删了 --注意该配置不能直接顶到头,必须留两个空位,否则就会报错
      7. - job_name: 'pushgateway'
      8. scrape_interval: 10s
      9. honor_labels: true
      10. static_configs:
      11. - targets: ['localhost:9091']
      12. labels:
      13. instance: pushgateway
      14. # 3、解压pushgateway
      15. tar -xvf pushgateway-1.3.0.linux-amd64.tar.gz
      16. # 4、启动prometheus
      17. cd /usr/local/soft/prometheus-2.23.0.linux-amd64
      18. nohup ./prometheus &
      19. # 5、启动pushgateway
      20. cd /usr/local/soft/pushgateway-1.3.0.linux-amd64
      21. nohup ./pushgateway &
      22. 访问页面
      23. http://master:9090/
      24. http://master:9091/
      25. # 6、在flink配置文件中增加配置
      26. cd /usr/local/soft/flink-1.11.2/conf
      27. vim flink-conf.yaml
      28. metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
      29. metrics.reporter.promgateway.host: master
      30. metrics.reporter.promgateway.port: 9091
      31. metrics.reporter.promgateway.jobName: shujia
      32. metrics.reporter.promgateway.randomJobNameSuffix: true
      33. metrics.reporter.promgateway.deleteOnShutdown: false

      http://master:9090/的界面如下:

    http://master:9091/的界面如下:

    • 安装grafana

      解压

      启动

      nohup ./grafana-server &

    访问页面http://master:3000/

    用户名密码admin

    • 先配置 dataSource

    • 然后是这个

    • 可以查看了

  • 相关阅读:
    Cookie、代理服务器
    Python抽象类
    Ajax实现搜索联想 自动补全
    [附源码]java毕业设计高要某高校教务处排课系统
    用 pytorch 训练端对端验证码识别神经网络并进行 C++ 移植
    Vue Slot插槽:组件化的艺术
    PHP 安装
    基于springboot的家装平台设计与实现
    如何正确维护实验室超声波清洗机
    数据结构每日亿题(四)
  • 原文地址:https://blog.csdn.net/weixin_48370579/article/details/126296263