0


Flink+Paimon+Hadoop+StarRocks(Doris)单机环境安装部署

本人操作系统Mac OS M1 Pro,ARM64,之前在Windows、Ubuntu操作系统都部署过,步骤没有大的区别。

一、Flink安装

安装

方式一:直接使用brew install 下载安装

  1. brew install apache-flink

更换至指定flink版本:

网页下载指定flink jar,将jar放到FLINK_HOME/libexec/目录下:

Apache Flink: Downloads

  1. cd flink-1.17.2/
  2. cp -r ./* /usr/local/Cellar/apache-flink/1.20.0/libexec/

方式二:网页下载

如上链接,下载后,可以直接从flink-home/bin 目录下开始启动。

启动FlinkSQL

  1. 启动cluster

以下两种方式都可以:

  1. ./opt/homebrew/Cellar/apache-flink/1.20.0/libexec/bin/start-cluster.sh
  2. cd /Users/xxx/bigdata_env/flink-1.17.2/bin/
  3. ./start-cluster.sh
  1. 启动FlinkSQL:
  1. cd /Users/bytedance/bigdata_env/flink-1.17.2/bin/
  2. ./sql-client.sh

参考文章:

二、Paimon安装

安装

从Paimon官网下载对应Flink版本的jar,然后放到Flink安装目录中的「lib」下:

Download | Apache Paimon

  1. cp paimon-flink-1.17-0.8.2.jar /User/xxx/bigdata_env/flink-1.17.2/libexec/lib/

添加hadoop依赖「重要」

Paimon官方教程链接:Quick Start | Apache Paimon

Download Pre-bundled Hadoop jar and copy the jar file to the

  1. lib

directory of your Flink home.

下载地址:https://repo1.maven.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/

  1. cp flink-shaded-hadoop-2-uber-*.jar <FLINK_HOME>/lib/

否则会出现error:

启动测试

启动上述FlinkSQL

  1. cd /Users/xxx/bigdata_env/flink-1.17.2/bin/
  2. ./start-cluster.sh
  3. ./sql-client.sh

创建catalog:

  1. CREATE CATALOG my_catalog WITH (
  2. 'type'='paimon',
  3. 'warehouse'='file:/Users/xxx/bigdata_env/paimon_path'
  4. );
  5. SHOW CATALOGS;
  6. USE CATALOG my_catalog;

创建database & paimon表:

  1. CREATE DATABASE test_paimon_db;
  2. show databases;
  3. use test_paimon_db;
  4. CREATE TABLE word_count (
  5. word STRING PRIMARY KEY NOT ENFORCED,
  6. cnt BIGINT
  7. );
  8. show tables;

流写Paimon表

  1. SET 'execution.runtime-mode' = 'streaming'; -- !!!
  2. CREATE TEMPORARY TABLE word_table (
  3. word STRING
  4. ) WITH (
  5. 'connector' = 'datagen',
  6. 'fields.word.length' = '1'
  7. );
  8. SET 'execution.checkpointing.interval' = '10 s';
  9. INSERT INTO word_count SELECT word, COUNT(*) FROM word_table GROUP BY word;

查看hdfs文件

  1. ls /Users/xxx/bigdata_env/paimon_path/test_paimon_db.db/word_count/

OLAP查询Paimon

  1. -- use tableau result mode
  2. SET 'sql-client.execution.result-mode' = 'tableau';
  3. -- switch to batch mode
  4. RESET 'execution.checkpointing.interval';
  5. SET 'execution.runtime-mode' = 'batch';
  6. -- olap query the table
  7. SELECT * FROM word_count;

可以同时跑多个Flink job:

In order to run multiple Flink jobs at the same time, you need to modify the cluster configuration in

  1. <FLINK_HOME>/conf/flink-conf.yaml

.

  1. taskmanager.numberOfTaskSlots: 4

参考文章:

三、MySQL

安装

  1. # brew info mysql@8.0
  2. brew install mysql@8.0
  3. brew tap homebrew/services
  4. brew services start mysql@8.0
  5. # brew services list
  6. brew link mysql@8.0 --force
  7. mysqladmin -u root password 'yourpassword'

启动&测试

进入MySQL

  1. mysql -u root -p

建库/建表/查询

  1. -- 建库
  2. create database my_test_db;
  3. show databases;
  4. use my_test_db;
  5. -- 建表
  6. create table word_table (
  7. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键自增id',
  8. `word` varchar(20),
  9. `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  10. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  11. PRIMARY KEY (`id`)
  12. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='测试word表';
  13. show tables;
  14. -- 插入数据&查询
  15. INSERT INTO word_table (word) VALUES ('flink'), ('hadoop'), ('mysql'), ('paimon'), ('doris'), ('flink');
  16. select * from word_table;

参考文章:

安装:

安装步骤:

四、Docker

mac 电脑安装 docker

在Mac上安装Docker,您可以使用Docker Desktop for Mac,它提供了一个简化的安装过程。以下是安装步骤:

  1. 访问Docker官方网站下载页面:Docker Desktop: The #1 Containerization Tool for Developers | Docker
  2. 点击对应的Mac版本(通常是Intel芯片或Apple Silicon)的"Download"按钮。
  3. 下载完成后,打开安装程序。
  4. 安装程序会自动启动,并引导您完成安装过程。
  5. 安装完成后,启动Docker Desktop。
  6. 首次启动时,Docker可能会要求您授予访问网络和文件的权限。
  7. Docker Desktop启动后,您可以通过命令行使用Docker CLI。

命令行示例(打开终端,输入以下命令):

  1. 检查Docker版本
  2. docker --version
  3. 启动Docker服务
  4. # docker start
  5. 停止Docker服务
  6. # docker stop
  7. 查看Docker运行状态
  8. docker system info

确保您的Mac操作系统版本支持Docker Desktop。如果您使用的是旧版本的Mac,可能需要升级操作系统或使用Docker Toolbox。

五、StarRocks

starrocks在mac电脑不太容易部署,be中的二进制文件与操作系统不匹配,故使用docker来进行安装部署(docker虚拟化一个环境/容器,可以实现跨平台的部署和运行,不需要每台机器都配置环境变量等)。

比如在mac运行启动Doris BE会出现:

  1. doris_be: cannot execute binary file

安装

docker版本:

https://docs.starrocks.io/docs/quick_start/shared-nothing/ (官方)

  1. # docker pull starrocks image
  2. docker pull starrocks/allin1-ubuntu:3.2.11
  3. # 通过docker启动starrocks -- 参考官方:https://docs.starrocks.io/docs/quick_start/shared-nothing/
  4. docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd --name quickstart starrocks/allin1-ubuntu:3.2.11
  5. -- 挂载容器外部磁盘/文件夹「启动」
  6. docker run -v /Users/xxx/bigdata_env/docker_path/data:/home/zzz/data -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd --name quickstart starrocks/allin1-ubuntu:3.2.11

启动&测试

启动

  1. # 启动SQL client(Connect to StarRocks with a SQL client)
  2. docker exec -it quickstart \
  3. mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > "
  4. # 查看fe、be状态
  5. show proc '/frontends' \G
  6. show proc '/backends' \G

测试

  1. CREATE DATABASE IF NOT EXISTS quickstart;
  2. USE quickstart;
  3. -- 3.4.1明细模型
  4. -- 1)建表,在建表时指定模型和排序键
  5. CREATE TABLE IF NOT EXISTS detail (
  6. event_time DATETIME NOT NULL COMMENT "datetime of event",
  7. event_type INT NOT NULL COMMENT "type of event",
  8. user_id INT COMMENT "id of user",
  9. device_code INT COMMENT "device of ",
  10. channel INT COMMENT "")
  11. DUPLICATE KEY(event_time, event_type)
  12. DISTRIBUTED BY HASH(user_id) BUCKETS 8;
  13. -- 插入数据
  14. INSERT INTO detail VALUES('2021-11-18 12:00:00.00',1,1001,1,1);
  15. INSERT INTO detail VALUES('2021-11-17 12:00:00.00',2,1001,1,1);
  16. INSERT INTO detail VALUES('2021-11-16 12:00:00.00',3,1001,1,1);
  17. INSERT INTO detail VALUES('2021-11-15 12:00:00.00',1,1001,1,1);
  18. INSERT INTO detail VALUES('2021-11-14 12:00:00.00',2,1001,1,1);
  19. -- 查数
  20. SELECT * FROM detail;

六、StarRocks + Paimon测试

StarRocks启动

docker挂载磁盘/文件目录(容器内外互通)

  1. # 挂载启动docker 镜像
  2. docker run -v /Users/bytedance/bigdata_env/docker_path/data:/home/lyk/data -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd --name quickstart starrocks/allin1-ubuntu:3.2.11
  3. # docker启动MySQL
  4. docker exec -it quickstart \
  5. mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > "

或者启动前将文件copy到容器中:

由于容器内外的文件系统「不互通」,所以需要挂载或者copy文件夹到docker容器中去!!!

  1. # cp外部文件到容器内
  2. docker cp ~/bigdata_env/paimon_path quickstart:/home/zzz/data/

创建Paimon Catalog&查询

  1. CREATE EXTERNAL CATALOG paimon_catalog
  2. PROPERTIES
  3. (
  4. "type" = "paimon",
  5. "paimon.catalog.type" = "filesystem",
  6. "paimon.catalog.warehouse" = "file:/home/zzz/data/paimon_path/"
  7. );
  8. SELECT * FROM paimon_catalog.test_paimon_db.word_count;
  9. SELECT * FROM paimon_catalog.test_paimon_db.paimon_tbl_partial_updates_test2;

————

下一篇文章介绍,“Flink + Paimon + StarRocks/Doris 实现实时湖仓数据分析”,包含一些实操和性能的对比。

标签: flink 大数据

本文转载自: https://blog.csdn.net/LutherK/article/details/143094224
版权归原作者 Leonardo_KY 所有, 如有侵权,请联系我们删除。

“Flink+Paimon+Hadoop+StarRocks(Doris)单机环境安装部署”的评论:

还没有评论