运维栈

  • 首页
  • 网络和安全
    • 网络
    • 安全
  • 操作系统
    • Linux
  • 中间件
    • Nginx
  • 数据库
    • MySQL
    • PostgreSQL
    • KingBase
    • Doris
  • 云计算
    • kvm
    • 容器
    • K8S
  • 编程
    • Golang
    • Python
  • 运维
    • zabbix
    • prometheus
  • 人工智能
运维栈
一个专注于分享运维技术的小站
  1. 首页
  2. 数据库
  3. Doris
  4. 正文

单机版Doris数据库部署

2026年6月11日 198点热度 0人点赞 0条评论
文章目录
  • 目录约定
  • 配置文件修改
    • Doris-fe
    • Doris-be
  • 创建目录修改权限
  • 添加systemd进行管理文件
    • Doris-fe
    • Doris-be
    • 重载服务
  • 启动服务添加节点
    • 启动Doris-fe服务
    • 检查 FE 启动状态
    • 添加Doris-be节点
    • 启动Doris-be服务
  • 检查集群
  • 创建数据库

本文档仅使用与单机部署doris数据库单副本实例。

目录约定

目录/文件位置 用途 属主
/data/logs/doris-fe doris-fe日志文件 doris:doris
/data/logs/doris-be doris-be日志文件 doris:doris
/data/doris-meta doris-fe元数据文件 doris:doris
/data/doris doris-be数据文件 doris:doris
/mnt/apps/apache-doris-3.0.6.1-bin-x64 doris程序文件位置 doris:doris
/mnt/apps/doris doris程序文件位置链接 doris:doris
/etc/systemd/system/doris-fe.service doris-fe开启启动文件 root:root
/etc/systemd/system/doris-be.service doris-be开启启动文件 root:root
/mnt/apps/jdk-17.0.19/ doris运行依赖JDK位置 doris:doris

配置文件修改

Doris-fe

cat /mnt/apps/doris/be/conf/fe.conf

CUR_DATE=`date +%Y%m%d-%H%M%S`

LOG_DIR = "/data/logs/doris-fe"

JAVA_OPTS="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintClassHistogramAfterFullGC -Xloggc:$LOG_DIR/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Dlog4j2.formatMsgNoLookups=true"

JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR -Xlog:gc*,classhisto*=trace:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED"

JAVA_HOME=/mnt/apps/jdk-17.0.19/

lower_case_table_names = 1

meta_dir = /data/doris-meta

http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
arrow_flight_sql_port = -1

priority_networks = 10.90.100.0/24

sys_log_level = INFO
sys_log_mode = ASYNC

注意:需要修改的地方

LOG_DIR :doris-fe的各类日志文件

JAVA_OPTS_FOR_JDK_17:-Xmx8192m -Xms8192m 这两个参数可以修改使用的最大内存

JAVA_HOME: 配置JDK环境的路径

meta_dir :元数据的位置

priority_networks: 服务器通信内部网络地址断(集群使用)

Doris-be

cat /mnt/apps/doris/be/conf/be.conf

CUR_DATE=`date +%Y%m%d-%H%M%S`

LOG_DIR="/data/logs/doris-be"

JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx2048m -DlogPath=$LOG_DIR/jni.log -Xloggc:$LOG_DIR/be.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.security.krb5.debug=true -Dsun.java.command=DorisBE -XX:-CriticalJNINatives"

JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 -Djol.skipHotspotSAAttach=true -Xmx2048m -DlogPath=$LOG_DIR/jni.log -Xlog:gc*:$LOG_DIR/be.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.security.krb5.debug=true -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED -Darrow.enable_null_check_for_get=false"

JAVA_HOME=/mnt/apps/jdk-17.0.19/

JEMALLOC_CONF="percpu_arena:percpu,background_thread:true,metadata_thp:auto,muzzy_decay_ms:5000,dirty_decay_ms:5000,oversize_threshold:0,prof:true,prof_active:false,lg_prof_interval:-1"
JEMALLOC_PROF_PRFIX="jemalloc_heap_profile_"

be_port = 9060
webserver_port = 8040
heartbeat_service_port = 9050
brpc_port = 8060
arrow_flight_sql_port = -1

enable_https = false
ssl_certificate_path = "$DORIS_HOME/conf/cert.pem"
ssl_private_key_path = "$DORIS_HOME/conf/key.pem"

priority_networks = 10.90.100.0/24

storage_root_path = /data/doris

sys_log_level = INFO

aws_log_level=2
AWS_EC2_METADATA_DISABLED=true

enable_single_replica_load = true

注意:需要修改的地方

LOG_DIR :doris-be的各类日志文件

JAVA_HOME: 配置JDK环境的路径

storage_root_path :数据文件的位置

priority_networks: 服务器通信内部网络地址断(集群使用)

创建目录修改权限

mkdir -p /data/logs/doris-fe
mkdir -p /data/logs/doris-be
mkdir -p /data/doris-meta
mkdir -p /data/doris

useradd -r -s /sbin/nologin -M doris

chown -R doris:doris /data/logs/doris-fe
chown -R doris:doris /data/logs/doris-be
chown -R doris:doris /data/doris-meta
chown -R doris:doris /data/doris
chown -R doris:doris /mnt/apps/jdk-17.0.19/
chown -R doris:doris /mnt/apps/apache-doris-3.0.6.1-bin-x64
chown -R doris:doris /mnt/apps/doris

添加systemd进行管理文件

Doris-fe

cat > /etc/systemd/system/doris-fe.service <<EOF
[Unit]
Description=Apache Doris FE Service
After=network.target
Wants=network.target

[Service]
Type=forking
User=doris
Group=doris
WorkingDirectory=/mnt/apps/doris/fe
ExecStart=/mnt/apps/doris/fe/bin/start_fe.sh --daemon
ExecStop=/mnt/apps/doris/fe/bin/stop_fe.sh
Restart=on-failure
RestartSec=30
LimitNOFILE=655350

[Install]
WantedBy=multi-user.target
EOF

Doris-be

cat  > /etc/systemd/system/doris-be.service <<EOF
[Unit]
Description=Apache Doris BE Service
After=network.target doris-fe.service
Wants=network.target

[Service]
Type=forking
User=doris
Group=doris
WorkingDirectory=/mnt/apps/doris/be
ExecStart=/mnt/apps/doris/be/bin/start_be.sh --daemon
ExecStop=/mnt/apps/doris/be/bin/stop_be.sh
Restart=on-failure
RestartSec=30
LimitNOFILE=655350

[Install]
WantedBy=multi-user.target
EOF

重载服务

systemctl daemon-reload

启动服务添加节点

启动Doris-fe服务

systemctl start doris-fe

检查 FE 启动状态

通过 MySQL 客户端连接 Doris 集群,初始化用户为 root,默认密码为空。

mysql -uroot -P
<fe_query_port> -h<fe_ip_address>

链接到 Doris 集群后,可以通过 show frontends 命令查看 FE 的状态,通常要确认以下几项

  • Alive 为 true 表示节点存活;
  • Join 为 true 表示节点加入到集群中,但不代表当前还在集群内(可能已失联);
  • IsMaster 为 true 表示当前节点为 Master 节点。

添加Doris-be节点

## connect a alive FE node  
mysql -uroot -P
<fe_query_port> -h<fe_ip_address>

## registe BE node  
ALTER SYSTEM ADD BACKEND "
<be_ip_address>:<be_heartbeat_service_port>"

启动Doris-be服务

systemctl start doris-be

检查集群

## connect a alive FE node  
mysql -uroot -P
<fe_query_port> -h<fe_ip_address>

## check BE node status  
show backends;

-- check fe status  
show frontends \G

通常情况下需要注意以下几项状态:

  1. Alive 为 true 表示节点存活
  2. TabletNum 表示该节点上的分片数量,新加入的节点会进行数据均衡,TabletNum 逐渐趋于平均。

创建数据库

-- 由于Doris-be只有一个节点,因此需要显式指定使用一个副本创建数据库;或者建表的时候每个表单独指定一个副本;否则系统自动默认使用三副本
CREATE DATABASE `db01` PROPERTIES ( "replication_num" = "1" );
标签: Doris 数据库
最后更新:2026年6月11日

辰砂

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
搜索
历史文章
  • 2026 年 6 月 / 1篇
  • 2026 年 5 月 / 3篇
  • 2026 年 1 月 / 1篇
  • 2025 年 7 月 / 1篇
  • 2025 年 5 月 / 2篇
  • 2025 年 4 月 / 2篇

COPYRIGHT © 2025 运维栈. ALL RIGHTS RESERVED.

Theme omfox Made By omfox

蜀ICP备2023010359号

川公网安备51010702042743号