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

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

一、linux安装docker

1、更新yum

sudo yum update

2、卸载docker旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

3、添加镜像库

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

4、安装

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

5、启动

systemctl start docker

二、docker安装mysql

1、拉取镜像

docker pull mysql

2、启动mysql

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

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%';

4、拉取postgres

docker pull postgres:alpine3.19

5、启动postgres

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

三、安装jdk

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

mkdir /usr/local/java

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

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

5、更改环境变量

vim /etc/profile

添加

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

6、重载配置

source /etc/profile

7、检查是否生效

java -version

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

vim ~/.bashrc

添加

source /etc/profile

四、设置系统时区

1、设置 上海 UTC+8 时区

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

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

timedatectl set-local-rtc 1

五、docker安装flink

1、拉取镜像

docker pull flink:1.18.1-scala_2.12-java8

2、创建docker网络

docker network create mynet

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

启动两个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

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

六、Doris

参考官方文档

1、下载压缩包
2、解压

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

3、修改linux内核参数

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

4、启动fe

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

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

vim conf/fe.conf

添加 priority_networks 参数

priority_networks=172.23.16.0/24

添加元数据目录

meta_dir=/path/your/doris-meta

启动

./bin/start_fe.sh --daemon

使用mysql连接fe

mysql -uroot -P9030 -h127.0.0.1

查看fe运行状态:

show frontends\G;

在这里插入图片描述

5、启动be

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

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

vim conf/be.conf

添加 priority_networks 参数

priority_networks=172.23.16.0/24

添加元数据目录

storage_root_path=/path/your/data_dir

启动

./bin/start_be.sh --daemon

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

ALTER SYSTEM ADD BACKEND "be_ip:9050";

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');

Doris创建数据库:

create database app_db;

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

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

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

docker cp flink-cdc jm:/opt

进入容器

docker exec -it jm /bin/bash

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

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

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

八、DolphinScheduler

参考文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531102.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【文件IO】JavaIO详解

一.文件的相关概念 什么是文件? 文件是计算机中存储信息的基本单位。文件通常指的是存储在计算机或其他数字存储设备上的一段信息的集合,这些信息可以是文本、图片、音频、视频等不同格式的数据。 文件路径: 文件的路径可以分为两类 相对路径:先指定一个"当前…

批量把GBK文本编码换成UTF-8

因为工作团队协作原因,有的同事使用gbk,有的使用utf-8,不方便,于是商量便统一换成utf-8,但是项目文件太多,所以百度搜索于是有了用python脚本一键实现的方案,以下为步骤. 本人亲测可用!!!(只在win11上亲测可用) 以下代码只实现对.c和.h文件的编码转换 1.电脑安装python脚本: …

css文字颜色渐变

background: linear-gradient(to top, #C3F8B3, #66FFFF);-webkit-background-clip: text;-webkit-text-fill-color: transparent; 效果

户外骑行存档(图新地球与运动健康App)经验分享

0序 之前天天加班熬夜,身体素质有些下降,在锻炼的过程中喜欢上了骑行,周周骑、天天骑。 骑行会产生很多的轨迹(有很多朋友不喜欢装很多app,就用手机自带的运动健康,也有喜欢专业运动app的,道理…

通过 Cookie、Redis共享Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(四)

本篇内容对应 “2.5 开发登录、退出功能” 小节 “4.7 优化登陆模块” 小节 2.6 显示登录信息 2.7 账号设置 2.8 检查登录状态 登录功能的流程是什么? UUID为什么不会重复? 因为UUID是基于mac物理地址、时间戳、随机数等信息生成。因此UUID居于极高的唯…

在B站看课的进度助手

效果 代码 BilibiliVideoDurationCrawler import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; import java.text.ParseException; import java.util.ArrayList; imp…

【教程】混淆Dart 代码

什么是代码混淆? 代码混淆是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 Dart 代码时,混淆会隐藏函数和类的名称,并用其他符号替代每个符号,从而使攻击者难以进行逆向工程。 Flut…

每日一题:有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注…

教你构建一个优秀的SD Prompt

构建一个优秀的Prompt 在使用Stable Diffusion AI时,构建一个有效的提示(Prompt)是至关重要的第一步。这个过程涉及到创造性的尝试和对AI行为的理解。这里我会对如何构建一个好的Prompt进行一个总结。 什么是一个好的提示词 构建有效的提示是使用Stable Diffusion AI或其…

职场商务英语口语柯桥外语培训之“手机欠费”用英文怎么说?

大家天天玩手机, 肯定会碰到 “欠费”“没电”“关机” 这些情况, 那么问题来了, 你知道用英语怎么说? 一起来和小编来学习下吧 今天,一起来学习一下吧。 ● 手机欠费 英语怎么说? ● 肯定有同学要…

二手车商的套路

https://www.dongchedi.com/article/7126394624675578405 https://www.dongchedi.com/article/7126394624675578405 现在,有越来越多的人去了解二手车,二手车相对于新车来说,更加的亲民划算。很多新车需要四五十万,而二手车有可…

信息素养与终身学习解锁题目搜索之道的新引擎【文末送书】

文章目录 信息素养:搜索前的准备终身学习:搜索后的深化新引擎的构建与运行 搜索之道:信息素养与终身学习的新引擎【文末送书】 随着互联网的快速发展和信息技术的日益成熟,搜索已经成为获取知识和信息的主要途径之一。然而&#x…

浙大恩特客户资源管理系统 RegulatePriceAction SQL注入漏洞复现

0x01 产品简介 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源,提升销售和市场营销的效果。 0x02 漏洞概述 浙大恩特客户资源管理系统 RegulatePriceAction接口存在 SQL 注入漏洞,攻击者可通过输入恶意 SQL …

47 转置卷积【李沐动手学深度学习v2课程笔记】

1. 转置卷积 卷积层和汇聚层通常会减少下采样输入图像的空间维度(高和宽),卷积通常来说不会增大输入的高和宽,要么保持高和宽不变,要么会将高宽减半,很少会有卷积将高宽变大的。可以通过 padding 来增加高…

layui复选框勾选取消勾选事件监听

监听事件放置位置&#xff1a; form.on(checkbox(equipInputClick), function(data){var a data.elem.checked;var val data.value;if(a true){}else{}});html部分 <input lay-filter"equipInputClick" type"checkbox" lay-skin"primary&quo…

Leetcode 23.合并K个升序链表

心路历程&#xff1a; 第一反应是直接暴力求解出来&#xff0c;因为题中也没有关于复杂度的要求。写完发现竟然也通过了&#xff0c;后来发现这道题本来考察的是分治算法&#xff0c;不过能解决问题就行吧。 从评论区看到了一句话很有意思&#xff1a;链表的题能暴力做出来的…

Vue 移动端(H5)项目怎么实现页面缓存(即列表页面进入详情返回后列表页面缓存且还原页面滚动条位置)keep-alive简单使用

一、需求 产品要求&#xff1a;Vue移动端项目进入列表页&#xff0c;列表页需要刷新&#xff0c;而从详情页返回列表页&#xff0c;列表页则需要缓存并且还原页面滚动条位置 二、实现思路 1、使用Vue中的keep-alive组件&#xff0c;keep-alive提供了路由缓存功能 2、因为我项…

优先级队列

优先级队列的基本使用 模拟实现上面的接口函数&#xff0c;优先级队列不是队列&#xff0c;而是类似一个堆一样的东西&#xff0c;我们先来试试它的接口函数是怎么个样子的。 需要包含的头文件是queue。 #include<iostream> #include<queue> using namespace std;…

2024/4/5—力扣—字符串相乘

代码实现&#xff1a; 方法一&#xff1a;常规解法——超出整数表示范围 long long char_to_num(char *str) {long long num 0;for (int i 0; i < strlen(str); i) {num num * 10 (str[i] - 0);}return num; }char* multiply(char *num1, char *num2) {long long a cha…

拥抱智能,IT运维将有哪些变化?

Gartner数据显示&#xff0c;2023年AIOps在中国市场渗透率只达到目标受众的5%-20%。这一数据意味着仍有大量企业还未进行AIOps建设&#xff0c;未来AIOps市场前景广阔。目前&#xff0c;已经开始应用AIOps的企业&#xff0c;智能运维水平普遍还处于辅助智能化运维阶段&#xff…