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

如下

相关推荐
Georgeviewer3 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
YOU OU4 小时前
Redis基础常识与命令
数据库·redis·缓存
腻害兔4 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
GIR1234 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
南讯股份Nascent6 小时前
洽洽全域会员项目启动会圆满召开
大数据·人工智能
大郭鹏宇6 小时前
基于 LangGraph 构建智能分诊系统(一):项目概述与环境搭建
大数据·人工智能·microsoft·langchain
Database_Cool_6 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
Xxtaoaooo6 小时前
DolphinDB 物联网数据平台全景:一份从架构到落地的实践地图
物联网·系统架构·时序数据库·数据库架构·dolphindb
爱写代码的阿森6 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_7 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql