Centos7安装Doris数据库
- 环境准备
1.1 系统要求
-
CentOS 7.x 64位
-
最低配置:4核CPU,8GB内存,100GB磁盘空间
-
推荐配置:8核CPU,16GB内存,500GB SSD磁盘
1.2 安装依赖包
# 更新系统
sudo yum update -y
# 安装必要依赖
sudo yum install -y epel-release
sudo yum install -y wget curl tar java-1.8.0-openjdk-devel python2
# 验证Java安装
java -version
javac -version
1.3 创建专用用户
# 创建doris用户
sudo groupadd doris
sudo useradd -g doris doris
sudo passwd doris
# 设置sudo权限(可选)
echo "doris ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/doris
- 下载Doris
2.1 选择版本
# 切换到doris用户
su - doris
# 创建安装目录
mkdir -p /home/doris/doris-install
cd /home/doris/doris-install
# 下载Doris
wget https://archive.apache.org/dist/doris/3.1.2/apache-doris-3.1.2-bin-x64.tar.gz
# 解压
tar -zxvf apache-doris-3.1.2-bin-x64.tar.gz
cd apache-doris-3.1.2-bin-x64
- 部署规划
3.1 节点规划(单机部署)
| 节点类型 | IP地址 | 端口范围 | 数据目录 |
|---|---|---|---|
| FE | 192.168.133.202 | 8030, 9020, 9030 | /home/doris/fe |
| BE | 192.168.133.202 | 9060, 9070 | /home/doris/be |
- 配置 Frontend (FE)
4.1 创建FE目录结构
# 创建FE目录
mkdir -p /home/doris/fe/{conf,log,data,doris-meta}
# 复制FE配置文件
cp /home/doris/doris-install/apache-doris-3.1.2-bin-x64/fe/conf/fe.conf /home/doris/fe/conf/
4.2 配置FE参数
编辑 /home/doris/fe/conf/fe.conf
# 元数据目录
meta_dir = /home/doris/fe/doris-meta
# 网络配置
priority_networks = 192.168.133.202/24
http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
# JVM配置
JAVA_OPTS = -Xmx4096m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:/home/doris/fe/log/fe.gc.log
# 其他配置
sys_log_level = INFO
async_load_task_pool_size = 10
4.3 启动FE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/fe
# 首次启动
./bin/start_fe.sh --daemon
# 检查启动状态
curl http://192.168.133.202:8030/api/bootstrap
4.4 连接FE并初始化
# 使用MySQL客户端连接
mysql -h 192.168.133.202 -P 9030 -uroot
# 在MySQL客户端中设置root密码
SET PASSWORD FOR 'root' = PASSWORD('your_password');
- 配置 Backend (BE)
5.1 创建BE目录结构
# 创建BE目录
mkdir -p /home/doris/be/{conf,log,data,storage}
# 复制BE配置文件
cp /home/doris/doris-install/apache-doris-3.1.2-bin-x64/be/conf/be.conf /home/doris/be/conf/
5.2 配置BE参数
编辑 /home/doris/be/conf/be.conf
# 存储目录
storage_root_path = /home/doris/be/storage
# 网络配置
priority_networks = 192.168.133.202/24
be_port = 9060
webserver_port = 8040
heartbeat_service_port = 9050
brpc_port = 8060
# JVM配置
JAVA_OPTS = -Xmx8192m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:/home/doris/be/log/be.gc.log
# 其他配置
sys_log_level = INFO
5.3 启动BE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/be
# 启动BE
./bin/start_be.sh --daemon
# 检查启动状态
curl http://192.168.133.202:8040/api/health
- 集群配置
6.1 添加BE节点到集群
# 连接到FE
mysql -h 192.168.133.202 -P 9030 -uroot -p
# 添加BE节点
ALTER SYSTEM ADD BACKEND "192.168.133.202:9050";
6.2 验证节点状态
-- 查看FE状态
SHOW PROC '/frontends';
-- 查看BE状态
SHOW PROC '/backends';
- 基础使用
7.1 创建测试数据库和表
-- 创建数据库
CREATE DATABASE test_db;
USE test_db;
-- 创建表
CREATE TABLE IF NOT EXISTS example_tbl (
user_id LARGEINT NOT NULL,
date DATE NOT NULL,
city VARCHAR(20),
age SMALLINT,
sex TINYINT,
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00",
cost BIGINT SUM DEFAULT "0",
max_dwell_time INT MAX DEFAULT "0",
min_dwell_time INT MIN DEFAULT "99999"
)
AGGREGATE KEY(user_id, date, city, age, sex)
DISTRIBUTED BY HASH(user_id) BUCKETS 10
PROPERTIES("replication_num" = "1");
-- 插入数据
INSERT INTO example_tbl VALUES
(1000, "2023-10-01", "Beijing", 20, 0, "2023-10-01 06:00:00", 20, 10, 10),
(1001, "2023-10-01", "Beijing", 30, 1, "2023-10-01 17:05:45", 2, 22, 22),
(1002, "2023-10-02", "Shanghai", 20, 1, "2023-10-02 12:59:12", 200, 5, 5);
-- 查询数据
SELECT * FROM example_tbl;
- 服务管理
8.1 启动服务
# 启动FE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/fe
./bin/start_fe.sh --daemon
# 启动BE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/be
./bin/start_be.sh --daemon
8.2 停止服务
# 停止FE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/fe
./bin/stop_fe.sh
# 停止BE
cd /home/doris/doris-install/apache-doris-3.1.2-bin-x64/be
./bin/stop_be.sh
8.3 查看服务状态
# 检查FE进程
ps aux | grep fe
# 检查BE进程
ps aux | grep be
# 检查端口监听
netstat -tunlp | grep -E '(8030|9030|9060|8040)'
- 防火墙配置
# 开放Doris相关端口
sudo firewall-cmd --permanent --add-port=8030/tcp # FE HTTP端口
sudo firewall-cmd --permanent --add-port=9030/tcp # FE MySQL端口
sudo firewall-cmd --permanent --add-port=8040/tcp # BE HTTP端口
sudo firewall-cmd --permanent --add-port=9060/tcp # BE Thrift端口
sudo firewall-cmd --reload

浙公网安备 33010602011771号