200字
部署doris 3.1.1并开启ssl
2025-12-30
2025-12-30

安装包下载

官网下载页面:https://doris.apache.org/download/

安装包:apache-doris-3.1.1-bin-x64.tar.gz

2. 解压安装包

tar -xvf apache-doris-3.1.1-bin-x64.tar.gz

3. 关闭swap虚拟内存

官方文档介绍虚拟内存会严重影响doris性能。实际部署中也发现打开虚拟内存时,doris启动会报错。

3.1. 去除/etc/fstab中swap相关的行

3.2. 关闭所有swap

swapoff -a

3.3. 删除swap文件

#查询swap文件位置
swapon --show

4. 配置ssl

默认证书和自定义证书二选一。

4.1. 使用默认证书

doris fe内有默认的mysql ssl证书,在apache-doris-3.1.1-bin-x64/fe/mysql_ssl_default_certificate目录。如果使用默认证书,只需改一处配置。

修改apache-doris-3.1.1-bin-x64/fe/conf/fe.conf,新增以下内容

enable_ssl = true

4.2. 使用自定义证书(如果使用默认证书,跳过这步)

4.2.1. 创建证书目录,位置任意

cd apache-doris-3.1.1-bin-x64/fe
mkdir custom_mysql_ssl

4.2.2. 生成ssl证书

4.2.2.1. 创建配置文件

ca.cnf

[ req ]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
prompt = no
 
[ req_distinguished_name ]
C = CN
ST = Zhejiang 
L = Hangzhou
O = dtdream
OU = dtdream
CN = doris_ca
emailAddress = a@a.com
 
[ v3_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:TRUE

server_client.cnf

[ req ]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
prompt = no
 
[ req_distinguished_name ]
C = CN
ST = Zhejiang 
L = Hangzhou
O = dtdream
OU = dtdream
CN = local
emailAddress = a@a.com
 
[ v3_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:TRUE

4.2.2.2. 基于配置文件生成证书

#生成CA证书
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -days 3650 -key ca-key.pem -out ca.pem -config ca.cnf
 
#生成服务端证书
openssl req -newkey rsa:2048 -days 3600 \
        -nodes -keyout server-key.pem -out server-req.pem -config server_client.cnf
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 \
        -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
 
#生成客户端证书
openssl req -newkey rsa:2048 -days 3600 \
        -nodes -keyout client-key.pem -out client-req.pem -config server_client.cnf
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3600 \
        -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
 
 
#将ca证书和服务端证书转为p12文件,doris服务端需要使用此格式
openssl pkcs12 -inkey ca-key.pem -in ca.pem -export -out ca_certificate.p12
openssl pkcs12 -inkey server-key.pem -in server-cert.pem -export -out server_certificate.p12

4.2.3. 修改fe.conf配置

enable_ssl = true
mysql_ssl_default_ca_certificate = /opt/doris/apache-doris-3.1.1-bin-x64/fe/custom_mysql_ssl/ca_certificate.p12
mysql_ssl_default_ca_certificate_password = 123456
mysql_ssl_default_server_certificate = /opt/doris/apache-doris-3.1.1-bin-x64/fe/custom_mysql_ssl/server_certificate.p12
mysql_ssl_default_server_certificate_password = 123456
ssl_trust_store_type = PKCS12

5. fe、be启动服务

./apache-doris-3.1.1-bin-x64/fe/bin --daemon
./apache-doris-3.1.1-bin-x64/be/bin --daemon

6. 放开8030、9030端口

firewall-cmd --add-port=8030/tcp --permanent
firewall-cmd --add-port=9030/tcp --permanent
firewall-cmd --reload

7. 访问doris

3种方式都可以连接doris

  1. 不使用ssl

  2. 使用ssl,但不验证证书

  3. 使用ssl,并验证证书

7.1. web客户端

web访问地址:http://IP:8030

用户名:root

初始没有密码,可以在web客户端上修改mysql的root密码,web的账号就是mysql账号

7.2. 其他客户端

也可以使用navicat等客户端,用mysql类型连接doris,端口为9030

navicat在此处开启ssl和验证证书

8. 其他部署方式——docker compose部署

docker-compose.yml

services:
  doris-fe:
    image: apache/doris:fe-3.1.1
    container_name: doris-fe-311
    hostname: fe
    environment:
      - FE_SERVERS=fe1:172.20.80.2:9010
      - FE_ID=1
      - JAVA_OPTS_FOR_JDK_17=-Xmx2g -Xms2g
      - DEFAULT_REPLICATION_NUM=1
    ports:
      - "8030:8030"  # FE Web UI端口 http
      - "9030:9030"  # FE BRPC端口
      - "9010:9010"  # FE 查询端口
    volumes:
      - ./fe/doris-meta:/opt/apache-doris/fe/doris-meta  # 挂载元数据目录,确保数据持久化
      - ./fe/conf:/opt/apache-doris/fe/conf  # 可挂载自定义配置文件
    networks:
      custom_network:
        ipv4_address: 172.20.80.2
 
  doris-be:
    image: apache/doris:be-3.1.1
    container_name: doris-be-311
    hostname: be
    environment:
      - FE_SERVERS=fe1:172.20.80.2:9010
      - BE_ADDR=172.20.80.3:9050
    depends_on:
      - doris-fe
    ports:
      - "9050:9050"  # BE BRPC端口
      - "8040:8040"  # BE Web UI端口
    volumes:
      - ./be/storage:/opt/apache-doris/be/storage  # 挂载数据存储目录,确保数据持久化
      - ./be/conf:/opt/apache-doris/be/conf  # 可挂载自定义配置文件
    networks:
      custom_network:
        ipv4_address: 172.20.80.3
 
networks:
  custom_network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.80.0/24

8.1. 先启动一次容器,待fe、be目录初始化后停止

docker compose up -d
#等待一段时间后停止
docker compose down

8.2. 生成ssl证书

生成ssl证书及配置fe.conf过程参考4

8.3. 启动容器

docker compose up -d

评论