1. Doris分布式环境搭建

news2025/1/13 9:23:51

一. 环境准备

本次测试集群采用3台机器hadoop1、hadoop2、hadoop3, Frontend和Backend部署在同一台机器上,Frontend部署3台组成高可用,Backend部署3个节点,组成3副本存储。

主机IP操作系统FrontendBackend
hadoop1192.168.47.128Centos7FollowerBE1
hadoop2192.168.47.129Centos7FollowerBE2
hadoop3192.168.47.130Centos7FollowerBE3

1.安装JDK8,具体的安装过程这里不赘述。
2.安装mysql客户端,具体的安装过程这里不赘述。
3.关闭交换分区
在三台主机分别执行如下命令

# hadoop1关闭swap分区
[root@hadoop1 ~]# swapoff -a
# hadoop2关闭swap分区
[root@hadoop2 ~]# swapoff -a
# hadoop3关闭swap分区
[root@hadoop3 ~]# swapoff -a

4.关闭防火墙

# hadoop1关闭防火墙
[root@hadoop1 ~]# systemctl  stop firewalld
# hadoop2关闭防火墙
[root@hadoop2 ~]# systemctl  stop firewalld
# hadoop3关闭防火墙
[root@hadoop3 ~]# systemctl  stop firewalld

5.设置系统最大打开文件句柄数
三台主机都执行如下命令

vi /etc/security/limits.conf 
* soft nofile 1000000
* hard nofile 1000000

6.修改虚拟内存区域数量为

# hadoop1修改内存区域
[root@hadoop1 ~]# sysctl -w vm.max_map_count=2000000
vm.max_map_count = 2000000
# hadoop2修改内存区域
[root@hadoop2 ~]# sysctl -w vm.max_map_count=2000000
vm.max_map_count = 2000000
# hadoop3修改内存区域
[root@hadoop3 ~]# sysctl -w vm.max_map_count=2000000
vm.max_map_count = 2000000

7.关闭透明大页
三台主机都执行如下命令

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

二. 集群部署

1.下载Doris安装包,并解压

[root@hadoop1 opt]# wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.3-bin-x64.tar.gz
[root@hadoop1 opt]# tar xf apache-doris-2.0.3-bin-x64.tar.gz
[root@hadoop1 opt]# mv apache-doris-2.0.3-bin-x64 doris-2.0.3

2.修改配置,同步安装包到另外两台主机

# 修改FE配置
[root@hadoop1 doris-2.0.3]# vim fe/conf/fe.conf
priority_networks = 192.168.47.0/24
# 修改BE配置
[root@hadoop1 doris-2.0.3]# vim be/conf/be.conf
priority_networks = 192.168.47.0/24

#将安装包同步到hadoop2和hadoop3
[root@hadoop1 opt]# scp -r doris-2.0.3/ root@hadoop2:/opt
[root@hadoop1 opt]# scp -r doris-2.0.3/ root@hadoop3:/opt

3.启动 FE Master 节点
前面集群规划时选择hadoop3作为Frontend Master节点,因此先在hadoop3启动Frontend。

[root@hadoop3 doris-2.0.3]# ./fe/bin/start_fe.sh --daemon

使用mysql客户端连接Frontend并修改root用户的密码

[root@hadoop3 doris-2.0.3]# mysql -uroot -P9030 -h hadoop3 -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.99 Doris version doris-2.0.3-rc06-37d31a5

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>  SET PASSWORD FOR 'root' = PASSWORD('root123'); 

4.启动BE进程并注册
三台主机分别启动Backend

# hadoop1启动be
[root@hadoop1 doris-2.0.3]# ./be/bin/start_be.sh --daemon
# hadoop2启动be
[root@hadoop2 doris-2.0.3]# ./be/bin/start_be.sh --daemon
# hadoop3启动be
[root@hadoop3 doris-2.0.3]# ./be/bin/start_be.sh --daemon

三个Backend分别向hadoop3 Frontend注册

[root@hadoop3 doris-2.0.3]# mysql -uroot -P9030 -h 192.168.47.130 -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.99 Doris version doris-2.0.3-rc06-37d31a5

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 三个BE分别注册
mysql> ALTER SYSTEM ADD BACKEND "192.168.47.128:9050";
Query OK, 0 rows affected (0.02 sec)

mysql> ALTER SYSTEM ADD BACKEND "192.168.47.129:9050";
Query OK, 0 rows affected (0.02 sec)

mysql> ALTER SYSTEM ADD BACKEND "192.168.47.130:9050";
Query OK, 0 rows affected (0.01 sec)

# 查看已经注册的BE
mysql> SHOW BACKENDS;
+-----------+----------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
| BackendId | Host           | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime       | LastHeartbeat       | Alive | SystemDecommissioned | TabletNum | DataUsedCapacity | TrashUsedCapcacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | RemoteUsedCapacity | Tag                      | ErrMsg | Version                  | Status                                                                                                                        | HeartbeatFailureCounter | NodeRole |
+-----------+----------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
| 11128     | 192.168.47.128 | 9050          | 9060   | 8040     | 8060     | 2025-01-10 00:37:03 | 2025-01-10 00:45:32 | true  | false                | 24        | 29.771 KB        | 0.000              | 24.742 GB     | 38.278 GB     | 35.36 % | 35.36 %        | 0.000              | {"location" : "default"} |        | doris-2.0.3-rc06-37d31a5 | {"lastSuccessReportTabletsTime":"2025-01-10 00:44:38","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false} | 0                       | mix      |
| 11129     | 192.168.47.129 | 9050          | 9060   | 8040     | 8060     | 2025-01-10 00:37:12 | 2025-01-10 00:45:32 | true  | false                | 24        | 29.771 KB        | 0.000              | 23.307 GB     | 38.278 GB     | 39.11 % | 39.11 %        | 0.000              | {"location" : "default"} |        | doris-2.0.3-rc06-37d31a5 | {"lastSuccessReportTabletsTime":"2025-01-10 00:44:40","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false} | 0                       | mix      |
| 11130     | 192.168.47.130 | 9050          | 9060   | 8040     | 8060     | 2025-01-10 00:37:35 | 2025-01-10 00:45:32 | true  | false                | 24        | 29.771 KB        | 0.000              | 23.814 GB     | 38.278 GB     | 37.79 % | 37.79 %        | 0.000              | {"location" : "default"} |        | doris-2.0.3-rc06-37d31a5 | {"lastSuccessReportTabletsTime":"2025-01-10 00:45:05","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false} | 0                       | mix      |
+-----------+----------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
3 rows in set (0.02 sec)

5.FE Follower注册与启动
对Hadoop1和hadoop2的Follower进行注册

[root@hadoop3 doris-2.0.3]# mysql -uroot -P9030 -h 192.168.47.130 -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.99 Doris version doris-2.0.3-rc06-37d31a5

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 两个Follower分别注册
mysql> ALTER SYSTEM ADD FOLLOWER "192.168.47.128:9010";
Query OK, 0 rows affected (0.02 sec)

mysql> ALTER SYSTEM ADD FOLLOWER "192.168.47.129:9010";
Query OK, 0 rows affected (0.02 sec)

启动hadoop1和haoop2上的Frontend进程,第一次启动时需要从hadoop3同步元数据。

# 同步元数据
[root@hadoop1 fe]# ./bin/start_fe.sh --helper 192.168.47.130:9010 --daemon
[root@hadoop2 fe]# ./bin/start_fe.sh --helper 192.168.47.130:9010 --daemon

# 非第一次启动
[root@hadoop1 fe]# ./bin/start_fe.sh  --daemon
[root@hadoop2 fe]# ./bin/start_fe.sh  --daemon

此时可以登录到集群的web管理页面上查看集群Backend和Frontend的状态,入口地址为http://192.168.47.130:8030/login

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.验证集群功能
集群搭建完成后,下面进行集群功能验证。

[root@hadoop3 doris-2.0.3]# mysql -uroot -P9030 -h hadoop3 -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.99 Doris version doris-2.0.3-rc06-37d31a5

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 创建数据库
mysql> create database testdb;
Query OK, 0 rows affected (0.01 sec)

# 创建测试表
mysql> USE testdb;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE t1
(
    id INT,
    name VARCHAR(100) 
) DISTRIBUTED BY HASH(id) BUCKETS 10;

# 插入数据
mysql> INSERT INTO t1 values(1, 'name1'), (2, 'name2'), (3, 'name3'), (4, 'name4');
Query OK, 4 rows affected (0.53 sec)
{'label':'insert_9a435c2107994208_b19dcc43b6a92119', 'status':'VISIBLE', 'txnId':'2004'}


# 查询数据
mysql> select * from t1;
+------+-------+
| id   | name  |
+------+-------+
|    2 | name2 |
|    4 | name4 |
|    3 | name3 |
|    1 | name1 |
+------+-------+
4 rows in set (0.60 sec)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】-- 利用 jar 命令将配置文件添加到 jar 中

目录 1、准备 2、目标 3、步骤 3.1、安装 jdk 3.2、添加配置文件 3.3、校验 1、准备 java 环境hadoop-core-1.2.1.jar 和 core-site.xml 2、目标 将 core-site.xml 添加到 hadoop-core-1.2.1.jar 中。 3、步骤 3.1、安装 jdk 3.2、添加配置文件 jar -cvf hadoop-core-…

day14-Linux系统基础权限知识精讲

1. 给文件加特殊属性 1.1 chattr a:只能追加内容,不能删除 i:不能修改,不能删除;保护关键文件,防止非法写入 [rootoldboy ~]# chattr a test.txt [rootoldboy ~]# chattr i test.txt [rootoldboy ~]# echo 123 >> test.txt -bash: t…

Android使用系统消息与定时器实现霓虹灯效果

演示效果: 界面设计: 在帧布局FrameLayout中添加6个TextView 依次设置这6个TextView的宽,高,权重 也可在XML中直接设置 添加自定义颜色 关联自定义颜色到数组变量 关联6个TextView控件到数组变量 处理自定义系统消息 Handler _sysHandler new Han…

数据结构大作业——家谱管理系统(超详细!完整代码!)

目录 设计思路: 一、项目背景 二、功能分析 查询功能流程图: 管理功能流程图: 三、设计 四、实现 代码实现: 头文件 结构体 函数声明及定义 创建家谱树头结点 绘制家谱树(打印) 建立右兄弟…

vue3+elementPlus之后台管理系统(从0到1)(day1)

vue3官方文档:https://cn.vuejs.org/guide/introduction.html 1、项目创建 确保电脑已安装node 查看命令: node -v进入项目目录,创建项目 npm init vuelatest Need to install the following packages: create-vue3.13.0 Ok to procee…

汉图科技XP356DNL高速激光打印一体机综合性能测评

汉图科技XP356DNL高速激光打印一体机效率方面表现出色,支持A4纸型的高速打印,单面打印速度高达35页/分钟,自动双面打印速度可达32面/分钟,这样的速度在日常办公中能够极大地提高打印效率,减少等待时间,满足…

【芯片封测学习专栏 -- 什么是 Chiplet 技术】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 OverviewChiplet 背景UCIeChiplet 的挑战 Overview Chiplet 又称为小芯片。该技术通过将大型SoC划分为更小的芯片,使得每个部分都能采用不同…

1.CSS的复合选择器

1.1 什么是复合选择器 在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基础选择器进行组合形成的。 复合选择器可以更精准、更高效的选择目标元素(标签) 复…

【MySQL】SQL菜鸟教程(一)

1.常见命令 1.1 总览 命令作用SELECT从数据库中提取数据UPDATE更新数据库中的数据DELETE从数据库中删除数据INSERT INTO向数据库中插入新数据CREATE DATABASE创建新数据库ALTER DATABASE修改数据库CREATE TABLE创建新表ALTER TABLE变更数据表DROP TABLE删除表CREATE INDEX创建…

docker 自建rustdesk服务器测试

参考https://blog.csdn.net/tootsy_you/article/details/130010564 注意: docker-compose.yml version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbsports:- 21115:21115- 21116:21116- 21116:21116/udp- 21118:21118image: rust…

检验统计量与p值笔记

一、背景 以雨量数据为例,当获得一个站点一年的日雨量数据后,我们需要估计该站点的雨量的概率分布情况,因此我们利用有参估计的方式如极大似然法估计得到了假定该随机变量服从某一分布的参数,从而得到该站点的概率密度函数&#x…

每日十题八股-2025年1月12日

1.为什么四次挥手之后要等2MSL? 2.服务端出现大量的timewait有哪些原因? 3.TCP和UDP区别是什么? 4.TCP为什么可靠传输 5.怎么用udp实现http? 6.tcp粘包怎么解决? 7.TCP的拥塞控制介绍一下? 8.描述一下打开百度首页后发生的网络过…

制造企业“数字化转型”典型场景参考

聚焦产业链上下游企业研发设计、生产制造、运维服务、经营管理、供应链管理等场景,以场景为切入点梳理数字化转型痛点需求,绘制重点行业、重点产业链数字化转型场景图谱(简称“一图谱”),明确企业数字化转型路径&#…

Web渗透测试之XSS跨站脚本 防御[WAF]绕过手法

目录 XSS防御绕过汇总 参考这篇文章绕过 XSS payload XSS防御绕过汇总 服务端知道有网络攻击或者xss攻 Html

《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)

CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具,它主要用于将文本数据转换为词频矩阵,而不是传统意义上的词向量转换,但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵,它是文本特征…

session-manager-plugin: command not found 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Linux之读者写者模型与特殊锁的学习

目录 读者写者模型 特殊锁 悲观锁 自旋锁 在前几期,我们学习了多线程的生产者和消费者模型,生产者和消费者模型中,有三种关系,两个角色,一个场所,那么读者写者模型和生产者消费者模型有什么关联吗&…

期刊(中英),期刊分区,期刊所在数据库(中英),出版商区别和联系

目录 对期刊、分区、数据库、出版商整体了解期刊(中英)期刊分区期刊所在数据库总结 出版商 对期刊、分区、数据库、出版商整体了解 下图是我对这四部分的一个理解,其中期刊根据论文使用语言分为中英两种,期刊分区是用来评判论文质…

数学函数的参数和返回值探秘

数学函数的参数和返回值探秘 一、数学函数的参数1.1 隐式类型转换1.2 隐式类型转换的秘密 二、数学函数的返回值 本文所说的数学函数单指<math.h>中的系统函数&#xff0c;这些函数对参数和返回值的要求与其他类函数是有一点不同的。尤其是参数部分&#xff0c;是有值得深…

炸砖块游戏的最终图案

描述 小红正在玩一个“炸砖块”游戏,游戏的规则如下:初始有一个 n * m 的砖块矩阵。小红会炸 k 次,每次会向一个位置投炸弹,如果这个位置有一个砖块,则砖块消失,上方的砖块向下落。小红希望你画出最终砖块的图案。 输入描述 第一行输入三个正整数 n, m, k,代表矩阵的行…