[Doris] La última versión del método de instalación de la base de datos Doris, tutorial gráfico detallado

Instalación de ambiente

Como base de datos OLAP de arquitectura MPP de código abierto, Doris puede ejecutarse en la mayoría de los servidores comerciales principales. Para aprovechar al máximo las ventajas de concurrencia de la arquitectura MPP y las características de alta disponibilidad de Doris, recomendamos que la implementación de Doris siga los siguientes requisitos:

sistema operativo linux requisitos de la versión
sistema linux Versión
CentOS 7.1 y superior
ubuntu 16.04 y superior

Requisitos de Software

software Versión
Java 1.8 y superior
CCG 4.8.2 y superior

Requisitos de instalación del sistema operativo

Establecer el número máximo del sistema de identificadores de archivos abiertos

vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 65536

Sincronización de reloj

Los metadatos de Doris requieren una precisión de tiempo de menos de 5000ms, por lo que todas las máquinas del clúster deben sincronizar sus relojes para evitar anomalías en el servicio causadas por inconsistencias en los metadatos causadas por problemas de reloj.

Cierra la partición de intercambio (swap)

La partición de intercambio de Linux causará serios problemas de rendimiento a Doris, y la partición de intercambio debe desactivarse antes de la instalación.
Verifique si la partición de intercambio está habilitada:

free -m

Si está habilitado, modifique el elemento de configuración y comente esta línea:

#/swapfile                                 none            swap    sw              0       0

Luego reinicie para reiniciar.

sistema de archivos linux

Aquí recomendamos usar el sistema de archivos ext4 Al instalar el sistema operativo, seleccione el sistema de archivos ext4.

Entorno de desarrollo y pruebas.

módulo UPC Memoria disco red número de instancias
Interfaz 8 núcleos + 8GB+ SSD o SATA, 10GB+* Gigabit Ethernet 1
back-end 8 núcleos + 16GB+ SSD o SATA, 50GB+ * Gigabit Ethernet 1-3 *

Entorno de producción

módulo UPC Memoria disco red Número de instancias (requisito mínimo)
Interfaz 16 núcleos+ 64GB+ SSD o tarjeta RAID, 100GB+ * NIC de 10 gigabits 1-3 *
back-end 16 núcleos+ 64GB+ SSD o SATA, 100G+* NIC de 10 gigabits 3 *

entorno java

Ingrese jps en la línea de comando, si se informa el error -bash: jps: comando no encontrado, significa que jdk debe reinstalarse. Si jdk se ha instalado normalmente, omita esta sección.
ingrese el comando

whereis java


Esta es solo la ruta de ejecución de Java, no la ruta de instalación de Java.
ingrese el comando

which java


Esta ruta es un enlace suave de la ruta java, obtenga la dirección a la que apunta el enlace:

ls -l /usr/bin/java


Continúe consultando la dirección real:

ls -l /etc/alternatives/java


La ruta encontrada es el openjdk que viene con CentOS, por lo que necesitamos descargar jdk1.8 del sitio web oficial de Oracle y reinstalarlo.Primero, desinstale el openjdk original:

rpm -qa | grep java #查看java文件
sudo rpm -qa | grep java | xargs rpm -e --nodeps #root权限下删除所有java文件

Sitio web oficial de descarga de jdk: https://www.oracle.com/java/technologies/downloads/#java8-linux

Descargue la versión inferior, descomprima:

tar -zxvf jdk-8u351-linux-x64.tar.gz

En el directorio de Linux:
los archivos /usr/local generalmente se almacenan para que otro host almacene software de instalación adicional, generalmente programas instalados al compilar el código fuente, como jdk, nginx, rabbitmq; /opt es el directorio para software de instalación adicional,
como mysql, redis, zookeeper;
muchas aplicaciones y archivos de usuarios /usr se colocan en este directorio

Configure las variables de entorno de Java:

vim /etc/profile

Adjuntar al final:

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_351  #jdk安装目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

Actualizar el archivo de perfil:

source /etc/profile

Compruebe si la instalación fue exitosa:

java -version
javac

Ingrese la línea de comando jps:

es normal en este momento.

entorno CCG

Verifique si GCC está instalado y asegúrese de que la versión sea 4.8.2 y superior:

a@a:~$ gcc

Command 'gcc' not found, but can be installed with:

sudo apt install gcc

a@a:~$ sudo apt install gcc   # 安装GCC

a@a:~$ gcc -v   # 查看GCC版本
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)

instalación mysql

El protocolo mysql utilizado por doris debe conectarse y usarse a través de mysql. Si no hay mysql, primero debe instalar mysql:

mysql
sudo apt install mysql-client-core-8.0     # version 8.0.30-0ubuntu0.20.04.2, or
sudo apt install mariadb-client-core-10.3  # version 1:10.3.34-0ubuntu0.20.04.1

Descarga del paquete de instalación


Primero consulta el modelo de CPU:

cat /proc/cpuinfo


Si la CPU es compatible con avx2, descargue directamente los tres archivos en avx2.
Primero descomprima FE y BE, y luego coloque el tercer paquete java-udf-jar-with-dependencies.jar en el directorio apache-doris-be-1.2.1-bin-x86_64/lib. Si la ubicación del paquete está fuera de lugar, el BE subsiguiente no podrá iniciarse.
Establecer variables de entorno :

vim /etc/profile.d/doris.sh

FE

Configurar FE:

a@a:/opt/doris/apache-doris-fe-1.2.1-bin-x86_64/conf # pwd
a@a:/export/server/apache-doris-1.1.1-bin-x86/fe/conf # ll
# vim fe.conf
root@zhiyong-doris:/export/server/apache-doris-1.1.1-bin-x86/fe/conf# cat fe.conf
# 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
#####################################################################

# the output dir of stderr and stdout
LOG_DIR = ${DORIS_HOME}/log

DATE = `date +%Y%m%d-%H%M%S`
JAVA_OPTS="-Xmx8192m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$DORIS_HOME/log/fe.gc.log.$DATE"

# For jdk 9+, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_9="-Xmx8192m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$DATE:time"

##
## the lowercase properties are read by main program.
##

# INFO, WARN, ERROR, FATAL
sys_log_level = INFO

# store metadata, must be created before start FE.
# Default value is ${DORIS_HOME}/doris-meta
meta_dir = ${DORIS_HOME}/doris-meta

http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 13536
mysql_service_nio_enabled = true

# 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
# Default value is empty.
# priority_networks = 10.10.10.0/24;192.168.0.0/16
priority_networks = 192.168.88.0/24

# Advanced configurations
# log_roll_size_mb = 1024
# sys_log_dir = ${DORIS_HOME}/log
# sys_log_roll_num = 10
# sys_log_verbose_modules = org.apache.doris
# audit_log_dir = ${DORIS_HOME}/log
# audit_log_modules = slow_query, query
# audit_log_roll_num = 10
# meta_delay_toleration_second = 10
# qe_max_connection = 1024
# max_conn_per_user = 100
# qe_query_timeout_second = 300
# qe_slow_log_ms = 5000

Entre ellos, el puerto 9010 de edit_log_port es fácil de generar conflictos, así que preste atención. Además, el directorio ${DORIS_HOME}/doris-meta debe crearse con anticipación.

Iniciar FE

Ejecutar bajo la ruta bin de FE:

./start_fe.sh --daemon  
jps # 查看FE是否启动,若有PaloFe,则说明FE启动成功

SER

Modifique la carpeta de configuración de BE De manera similar, modifique be.conf en la carpeta conf de BE:

# 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.

PPROF_TMPDIR="$DORIS_HOME/log/"

# INFO, WARNING, ERROR, FATAL
sys_log_level = INFO

# ports for admin, web, heartbeat service
be_port = 9060
webserver_port = 13535
heartbeat_service_port = 9050
brpc_port = 8060

# 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
# Default value is empty.
# priority_networks = 10.10.10.0/24;192.168.0.0/16
priority_networks = 192.168.88.0/24

# data root path, separate by ';'
# you can specify the storage medium of each root path, HDD or SSD
# you can add capacity limit at the end of each root path, seperate by ','
# eg:
# storage_root_path = /home/disk1/doris.HDD,50;/home/disk2/doris.SSD,1;/home/disk2/doris
# /home/disk1/doris.HDD, capacity limit is 50GB, HDD;
# /home/disk2/doris.SSD, capacity limit is 1GB, SSD;
# /home/disk2/doris, capacity limit is disk capacity, HDD(default)
#
# you also can specify the properties by setting '<property>:<value>', seperate 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
storage_root_path = /opt/doris/storage

# Advanced configurations
# sys_log_dir = ${DORIS_HOME}/log
# sys_log_roll_mode = SIZE-MB-1024
# sys_log_roll_num = 10
# sys_log_verbose_modules = *
# log_buffer_level = -1
# palo_cgroups

Cree el directorio de la carpeta de almacenamiento por adelantado.
Si se implementa en el clúster de hadoop, preste atención para ajustar webserver_port en be.conf.

Agregar todos los nodos BE en FE

Conectar doris:

mysql -h 192.168.88.21 -P 9030 -uroot
mysql> show databases;
mysql> use information_schema;
mysql> show tables;
mysql> ALTER SYSTEM ADD BACKEND "192.168.88.21:9050";

Iniciar SER

Ingrese en el directorio bin de BE:

./start_be.sh --daemon

Ver estado de BE:

mysql> SHOW PROC '/backends';

inserte la descripción de la imagen aquí

Si el elemento Alive es verdadero, significa que el entorno de inicio se inicia correctamente, y si es falso, significa que el inicio falla.
Si el inicio falla, puede verificar si las carpetas doris-meta y de almacenamiento se crearon con anticipación y si los puertos están en conflicto. Generalmente, los errores se deben a estas dos razones. Los errores a menudo se deben a problemas con la configuración completa. información.

Supongo que te gusta

Origin blog.csdn.net/wilde123/article/details/128679586
Recomendado
Clasificación