Doris安装部署

2023-03-09  本文已影响0人  星辰大海Star

原生安装部署方式

FE 主要负责元数据管理、集群管理、用户请求的接入和查询计划的解析等工作。
BE 主要负责数据存储、查询计划的执行等工作。

1、提前安装的软件

yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash  #启动gcc8

通过scl命令启动gcc,这个只是暂时的,当你的shell关闭后或者重启就会恢复原来的版本,要想一直使用升级后的版本可以使用如下命令

echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
或者
echo "source /opt/rh/devtoolset-8/enable" >> /etc/bashrc
source /etc/bashrc 

2、下载及安装

第一步:设置系统最大打开文件句柄数

修改 /etc/security/limits.conf, 执行命令:

echo "* soft nofile 204800" >> /etc/security/limits.conf 
echo "* hard nofile 204800" >> /etc/security/limits.conf 
echo "* soft nproc 204800" >> /etc/security/limits.conf 
echo "* hard nproc 204800 " >> /etc/security/limits.conf 

修改 /etc/sysctl.conf, 执行命令:

echo fs.file-max = 6553560 >> /etc/sysctl.conf

第二步:下载官网提供的二进制包

下载地址: https://doris.apache.org/download/
[图片上传失败...(image-9350b5-1678433123646)]

tar xvJf apache-doris-fe-1.2.1-bin-x86_64.tar.xz   #解压fe
tar xvJf apache-doris-be-1.2.1-bin-x86_64.tar.xz
tar xvJf apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz

第三步:配置操作

mv apache-doris-be-1.2.1-bin-x86_64 be
mv apache-doris-fe-1.2.1-bin-x86_64 fe
mv apache-doris-dependencies-1.2.1-bin-x86_64 dependencies

将java_udf的jar包复制到be/lib目录下

cp /data8/doris_syw/dependencies/java-udf-jar-with-dependencies.jar /data8/doris_syw/be/lib/

设置vm.max_map_count

sysctl -w vm.max_map_count=2000000

第四步:添加环境变量

vi /etc/profile   #打开配置文件

#DORIS_HOME
export DORIS_HOME=/data8/doris_syw/fe/
export DORIS_HOME=/data8/doris_syw/be/
export PATH=$PATH:$DORIS_HOME/bin

source /etc/profile   #保存配置文件

第五步:配置FE

[root@rc fe]# pwd
/data8/doris_syw/fe    #下载二进制包解压后的存放目录

【第一步】进入到fe
[root@rc fe]# ll
total 160
drwxr-xr-x. 2 1103 1103  4096 Jan  9 17:14 bin
drwxr-xr-x. 2 1103 1103  4096 Jan  9 17:09 conf    #fe的配置文件存放在此里面
drwxr-xr-x. 4 1103 1103  4096 Jan  9 17:09 doris-meta
drwxr-xr-x. 2 1103 1103 32768 Dec 31 21:50 lib
-rw-r--r--. 1 1103 1103 87050 Dec 31 21:50 LICENSE-dist.txt
drwxr-xr-x. 2 1103 1103  4096 Dec 31 21:50 licenses
drwxr-xr-x. 2 1103 1103  4096 Jan  9 17:09 log
-rw-r--r--. 1 1103 1103  1948 Dec 31 21:50 NOTICE.txt
drwxr-xr-x  2 root root  4096 Jan  9 17:09 plugins
drwxr-xr-x. 2 1103 1103  4096 Dec 31 21:50 spark-dpp
drwxr-xr-x  5 root root  4096 Jan  9 17:09 temp_dir
drwxr-xr-x. 3 1103 1103  4096 Dec 31 21:50 webroot

【第二步】找到fe.conf
[root@rc fe]# cd conf/
[root@rc conf]# ll
total 16
-rw-r--r--  1 1103 1103 2922 Jan  9 17:06 fe.conf
-rw-r--r--. 1 1103 1103  956 Dec 31 21:50 hdfs-site.xml
-rw-r--r--. 1 1103 1103 2480 Dec 31 21:50 ldap.conf
-rw-r--r--  1 root root 2920 Jan  9 17:09 log4j2-spring.xml

【第三步】找到如下的内容,并释放掉注释
[root@rc conf]# vim fe.conf
#-----修改配置文件内容如下
meta_dir = ${DORIS_HOME}/doris-meta
priority_networks=192.168.30.118/24   #修改为自己电脑的IP

启动fe

#1、进入到bin目录下
cd /data8/doris_syw/fe/bin   
#2、启动fe
./start_fe.sh --daemon

[图片上传失败...(image-bf4cf9-1678433123646)][图片上传失败...(image-ae83e9-1678433123646)]

第六步:配置BE

cd /data8/doris_syw/be

#在be目录下,创建data存放目录文件
mkdir /data8/doris_syw/be/data/data1
mkdir /data8/doris_syw/be/data/data2
mkdir /data8/doris_syw/be/data/data3

【第一步】进入/data8/doris_syw/be/conf/fe.conf   #进入存放be的目录
-rw-r--r-- 1 1103 1103  819 Dec 31 21:50 asan_suppr.conf
-rw-r--r-- 1 1103 1103 2735 Jan  9 17:36 be.conf
-rw-r--r-- 1 1103 1103  956 Dec 31 21:50 hdfs-site.xml
-rw-r--r-- 1 1103 1103 1529 Dec 31 21:50 odbcinst.ini

【第二步】找到如下的内容,并释放掉注释
[root@rc conf]# vim be.conf
#-----修改配置文件内容如下
#配置文件中指定数据存放路径:
storage_root_path=/data8/doris_syw/be/data/data1;/data8/doris_syw/be/data/data2;/data8/doris_syw/be/data/data3
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks=192.168.30.118/24
#更快的导入速度,默认为2
flush_thread_num_per_store=5
#修改 BE 的配置文件 be.conf 添加以下配置项,重启BE,以获得更好的查询性能
enable_storage_vectorization=true
enable_low_cardinality_optimize=true

【第四步】将dependencies文件夹下的java-udf-jar-with-dependencies.jar移动到BE 的 lib 目录下
[root@rc conf]# cp /data8/doris_syw/dependencies/java-udf-jar-with-dependencies.jar ./

第七步:配置集群

添加BE到FE

#启动be
start_be.sh --daemon  #后台启动be
#./bin/start_be.sh    #建议第一次时用此方法运行,便于查看错误

#mysql连接fe
mysql -h192.168.30.118 -P9030 -uroot

#无密码,确认即可
#在客户端设置root密码
SET PASSWORD FOR 'root' = PASSWORD('Aa123456');

#退出再次登录即可
mysql -h192.168.30.118 -P9030 -uroot -pAa123456

#添加 BE
mysql> ALTER SYSTEM ADD BACKEND "192.168.30.118:9050";  
mysql> ALTER SYSTEM ADD BACKEND "192.168.30.117:9050";
mysql> ALTER SYSTEM ADD BACKEND "192.168.30.116:9050";
mysql> ALTER SYSTEM ADD BACKEND "192.168.30.115:9050";
mysql> ALTER SYSTEM ADD BACKEND "192.168.30.114:9050";

登录Doris

mysql -h192.168.30.118 -P9030 -uroot -pAa123456

查看BE状态

SHOW PROC '/backends' \G;   #注alive要为true   

3、Doris常用操作

启动与停止服务FE/BE

#启动
sh  /data8/doris_syw/fe/bin/start_fe.sh --daemo
sh  /data8/doris_syw/be/bin/start_be.sh --daemon

#停止
sh  /data8/doris_syw/fe/bin/stop_fe.sh
sh  /data8/doris_syw/be/bin/stop_be.sh

删除BE

ALTER SYSTEM DROPP BACKEND "hostname:9050";

查看FE的状态

SHOW PROC '/frontends';  #IsMaster、Join 和 Alive 三列均为true,则表示节点正常

4、报错解决

启动be报错

[root@rc bin]# ./start_be.sh 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/doris/udf/JniUtil
Caused by: java.lang.ClassNotFoundException: org.apache.doris.udf.JniUtil
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0109 18:27:14.798044 99676 doris_main.cpp:382] Failed to initialize JNI: Failed to find JniUtil class.

解决方法:报错的原因:安装Java UDF 函数因为从1.2 版本开始支持Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。

5、部署结果

[1] 如下是BE的运行状态

[2] 如下是FE的运行状态

参考文章:
https://blog.csdn.net/qq_41187116/article/details/125813989
官网安装文档(推荐):https://doris.apache.org/zh-CN/docs/dev/get-starting/
doris官方的tpch建表与查询测试:https://github.com/apache/doris/tree/master/tools/tpch-tools

Docker方式安装部署Doris

#安装maven
apt install maven

# install autoconf-2.69
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz && \
    tar zxf autoconf-2.69.tar.gz && \
    cd autoconf-2.69 && \
    ./configure && \
    make && \
    make install
    
# install bison-3.0.4
wget http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz && \
    tar xzf bison-3.0.4.tar.gz && \
    cd bison-3.0.4 && \
    ./configure && \
    make && \
    make install

拉取 Doris 的镜像

docker pull apachedoris/doris-dev:build-env-1.2
docker run -it --name doris-fe -v /home/incubator-doris/:/var/local/incubator-doris/  --network host --privileged apachedoris/doris-dev:build-env-1.2

下载doris的源码
git地址:https://github.com/apache/incubator-doris

git clone https://github.com/apache/incubator-doris.git

已经下载好的incubator-doris,直接上传到服务器中去使用
incubator-doris-master.zip

apt install unzip

------安装介绍

https://cloud.baidu.com/doc/DORIS/s/dkn5p8qbc

在fe下新建palo-meta文件夹,目录为:/root/doris/incubator-doris-master/fe/palo-meta
进入/root/doris/incubator-doris-master/conf目录
1) Fe.conf
meta_dir =/root/doris/incubator-doris-master/fe/palo-meta
http_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
2) be.conf
be_port = 9060
be_rpc_port = 9070
webserver_port = 18040
heartbeat_service_port = 9050
brpc_port = 18060
storage_root_path =/root/doris/data
---------再一次的重新安装
1、安装java11
2、安装cmake
2、安装doris
docker pull apache/incubator-doris:build-env
docker run -it --name build-env-1.2 -v /root/.m2:/root/.m2 -v /root/doris/:/root/doris/ apache/incubator-doris:build-env-1.2
wget https://github.com/apache/incubator-doris/archive/refs/tags/1.0.0-rc03.tar.gz
tar -zxvf 1.0.0-rc03.tar.gz
mv incubator-doris-1.0.0-rc03/ incubator-doris

-------再次安装
1.1 修改镜像地址为国内地址

vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://hub-mirror.c.163.com"
  ]
}

1.2 重启进程

 systemctl daemon-reload
 systemctl restart docker**

2、下载代码

git clone https://github.com/apache/incubator-doris.git

3、docker拉取编译环境镜像
注意,你若下载的是最新的源码,那也需要下载最近的镜像
doris-dev镜像地址:https://hub.docker.com/r/apachedoris/doris-dev/tags
[图片上传失败...(image-d5eb2b-1678433123646)]

docker pull apachedoris/doris-dev:build-env-1.3

4、进入docker容器

docker run -it --name build-env-1.3 -v /root/doris/incubator-doris/:/root/doris/incubator-doris/ apachedoris/doris-dev:build-env-1.3

注意参数的替换:
/opt/package/incubator-doris/ : 为本地源代码地址
/root/incubator-doris : 挂载的镜像内地址
5、开始编译

cd /root/incubator-doris
sh build.sh --be --clean
 
 此时会报错:
 build.sh: line 41: /var/local/thirdparty/build-thirdparty.sh: No such file or directory
 
 执行:cp thirdparty/*.sh //var/local/thirdparty (上述错误解决)

6、开始漫长的编译
此过程需要等待很久,根据网速来定
如果确定本地网络不慢的话,但是下载只有几kb,可以结束掉build 命令,会重新找新的下载地址下载继续,速度会提高

上一篇 下一篇

猜你喜欢

热点阅读