Apache Doris 是一个现代化的 MPP (大规模并行处理) 分析型数据库系统,以下是在单机环境下的详细部署与安装步骤。
bash
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz
bash
tar -zxvf apache-doris-2.0.0-bin-x64.tar.gz
创建专用用户 (可选但推荐):
groupadd doris
useradd -g doris doris
设置系统参数:
# 修改最大文件打开数
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
# 禁用交换分区
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 设置透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
进入 FE 配置目录:
cd apache-doris-2.0.0/fe/conf
修改 fe.conf
配置文件:
# 元数据目录
meta_dir = /path/to/doris-meta
# JVM 配置
JAVA_OPTS="-Xmx4096m -Xms4096m -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"
# 单机部署时,FE 既是 Master 也是 Follower
priority_networks = 127.0.0.1/24
启动 FE:
../bin/start_fe.sh --daemon
验证 FE 是否启动成功:
curl http://127.0.0.1:8030/api/bootstrap
连接 Doris (初始无密码):
mysql -h 127.0.0.1 -P 9030 -uroot
进入 BE 配置目录:
cd apache-doris-2.0.0/be/conf
修改 be.conf
配置文件:
# 数据存储目录
storage_root_path = /path/to/doris-storage;capacity_limit=80%
# JVM 配置
JAVA_OPTS="-Xmx4096m -Xms4096m -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"
# 单机部署时指定本地IP
priority_networks = 127.0.0.1/24
启动 BE:
../bin/start_be.sh --daemon
在 FE 中添加 BE 节点:
ALTER SYSTEM ADD BACKEND "127.0.0.1:9050";
检查 BE 状态:
SHOW BACKENDS;
创建测试数据库:
CREATE DATABASE test_db;
USE test_db;
创建测试表并插入数据:
CREATE TABLE test_table (
id INT,
name VARCHAR(50),
age INT
)
DISTRIBUTED BY HASH(id) BUCKETS 10;
INSERT INTO test_table VALUES (1, 'Alice', 25), (2, 'Bob', 30);
查询数据验证:
SELECT * FROM test_table;
FE 启动失败:
fe/log/fe.log
查看错误信息BE 无法注册到 FE:
be/log/be.INFO
日志内存不足:
fe.conf
和 be.conf
中的 JVM 参数磁盘空间不足:
停止 BE:
cd apache-doris-2.0.0/be
./bin/stop_be.sh
停止 FE:
cd apache-doris-2.0.0/fe
./bin/stop_fe.sh
以上是 Apache Doris 单机部署的完整流程,适用于开发和测试环境。生产环境建议采用分布式部署以获得更好的性能和可靠性。