资源规划

组件 bigdata-node1 bigdata-node2 bigdata-node3
OS centos7.6 centos7.6 centos7.6
JDK jvm jvm jvm
HDFS NameNode/SecondaryNameNode/DataNode DataNode DataNode
YARN ResourceManager/NodeManager NodeManager NodeManager
Hive HiveServer2/Metastore/CLI/Beeline CLI/Beeline CLI/Beeline
MySQL N.A N.A MySQL Server
Maven mvn N.A N.A
Git git N.A N.A
TPC-DS flink-sql-benchmark N.A N.A

安装介质

下载:https://github.com/ververica/flink-sql-benchmark

环境准备

安装Hadoop

Hadoop 2.2或更高版本,参考:《CentOS7.6-安装Hadoop-2.7.2

安装MySQL

参考:《CentOS7.6-安装MySQL-5.7.30

安装Hive

参考:《CentOS7.6-安装Hive-2.3.4

安装Maven

参考:《CentOS7.6-安装Maven-3.5.2

安装Git

参考:《CentOS7.6-安装Git

TPC-DS准备

  1. # 在节点bigdata-node1上获取源码并编译
  2. cd ~/modules/
  3. git clone https://github.com/ververica/flink-sql-benchmark

修改pom.xml文件,更新flink、hive版本信息:

  1. vi ~/modules/flink-sql-benchmark/pom.xml

配置如下:

  1. <properties>
  2. <flink.version>1.10.0</flink.version>
  3. <hive.version>2.3.4</hive.version>
  4. </properties>

编译:

  1. cd ~/modules/flink-sql-benchmark
  2. mvn clean install -DskipTests -Dfast

数据准备

  1. 确保gcc和Maven已经安装。

    1. -- 查看gcc版本
    2. gcc -v
    3. -- 如果没有安装gcc请先安装
    4. yum install gcc
  2. 编译数据生成器。

    1. cd ~/modules/flink-sql-benchmark/hive-tpcds-setup
    2. sudo yum install -y unzip zip
    3. sudo yum -y install patch
    4. ./tpcds-build.sh
  3. 产生TPC-DS数据集。

    1. cd ~/modules/flink-sql-benchmark/hive-tpcds-setup
    2. # 参数是指定需要产生数据的大小(大于1即可),单位为G
    3. ./tpcds-setup.sh 2
  4. 验证数据。

    1. cd ~/modules/apache-hive-2.3.4-bin
    2. # 启动CLI,将自动开启Metastore服务
    3. bin/hive
    4. # 查看数据库
    5. $hive>> show databases;
    6. # 注意:数据库后缀数字和上面产生数据集的参数相关
    7. $hive>> use tpcds_bin_orc_2;
    8. # 查看表
    9. $hive>> show tables;
    10. # 总计:24张表,7张事实表,17张维表

    基准测试

    //TODO

参考

【基于Flink 1.10版本的SQL演练】https://blog.csdn.net/qq_31866793/article/details/104422036

【3.13 【1.10特别篇】Demo: 基于 Flink SQL 构建离线应用】https://www.bilibili.com/video/av90320234