liudehaos

还历史以真诚,还生命以过程。 ——余秋雨
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

项目:实时数仓项目实战(一)平台搭建

Posted on 2022-08-11 21:32  liudehaos  阅读(898)  评论(0编辑  收藏  举报

一、实时项目框架流程

 

二、平台搭建

一、项目构建

1、框架版本


  1. hadoop 2.7.6

    端口号:hdfs:50070  yarn:8088

  2. hive 1.2.1

  3. zookeeper 3.4.6

  4. hbase 1.4.6

    端口号:16010

  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、平台搭建

  启动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-all.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]
# yarn application -kill application_1660215563659_0001#

  修改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-eagle是一个监控和管理kafka的一个工具

# 解压安装包
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

 访问页面 master:8048

 

 

3、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

  访问=页面 master:9090  和  master:9091

 

 

 

 

 

 

 granfane 可视化工具

# 1、解压 grafana
tar -zxvf grafana-7.3.4.linux-amd64.tar.gz 
# 2、启动prometheus
cd /usr/local/soft/grafana-7.3.4/bin
nohup ./grafana-server &
# 查看后台文件
tail -f nohup.out
# 访问网页
http://master:3000
用户:admin
密码:admin(输入之后可以自行修改)

搭建完成后centos 中相关进程

 

 

命令行输入 top 命令

查看本地虚拟机中的内存使用情况,这么多程序非常的吃内存!

只剩下900兆的内存了,建议本地虚拟机,内存给到8G!

 

 

至此 实时数仓项目的所需要的平台搭建完成!