Doris部署&连接

简介

Doris 是一款用于实时分析,大数据场景的开源数据库,本文介绍如何在服务器上部署 Doris

部署

首先,要去官网下载程序包,地址:https://doris.apache.org/download

下载需要安装的版本

(1)上传服务器

将下载下来的程序包,上传到服务器,解压

bash 复制代码
tar -xvf apache-doris-3.1.4-bin-x64-noavx2.tar.gz

如下

(2)启动准备

在启动前,需要设置一些系统配置,避免启动出现问题

bash 复制代码
# 1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 2. 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

# 3. 加大文件句柄(必须)
echo "* soft nofile 2048000" >> /etc/security/limits.conf
echo "* hard nofile 2048000" >> /etc/security/limits.conf

# 4. 加大虚拟内存(必须)
echo "vm.max_map_count=2048000" >> /etc/sysctl.conf
sysctl -p

如下

另外,Doris 是有两个服务,一个 be(backend,后端)、一个 fe(frontend,前端)

启动后端服务,还需要关闭系统的 swap,并调高系统的 ulimit(允许一个程序同时打开的最大文件数)

【关闭系统 swap】

bash 复制代码
vi /etc/fstab

注释下面这行配置,保存退出

敲下面的命令,关闭 swap

bash 复制代码
# 关闭 swap,上面改配置是为了永久生效,临时关闭敲只敲这行命令也是可以的
swapoff -a

# 查看内存情况
free -h

查看内存情况,Swap 这行都是 0,说明 Swap 已关闭

【调高 ulimit】

bash 复制代码
vi /etc/security/limits.conf

文件末尾添加下面这四行配置

bash 复制代码
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350

如下,保存退出

ulimit -n 出现配置后的数量,表示配置完成

(3)安装JDK

Doris 需要有 JDK 环境,我装的 doris-3.1.4 版本需要有 JDK-17 环境(必须 17),可参考下面这篇博客装一个

Oracle 官网不知道什么时候更新了,Java 在下面这个菜单里

安装完,敲 java -version 能查看到版本信息,表示安装完成

(4)启动

敲下面的命令,启动 Dorsi 前后端服务,端口分别是 9030、9050

bash 复制代码
sh fe/bin/start_fe.sh --daemon
sh be/bin/start_be.sh --daemon

查看一下端口情况,每毛病

连接

连接 Doris,可以像连接 MySQL 一样,只是端口不一样

Datagrip

如下,端口用 9030,用户是 root,密码空着

命令行

如果本地有 MySQL 环境,可以敲下面的命令行连接

bash 复制代码
mysql -u [用户] -h [主机] -P [端口,注意前面是大写的P,小写的p是密码]

如下

网页

前面说了 Doris 有前端服务,可以直接在页面上输入 http://[主机]:8030/ 访问,如下

用户名是 root,密码空着

可以在页面上访问数据库数据,执行语句

使用

简单执行一些语句,创建一个数据库,一张数据库,插入一条数据,感受一些 Doris 的数据库语法

sql 复制代码
-- 1. 创建数据库
CREATE DATABASE test_doris;

-- 2. 切换到数据库
USE test_doris;

-- 3. 正确建表语句(补全PROPERTIES,修正字段名)
CREATE TABLE t1 (
    id INT,
    name STRING
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);

-- 4. 插入数据
INSERT INTO t1 VALUES (1, 'doris');

-- 5. 查询验证
SELECT * FROM t1;

还行,和 MySQL 用起来差不多

服务注册

最后把 Doris 服务注册到系统服务中,使用 systemctl 命令来管理

【Doris 前端服务】

bash 复制代码
vim /etc/systemd/system/doris-fe.service

粘贴以下内容,JDK、Doris 路径更换成自己的,保存退出

bash 复制代码
[Unit]
Description=Doris FE Service
After=network.target

[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/usr/local/dev/jdk-17.0.17"
ExecStart=/usr/local/dev/apache-doris-3.1.4/fe/bin/start_fe.sh --daemon
ExecStop=/usr/local/dev/apache-doris-3.1.4/fe/bin/stop_fe.sh
Restart=on-failure
LimitNOFILE=655350
LimitNPROC=655350

[Install]
WantedBy=multi-user.target

【Doris 后端服务】

bash 复制代码
vim /etc/systemd/system/doris-be.service

粘贴以下内容,JDK、Doris 路径更换成自己的,保存退出

bash 复制代码
[Unit]
Description=Doris BE Service
After=network.target doris-fe.service

[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/usr/local/dev/jdk-17.0.17"
ExecStart=/usr/local/dev/apache-doris-3.1.4/be/bin/start_be.sh --daemon
ExecStop=/usr/local/dev/apache-doris-3.1.4/be/bin/stop_be.sh
Restart=on-failure
LimitNOFILE=655350
LimitNPROC=655350

[Install]
WantedBy=multi-user.target

刷新服务

bash 复制代码
systemctl daemon-reload

接下来就可以使用 systemctl 命令启停服务了,并且可以设置开机自启动或设置重启策略等等

bash 复制代码
systemctl start doris-be
systemctl start doris-fe

如下

相关推荐
先吃饱再说12 小时前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils12 小时前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
阿里云大数据AI技术14 小时前
StarRocks x Fluss x Paimon湖流一体方案:构建秒级响应、湖流一体的实时数据引擎
大数据·人工智能
Databend15 小时前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶15 小时前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
喵个咪16 小时前
Go Wind UBA 拆解系列 - 架构总览:三服务、数据流与契约优先
大数据·后端·go
喵个咪16 小时前
Go Wind UBA 拆解系列 - 多租户与安全:两套隔离机制的边界
大数据·后端·go
喵个咪16 小时前
Go Wind UBA 拆解系列 - OLAP 与 SQL 硬核:25 个分析模型怎么落地
大数据·后端·go
喵个咪16 小时前
Go Wind UBA 拆解系列 - SDK 与采集层:从浏览器到 Kafka
大数据·后端·go
smallyoung16 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql