doris init
This commit is contained in:
26
Doris.md
Normal file
26
Doris.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
### Doris
|
||||||
|
|
||||||
|
因VM CPU不支持AVX2指令集,需要构建最新版本(4.1)Doris-noavx2镜像,此版本对比正常版本性能会低一些
|
||||||
|
|
||||||
|
#### VM信息
|
||||||
|
| VM | Service | Port |
|
||||||
|
| :---: | :---: | --- |
|
||||||
|
| 6.86.80.12 | Doris FE | 9030(msql port)8030(http port) |
|
||||||
|
| 6.86.80.13 | Doris BE | 9050(health) |
|
||||||
|
|
||||||
|
#### 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
18
be/Dockerfile
Normal 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
96
be/be.conf
Normal 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
22
be/docker-compose.yml
Normal 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
17
fe/Dockerfile
Normal 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
16
fe/docker-compose.yml
Normal 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
73
fe/fe.conf
Normal 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
|
||||||
Reference in New Issue
Block a user