doris init

This commit is contained in:
2026-05-09 15:53:43 +08:00
commit 7fe4e678a5
7 changed files with 268 additions and 0 deletions

26
Doris.md Normal file
View File

@@ -0,0 +1,26 @@
### Doris
因VM CPU不支持AVX2指令集需要构建最新版本4.1Doris-noavx2镜像此版本对比正常版本性能会低一些
#### VM信息
| VM | Service | Port |
| :---: | :---: | --- |
| 6.86.80.12 | Doris FE | 9030msql port8030http port |
| 6.86.80.13 | Doris BE | 9050health |
#### Resource配置
创建AI Resource语句以下Resource已创建好相关函数使用参考 [Doris官网](https://doris.apache.org/zh-CN/docs/4.x/ai/ai-overview)
```
CREATE RESOURCE 'deepseek_v3'
PROPERTIES (
'type' = 'ai',
'ai.provider_type' = 'openai',
'ai.endpoint' = 'http://6.86.80.4:30080/v1/chat/completions',
'ai.model_name' = 'deepseek-v3.2',
'ai.temperature' = '0.7',
'ai.max_retries' = '3',
'ai.api_key' = 'sk-5HeY7gfSIlyZMacfuXOf5cphpymsNqufEu1ou4U3avbULcyY'
);
SELECT AI_GENERATE('deepseek_v3', 'Hello') AS Result;
```

18
be/Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM eclipse-temurin:17.0.18_8-jre-ubi9-minimal
ENV JAVA_HOME="/opt/java/openjdk"
ENV PATH="/opt/apache-doris/be/bin:$PATH"
ENV TZ="Asia/Shanghai"
RUN mkdir -p /opt/apache-doris
RUN microdnf install -y util-linux && \
microdnf clean all
COPY apache-doris-4.1.0-bin-x64-noavx2/be /opt/apache-doris/be
RUN chmod 755 /opt/apache-doris/be/bin/start_be.sh
EXPOSE 9060 9050 8060 8040
ENTRYPOINT ["/opt/apache-doris/be/bin/start_be.sh", "--console"]

96
be/be.conf Normal file
View File

@@ -0,0 +1,96 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
CUR_DATE=`date +%Y%m%d-%H%M%S`
# Log dir
LOG_DIR="${DORIS_HOME}/log/"
# For jdk 17, this JAVA_OPTS will be used as default JVM options
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 -Darrow.enable_null_check_for_get=false --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 --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED"
# Set your own JAVA_HOME
# JAVA_HOME=/path/to/jdk/
# https://github.com/apache/doris/blob/master/docs/zh-CN/community/developer-guide/debug-tool.md#jemalloc-heap-profile
# https://jemalloc.net/jemalloc.3.html
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,lg_extent_max_active_fit:8"
JEMALLOC_PROF_PRFIX="jemalloc_heap_profile_"
# ports for admin, web, heartbeat service
be_port = 9060
webserver_port = 8040
heartbeat_service_port = 9050
brpc_port = 8060
arrow_flight_sql_port = 8050
# HTTPS configures
enable_https = false
# path of certificate in PEM format.
ssl_certificate_path = "$DORIS_HOME/conf/cert.pem"
# path of private key in PEM format.
ssl_private_key_path = "$DORIS_HOME/conf/key.pem"
# Choose one if there are more than one ip except loopback address.
# Note that there should at most one ip match this list.
# If no ip match this rule, will choose one randomly.
# use CIDR format, e.g. 10.10.10.0/24 or IP format, e.g. 10.10.10.1
# Default value is empty.
priority_networks = 6.86.80.0/24
# data root path, separate by ';'
# You can specify the storage type for each root path, HDD (cold data) or SSD (hot data)
# eg:
# storage_root_path = /home/disk1/doris;/home/disk2/doris;/home/disk2/doris
# storage_root_path = /home/disk1/doris,medium:SSD;/home/disk2/doris,medium:SSD;/home/disk2/doris,medium:HDD
# /home/disk2/doris,medium:HDD(default)
#
# you also can specify the properties by setting '<property>:<value>', separate by ','
# property 'medium' has a higher priority than the extension of path
#
# Default value is ${DORIS_HOME}/storage, you should create it by hand.
storage_root_path = ${DORIS_HOME}/storage,medium:HDD
# Default dirs to put jdbc drivers,default value is ${DORIS_HOME}/jdbc_drivers
# jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
# Advanced configurations
# INFO, WARNING, ERROR, FATAL
sys_log_level = INFO
# sys_log_roll_mode = SIZE-MB-1024
# sys_log_roll_num = 10
# sys_log_verbose_modules = *
# log_buffer_level = -1
# aws sdk log level
# Off = 0,
# Fatal = 1,
# Error = 2,
# Warn = 3,
# Info = 4,
# Debug = 5,
# Trace = 6
# Default to turn off aws sdk log, because aws sdk errors that need to be cared will be output through Doris logs
aws_log_level = 2
# azure sdk log level
# Verbose = 1,
# Informational = 2,
# Warning = 3,
# Error = 4
azure_log_level = 4
## If you are not running in aws cloud, you can disable EC2 metadata
AWS_EC2_METADATA_DISABLED=true

22
be/docker-compose.yml Normal file
View File

@@ -0,0 +1,22 @@
version: '3.8'
services:
doris-be:
image: doris-be:4.1
container_name: doris-be
restart: always
security_opt:
- label=disable
ulimits:
nofile:
soft: 655350
hard: 655350
environment:
- TZ=Asia/Shanghai
- DORIS_HOME=/opt/apache-doris/be
network_mode: host
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/home/tscnlich/doris/storage:/opt/apache-doris/be/storage/"
- "/home/tscnlich/doris/logs:/opt/apache-doris/be/log/"
- "/home/tscnlich/doris/be.conf:/opt/apache-doris/be/conf/be.conf"

17
fe/Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM eclipse-temurin:17.0.18_8-jre-ubi9-minimal
ENV JAVA_HOME="/opt/java/openjdk"
ENV PATH="/opt/apache-doris/fe/bin:$PATH"
ENV TZ="Asia/Shanghai"
RUN mkdir -p /opt/apache-doris && \
microdnf install -y mariadb util-linux && \
microdnf clean all
COPY apache-doris-4.1.0-bin-x64-noavx2/fe /opt/apache-doris/fe
RUN chmod 755 /opt/apache-doris/fe/bin/start_fe.sh
EXPOSE 8030 9010 9020 9030
ENTRYPOINT ["/opt/apache-doris/fe/bin/start_fe.sh", "--console"]

16
fe/docker-compose.yml Normal file
View File

@@ -0,0 +1,16 @@
version: '3.8'
services:
doris-fe:
image: doris-fe:4.1
container_name: doris-fe
restart: always
environment:
- TZ=Asia/Shanghai
- DORIS_HOME=/opt/apache-doris/fe
network_mode: host
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/home/tscnlich/doris/meta:/opt/apache-doris/fe/doris-meta/"
- "/home/tscnlich/doris/logs:/opt/apache-doris/fe/log/"
- "/home/tscnlich/doris/fe.conf:/opt/apache-doris/fe/conf/fe.conf"

73
fe/fe.conf Normal file
View File

@@ -0,0 +1,73 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#####################################################################
## The uppercase properties are read and exported by bin/start_fe.sh.
## To see all Frontend configurations,
## see fe/src/org/apache/doris/common/Config.java
#####################################################################
CUR_DATE=`date +%Y%m%d-%H%M%S`
# Log dir
LOG_DIR = ${DORIS_HOME}/log
# For jdk 17, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR -Xlog:gc*,classhisto*=trace:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M -Darrow.enable_null_check_for_get=false --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 --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED"
# Set your own JAVA_HOME
# JAVA_HOME=/path/to/jdk/
##
## the lowercase properties are read by main program.
##
# store metadata, must be created before start FE.
# Default value is ${DORIS_HOME}/doris-meta
# meta_dir = ${DORIS_HOME}/doris-meta
# Default dirs to put jdbc drivers,default value is ${DORIS_HOME}/jdbc_drivers
# jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
arrow_flight_sql_port = 8070
# Choose one if there are more than one ip except loopback address.
# Note that there should at most one ip match this list.
# If no ip match this rule, will choose one randomly.
# use CIDR format, e.g. 10.10.10.0/24 or IP format, e.g. 10.10.10.1
# Default value is empty.
priority_networks = 6.86.80.0/24
# Advanced configurations
# log_roll_size_mb = 1024
# INFO, WARN, ERROR, FATAL
sys_log_level = INFO
# NORMAL, BRIEF, ASYNC
sys_log_mode = ASYNC
# sys_log_roll_num = 10
# sys_log_verbose_modules = org.apache.doris
# audit_log_dir = $LOG_DIR
# audit_log_modules = slow_query, query
# audit_log_roll_num = 10
# meta_delay_toleration_second = 10
# qe_max_connection = 1024
# qe_query_timeout_second = 300
# qe_slow_log_ms = 5000