当前位置:   article > 正文

大数据相关组件安装及使用

大数据相关组件安装及使用

自学大数据相关组件 持续更新中。。。

涉及技术或组件version
LinuxCentOS-Stream-9
Docker26.0.0
Javajdk8
Flink1.18.1
Doris2.0.4
Flink-cdc3.0.1
DolphinScheduler3.2.1

一、linux安装docker

1、更新yum

sudo yum update
  • 1

2、卸载docker旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3、添加镜像库

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 1
  • 2

4、安装

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 1

5、启动

systemctl start docker
  • 1

二、docker安装mysql

1、拉取镜像

docker pull mysql
  • 1

2、启动mysql

docker run -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=@Abc123455 --name mysql -d mysql:latest
  • 1

3、设置mysql时区

show variables like '%time_zone%';

SET time_zone = 'Asia/Shanghai';
SET @@global.time_zone = 'Asia/Shanghai';

SELECT @@global.time_zone;
show variables like '%time_zone%';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4、拉取postgres

docker pull postgres:alpine3.19
  • 1

5、启动postgres

mkdir -p  /home/pgdata
  • 1
docker run --name pg_p -v /home/pgdata/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=@Abc123455 -p 5432:5432 -d postgres:alpine3.19
  • 1

三、安装jdk

1、下载jdk安装包
2、linux创建文件夹

mkdir /usr/local/java
  • 1

3、jdk安装包放入文件夹内
4、解压

tar -zxvf jdk-8u351-linux-x64.tar.gz
  • 1

5、更改环境变量

vim /etc/profile
  • 1

添加

export JAVA_HOME=/usr/local/java/jdk8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
  • 1
  • 2
  • 3

6、重载配置

source /etc/profile
  • 1

7、检查是否生效

java -version
  • 1

8、防止重启后重新重载配置

vim ~/.bashrc
  • 1

添加

source /etc/profile
  • 1

四、设置系统时区

1、设置 上海 UTC+8 时区

sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 1

2、保持硬件时区与系统时区一致

timedatectl set-local-rtc 1
  • 1

五、docker安装flink

1、拉取镜像

docker pull flink:1.18.1-scala_2.12-java8
  • 1

2、创建docker网络

docker network create mynet
  • 1

3、启动jobmanager(master节点,管理程序,负责调度job运算)

 docker run -d --name jm --network mynet -p 8081:8081 -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai  flink:1.18.1-scala_2.12-java8 jobmanager
  • 1

启动两个taskmanager(真正运算task的节点)

docker run -d --name tm1 --network mynet -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai flink:1.18.1-scala_2.12-java8 taskmanager

docker run -d --name tm2 --network mynet -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai flink:1.18.1-scala_2.12-java8 taskmanager
  • 1
  • 2
  • 3

4、然后可以通过8081打开管理页面,查看集群状态
在这里插入图片描述

六、Doris

参考官方文档

1、下载压缩包
2、解压

tar -zxvf apache-doris-2.0.4-bin-arm64.tar.gz
  • 1

3、修改linux内核参数

sysctl vm.max_map_count
  • 1
sudo sysctl -w vm.max_map_count=2000000
  • 1

4、启动fe

cd apache-doris-x.x.x/fe
  • 1

修改 FE 配置文件 conf/fe.conf

vim conf/fe.conf
  • 1

添加 priority_networks 参数

priority_networks=172.23.16.0/24
  • 1

添加元数据目录

meta_dir=/path/your/doris-meta
  • 1

启动

./bin/start_fe.sh --daemon
  • 1

使用mysql连接fe

mysql -uroot -P9030 -h127.0.0.1
  • 1

查看fe运行状态:

show frontends\G;
  • 1

在这里插入图片描述

5、启动be

cd apache-doris-x.x.x/be
  • 1

修改 BE 配置文件 conf/be.conf

vim conf/be.conf
  • 1

添加 priority_networks 参数

priority_networks=172.23.16.0/24
  • 1

添加元数据目录

storage_root_path=/path/your/data_dir
  • 1

启动

./bin/start_be.sh --daemon
  • 1

添加 BE 节点到集群
通过 MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中

ALTER SYSTEM ADD BACKEND "be_ip:9050";
  • 1

6、验证启动
在这里插入图片描述

七、flink-cdc

参考文档
Mysql往Doris同步数据
1、准备数据
Mysql:

-- 创建数据库
CREATE DATABASE app_db;

USE app_db;

-- 创建 orders 表
CREATE TABLE `orders` (
`id` INT NOT NULL,
`price` DECIMAL(10,2) NOT NULL,
PRIMARY KEY (`id`)
);

-- 插入数据
INSERT INTO `orders` (`id`, `price`) VALUES (1, 4.00);
INSERT INTO `orders` (`id`, `price`) VALUES (2, 100.00);

-- 创建 shipments 表
CREATE TABLE `shipments` (
`id` INT NOT NULL,
`city` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
);

-- 插入数据
INSERT INTO `shipments` (`id`, `city`) VALUES (1, 'beijing');
INSERT INTO `shipments` (`id`, `city`) VALUES (2, 'xian');

-- 创建 products 表
CREATE TABLE `products` (
`id` INT NOT NULL,
`product` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
);

-- 插入数据
INSERT INTO `products` (`id`, `product`) VALUES (1, 'Beer');
INSERT INTO `products` (`id`, `product`) VALUES (2, 'Cap');
INSERT INTO `products` (`id`, `product`) VALUES (3, 'Peanut');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

Doris创建数据库:

create database app_db;
  • 1

2、下载flink-cdc-3.0.1压缩包
3、解压,并将文件夹改名为flink-cdc

tar -zxvf flink-cdc-3.0.1-bin.tar.gz
mv flink-cdc-3.0.1 flink-cdc
  • 1
  • 2

4、下载以下两个jar包放入flink-cdc的lib文件夹下
flink-cdc-pipeline-connector-mysql-3.0.1.jar
flink-cdc-pipeline-connector-doris-3.0.1.jar
5、进入文件夹,新建mysql-to-doris.yaml文件:

cd flink-cdc
vim mysql-to-doris.yaml
  • 1
  • 2
source:
  type: mysql
  hostname: localhost
  port: 3306
  username: root
  password: 123456
  tables: app_db.\.*
  server-id: 5400-5404
  server-time-zone: Asia/Shanghai

sink:
  type: doris
  fenodes: 127.0.0.1:8030
  username: root
  password: ""
  table.create.properties.light_schema_change: true
  table.create.properties.replication_num: 1

pipeline:
  name: Sync MySQL Database to Doris
  parallelism: 2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

6、最后,提交任务到 Flink 服务
将fllink-cdc复制入Flink容器内再运行:

docker cp flink-cdc jm:/opt
  • 1

进入容器

docker exec -it jm /bin/bash
  • 1

返回上一级文件夹,可以看到flink-cdc已被复制进来
在这里插入图片描述
进入flink-cdc文件夹下运行flink-cdc:

cd flink-cdc
  • 1
bash bin/flink-cdc.sh mysql-to-doris.yaml
  • 1

7、验证运行成功
在这里插入图片描述
更改Mysql中数据或表结构,Doris中同步进行了修改

八、DolphinScheduler

参考文档
1、下载压缩包
2、安装
3、本地单机部署

# 启动 Standalone Server 服务
./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
./bin/dolphinscheduler-daemon.sh status standalone-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4、教学视频

九、DataSophon
参考文档1
参考文档2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/647215
推荐阅读
相关标签
  

闽ICP备14008679号