1. 环境准备
安装Java环境
可以安装开源版本也可以去oracle官网下载bin包
Doris 3.0+ 不再支持 Java 8,必须使用 Java 17
wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/OpenJDK17U-jdk_x64_linux_hotspot_17.0.17_10.tar.gz
# 验证Java安装
java -version2. 下载Doris
# 下载Doris 3.0.8
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.8-bin-x64.tar.gz
# 解压
tar -zxvf apache-doris-3.0.8-bin-x64.tar.gz
cd apache-doris-3.0.8-bin-x643. 配置FE(Frontend)
修改FE配置文件
cd fe/conf
# 编辑配置文件
vi fe.conf在fe.conf中添加或修改以下配置:
JAVA_HOME=/home/phoenix/apps/jdk-17.0.17+10
# 元数据目录
meta_dir = /home/phoenix/data/doris/doris-meta
# 查询端口
query_port = 9030
# RPC端口
rpc_port = 9020
# HTTP端口
http_port = 9031
# 绑定地址(修改为你的服务器IP或0.0.0.0)
priority_networks = 192.168.1.160
role=MASTER
# 单机模式配置
enable_http_server_v2 = true
# 大小写不敏感
lower_case_table_names = 1启动FE
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/fe/bin/start_fe.sh --daemon
# 检查启动状态
curl http://127.0.0.1:9031/api/bootstrap4. 配置BE(Backend)
修改BE配置文件
cd apache-doris-3.0.8-bin-x64/be/conf
# 编辑配置文件
vim be.conf在be.conf中添加或修改以下配置:
JAVA_HOME=/home/phoenix/apps/jdk-17.0.17+10
# 数据存储目录
storage_root_path = /home/phoenix/data/doris/storage
# 查询端口
be_port = 9060
# RPC端口
brpc_port = 9070
# HTTP端口
webserver_port = 9041
heartbeat_service_port = 9050
# 绑定地址(修改为你的服务器IP或0.0.0.0)
priority_networks = 192.168.1.160修改系统配置:
# Apache Doris(尤其是 BE 节点)、Elasticsearch、Kafka 这类大数据 / 分布式组件,会频繁使用 mmap 处理大文件(如 Doris BE 的数据分片、索引文件),且单个进程可能同时映射数百甚至数千个文件。
sudo sysctl -w vm.max_map_count=2000000
# 修改单个用户(或用户组)在系统中可使用的资源上限(如最大进程数、文件句柄数、内存大小等)
在/etc/security/limits.conf中添加:
* soft nofile 655350
* hard nofile 655350
# 执行:ulimit -n 655350 临时生效启动BE
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/be/bin/start_be.sh --daemon
# 检查启动状态
curl http://127.0.0.1:9041/api/health5. 添加BE节点到FE
连接到Doris
cd /fe/bin
# doris可以使用mysql client直接连接,如果没有安装mysqlclient需要提前安装
mysql -h 127.0.0.1 -P 9030 -uroot执行SQL添加BE节点
-- 添加BE节点(使用你的服务器IP)
ALTER SYSTEM ADD BACKEND "192.168.1.160:9050";
-- 检查BE节点状态
SHOW BACKENDS;6. 验证安装
创建测试数据库和表
-- 创建数据库
CREATE DATABASE test_db;
-- 使用数据库
USE test_db;
-- 创建测试表
CREATE TABLE test_table (
id INT,
name VARCHAR(50),
age INT
) DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES("replication_num" = "1");
-- 插入测试数据
INSERT INTO test_table VALUES (1, 'Alice', 25), (2, 'Bob', 30);
-- 查询数据
SELECT * FROM test_table;7. 管理命令
启动服务
# 启动FE
cd apache-doris-3.0.8-bin-x64/fe/bin
./start_fe.sh --daemon
# 启动BE
cd apache-doris-3.0.8-bin-x64/be/bin
./start_be.sh --daemon停止服务
# 停止FE
cd apache-doris-3.0.8-bin-x64/fe/bin
./stop_fe.sh
# 停止BE
cd apache-doris-3.0.8-bin-x64/be/bin
./stop_be.sh服务自启动:
cd /etc/systemd/system
sudo vim doris.service
[Unit]
Description=Doris FE and BE Service
After=network.target
Wants=network.target
[Service]
Type=forking
User=phoenix
Group=phoenix
WorkingDirectory=/home/phoenix/apps/apache-doris-3.0.8-bin-x64
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Environment=JAVA_HOME=/home/phoenix/apps/jdk-11.0.2
# 启动命令 - 先启动FE,等待后启动BE
ExecStart=/bin/bash -c '\
echo "Starting Doris FE..." && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/fe/bin/start_fe.sh --daemon && \
sleep 3 && \
echo "Starting Doris BE..." && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/be/bin/start_be.sh --daemon'
# 停止命令 - 先停止BE,再停止FE
ExecStop=/bin/bash -c '\
echo "Stopping Doris BE..." && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/be/bin/stop_be.sh && \
sleep 3 && \
echo "Stopping Doris FE..." && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/fe/bin/stop_fe.sh'
# 重启命令
ExecReload=/bin/bash -c '\
echo "Restarting Doris services..." && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/be/bin/stop_be.sh && \
sleep 3 && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/fe/bin/stop_fe.sh && \
sleep 3 && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/fe/bin/start_fe.sh --daemon && \
sleep 3 && \
/home/phoenix/apps/apache-doris-3.0.8-bin-x64/be/bin/start_be.sh --daemon'
TimeoutStartSec=300
TimeoutStopSec=180
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target启动doris.service
sudo systemctl start doris.service
开机自启动
sudo systemctl enable doris.service
8. 防火墙配置(如果需要远程访问)
# 开放Doris端口
sudo ufw allow 8030/tcp # FE HTTP端口
sudo ufw allow 9030/tcp # FE MySQL端口
sudo ufw allow 8040/tcp # BE HTTP端口注意事项
内存要求:Doris需要足够的内存,建议至少4GB内存
磁盘空间:确保有足够的磁盘空间存储数据
网络配置:如果要从外部访问,需要修改
priority_networks配置为:0.0.0.0复制因子:单机模式下,表的
replication_num必须设置为1
这样就完成了Doris 3.0.8单机版的安装。你可以通过MySQL客户端或Doris的Web界面(http://服务器IP:9031)来管理和使用Doris,Apache Doris FE 的 HTTP 页面(Web UI)默认账号为root或admin,默认密码均为空。
评论