简介
Doris 是一款用于实时分析,大数据场景的开源数据库,本文介绍如何在服务器上部署 Doris
部署
首先,要去官网下载程序包,地址:doris.apache.org/download
下载需要安装的版本
(1)上传服务器
将下载下来的程序包,上传到服务器,解压
tar -xvf apache-doris-3.1.4-bin-x64-noavx2.tar.gz
如下
(2)启动准备
在启动前,需要设置一些系统配置,避免启动出现问题
# 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】
vi /etc/fstab
注释下面这行配置,保存退出
敲下面的命令,关闭 swap
# 关闭 swap,上面改配置是为了永久生效,临时关闭敲只敲这行命令也是可以的
swapoff -a
# 查看内存情况
free -h
查看内存情况,Swap 这行都是 0,说明 Swap 已关闭
【调高 ulimit】
vi /etc/security/limits.conf
文件末尾添加下面这四行配置
* 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
sh fe/bin/start_fe.sh --daemon
sh be/bin/start_be.sh --daemon
查看一下端口情况,每毛病
连接
连接 Doris,可以像连接 MySQL 一样,只是端口不一样
Datagrip
如下,端口用 9030,用户是 root,密码空着
命令行
如果本地有 MySQL 环境,可以敲下面的命令行连接
mysql -u [用户] -h [主机] -P [端口,注意前面是大写的P,小写的p是密码]
如下
网页
前面说了 Doris 有前端服务,可以直接在页面上输入 http://[主机]:8030/ 访问,如下
用户名是 root,密码空着
可以在页面上访问数据库数据,执行语句
使用
简单执行一些语句,创建一个数据库,一张数据库,插入一条数据,感受一些 Doris 的数据库语法
-- 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 前端服务】
vim /etc/systemd/system/doris-fe.service
粘贴以下内容,JDK、Doris 路径更换成自己的,保存退出
[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 后端服务】
vim /etc/systemd/system/doris-be.service
粘贴以下内容,JDK、Doris 路径更换成自己的,保存退出
[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
刷新服务
systemctl daemon-reload
接下来就可以使用 systemctl 命令启停服务了,并且可以设置开机自启动或设置重启策略等等
systemctl start doris-be
systemctl start doris-fe
如下