原生安裝部署方式
FE 主要負責元數(shù)據(jù)管理需忿、集群管理谍夭、用戶請求的接入和查詢計劃的解析等工作紊撕。
BE 主要負責數(shù)據(jù)存儲罢荡、查詢計劃的執(zhí)行等工作。
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笼才、下載及安裝
第一步:設置系統(tǒng)最大打開文件句柄數(shù)
修改 /etc/security/limits.conf, 執(zhí)行命令:
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, 執(zhí)行命令:
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
第四步:添加環(huán)境變量
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目錄下,創(chuàng)建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
#-----修改配置文件內容如下
#配置文件中指定數(shù)據(jù)存放路徑:
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狀態(tài)
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的狀態(tài)
SHOW PROC '/frontends'; #IsMaster憔四、Join 和 Alive 三列均為true,則表示節(jié)點正常
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 函數(shù)因為從1.2 版本開始支持Java UDF 函數(shù)了赵,需要從官網下載 Java UDF 函數(shù)的 JAR 包放到 BE 的 lib 目錄下,否則可能會啟動失敗甸赃。
5柿汛、部署結果
[1] 如下是BE的運行狀態(tài)
[2] 如下是FE的運行狀態(tài)
參考文章:
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拉取編譯環(huán)境鏡像
注意襟沮,你若下載的是最新的源碼锥惋,那也需要下載最近的鏡像
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
注意參數(shù)的替換:
/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
執(zhí)行:cp thirdparty/*.sh //var/local/thirdparty (上述錯誤解決)
6膀跌、開始漫長的編譯
此過程需要等待很久遭商,根據(jù)網速來定
如果確定本地網絡不慢的話,但是下載只有幾kb捅伤,可以結束掉build 命令劫流,會重新找新的下載地址下載繼續(xù),速度會提高