银河麒麟系统(ARM)Apache Doris 集群搭建


蒋老大
蒋老大 2023-11-09 14:04:06 69589
分类专栏: 资讯

需要在信创平台(鲲鹏ARM CPU 和 银河麒麟V10操作系统)部署Apache Doris 存储日志数据,使用社区编译好的 ARM 安装包,同时配置好ARM 版本的JDK即可。Doris社区本身文档很齐全,整个部署过程就是在官方文档的指引下进行的,这里只是对过程的记录。

一 、 环境信息

名称 版本 备注
操作系统 银河麒麟 V10 SP3  
CPU型号 鲲鹏 920  
JDK bisheng-jdk-8u382-linux-aarch64 毕昇JDK 8
Apache Doris 2.0.2 这里是测试环境所以部署1个FE 和 3个BE

二、 JDK 环境配置

所有节点都需要,默认在root用户下执行

2.1 银河麒麟系统自带JDK卸载

  • 系统自带JDK如果存在就卸载,最小化模式安装的系统没有自带JDK
yum -y remove java-1.8.0*
yum -y remove java-11*

2.2 毕昇JDK 8 安装

  • 下载并解压安装
sudo mkdir -p /opt/soft/java
cd /opt/soft/java/
wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-8u382-linux-aarch64.tar.gz
tar -zxf bisheng-jdk-8u382-linux-aarch64.tar.gz
rm bisheng-jdk-8u382-linux-aarch64.tar.gz
ln -snf bisheng-jdk1.8.0_382 java
  • 配置环境变量
cat << EOF | sudo tee  /etc/profile.d/java.sh
export JAVA_HOME=/opt/soft/java/java
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
  • 使环境变量生效
source /etc/profile

三、基础环境配置

所有节点都需要,默认在root用户下执行

3.1 GCC

  • GCC 版本要求 4.8.2 及以上
gcc -v
图片

3.2 设置系统最大打开文件句柄数

vim /etc/security/limits.conf 

* soft nofile 65536
* hard nofile 65536

3.3 永久关闭交换分区

sed -i '/swap/s/^/#/' /etc/fstab
swapoff -a

3.4 配置时钟同步

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

配置略

3.5 防火墙配置

因为这里是 测试环境,所以直接选择了关闭防火墙

systemctl stop firewalld

四、Doris 集群部署

所有节点都需要,默认在root用户下执行

4.1 创建doris用户

adduser doris

4.2 创建相关目录

# 安装目录,所有节点
mkdir -p /opt/soft/doris
chown -R doris:doris /opt/soft/doris
# FE 元数据目录 FE节点
mkdir -p /data/doris-meta
chown -R doris:doris /data/doris-meta
# BE 数据目录 BE 节点
mkdir -p /data/doris
chown -R doris:doris /data/doris
# 日志数据 所有节点
mkdir -p /var/log/doris/sys
mkdir -p /var/log/doris/audit
chown -R doris:doris /var/log/doris

4.3 下载安装包并解压安装

sudo su - doris
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.2-bin-arm64.tar.gz
tar -zxf apache-doris-2.0.2-bin-arm64.tar.gz -C /opt/soft/doris/

4.4 配置FE

只需要在FE节点操作即可,在doris用户下执行

1. 软连接

  • 做好软连接方便后续升级
cd /opt/soft/doris
mv apache-doris-2.0.2-bin-arm64/fe /opt/soft/doris/fe-2.0.2
mv apache-doris-2.0.2-bin-arm64/extensions /opt/soft/doris/extensions-2.0.2
ln -snf fe-2.0.2 doris-fe

2. 配置修改

cat << EOF | tee /opt/soft/doris/doris-fe/conf/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
#####################################################################

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

# the output dir of stderr and stdout 
LOG_DIR = /var/log/doris

JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -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:/var/log/doris/fe.gc.log.\$CUR_DATE"

# For jdk 9+, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_9="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xlog:gc*:/var/log/doris/fe.gc.log.\$CUR_DATE:time"

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

# INFO, WARN, ERROR, FATAL
sys_log_level = INFO

# NORMAL, BRIEF, ASYNC
sys_log_mode = NORMAL

# store metadata, must be created before start FE.
# Default value is \${DORIS_HOME}/doris-meta
meta_dir = /data/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

# 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 = 192.168.91.0/24

# Advanced configurations 
# log_roll_size_mb = 1024
sys_log_dir = /var/log/doris/sys
# sys_log_roll_num = 10
# sys_log_verbose_modules = org.apache.doris
audit_log_dir = /var/log/doris/audit
# 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
EOF

4.5 配置BE

只需要在FE节点操作即可,在doris用户下执行

1. 软连接

cd /opt/soft/doris/
mv apache-doris-2.0.2-bin-arm64/be /opt/soft/doris/be-2.0.2
mv apache-doris-2.0.2-bin-arm64/extensions /opt/soft/doris/extensions-2.0.2
ln -snf be-2.0.2 doris-be

2. 配置修改

cat << EOF | tee /opt/soft/doris/doris-be/conf/be.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.

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

PPROF_TMPDIR="/var/log/doris/"

JAVA_OPTS="-Xmx1024m -DlogPath=/var/log/doris/jni.log -Xloggc:/var/log/doris/be.gc.log.\$CUR_DATE -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDLE_TIME=300000 -DJDBC_MAX_WAIT_TIME=5000"

# For jdk 9+, this JAVA_OPTS will be used as default JVM options
JAVA_OPTS_FOR_JDK_9="-Xmx1024m -DlogPath=/var/log/doris//jni.log -Xlog:gc:/var/log/doris//be.gc.log.\$CUR_DATE -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDLE_TIME=300000 -DJDBC_MAX_WAIT_TIME=5000"

# since 1.2, the JAVA_HOME need to be set to run BE process.
# JAVA_HOME=/path/to/jdk/
JAVA_HOME=/opt/soft/java/java

# 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:15000,dirty_decay_ms:15000,oversize_threshold:0,lg_tcache_max:20,prof:false,lg_prof_interval:32,lg_prof_sample:19,prof_gdump:false,prof_accum:false,prof_leak:false,prof_final:false"
JEMALLOC_PROF_PRFIX=""

# INFO, WARNING, ERROR, FATAL
sys_log_level = INFO

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

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

# enable auth check
enable_auth = false

# 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 = 10.10.10.0/24;192.168.0.0/16
priority_networks = 192.168.91.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, separate 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>', 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
storage_root_path = /data/doris,medium:hdd
# Default dirs to put jdbc drivers,default value is \${DORIS_HOME}/jdbc_drivers
# jdbc_drivers_dir = \${DORIS_HOME}/jdbc_drivers

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

4.6 启动 FE

只需要在FE节点操作即可,在doris用户下执行 。这里只有一个FE

/opt/soft/doris/doris-fe/bin/start_fe.sh --daemon
  • 通过 MySQL 客户端 查看FE
mysql -uroot -P9030 -h192.168.91.161
SHOW PROC '/frontends';
图片

4.7 启动BE

只需要在BE节点操作即可,在doris用户下执行 。

1. Linux 内核参数配置

echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
sudo sysctl -p

2.  添加所有BE

  • 在 MySQL 客户端操作
ALTER SYSTEM ADD BACKEND "192.168.91.162:9050";
ALTER SYSTEM ADD BACKEND "192.168.91.163:9050";
ALTER SYSTEM ADD BACKEND "192.168.91.164:9050";

3. 启动所有BE

/opt/soft/doris/doris-be/bin/start_be.sh --daemon

4. 通过MySQL 客户端查看BE

SHOW PROC '/backends';
图片

五、访问Web UI

http://192.168.91.161:8030

图片

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=28263
赞同 0
评论 0 条
蒋老大L0
粉丝 0 发表 7 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1323
银河麒麟打印带有图像的文档时出错  1236
银河麒麟添加打印机时,出现“server-error-internal-error”  1023
统信桌面专业版【如何查询系统安装时间】  951
统信操作系统各版本介绍  944
统信桌面专业版【全盘安装UOS系统】介绍  903
麒麟系统也能完整体验微信啦!  889
统信【启动盘制作工具】使用介绍  499
统信桌面专业版【一个U盘做多个系统启动盘】的方法  440
信刻全自动档案蓝光光盘检测一体机  386
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!