一、实时项目框架流程
二、平台搭建
一、项目构建
-
端口号:hdfs:50070 yarn:8088
-
hive 1.2.1
-
zookeeper 3.4.6
-
hbase 1.4.6
端口号:16010
-
kafka 1.0.0
-
Flink 1.15.0
-
canal: 实时监控mysqlbinlog日志,实时采集数据
-
监控工具
-
kafka-eagle kafka监控工具
-
prometheus + pushgateway: flink日志采集及保存和监控
-
-
# 启动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
# 解压安装包 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
prometheus: 用于存储时序数据数据库,比如日志数据,比如保存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!
至此 实时数仓项目的所需要的平台搭建完成!