doris docker 部署 及監控 (更新到1.0)


evn:  ubuntu20.04  jdk8_172  doris 0.13.12

 

############# 1 啟動Fe  BE  ###################

   准備:

sudo mkdir  -p  /opt/docker/doris/ && sudo chmod -R 777 /opt/docker/doris/ 

 

PRIORITY_NETWORKS 可以通過 > ip a 查看
運行(啟動fe ):  
 sudo docker run -itd --privileged=true --restart=always --name doris-fe_1_0  --net=host  -e FE_ROLE=fe-leader  -e PRIORITY_NETWORKS=192.168.18.176/24 \
-v /opt/docker/doris/fe/log:/data/fe/log  -v /opt/docker/doris/fe/doris-meta:/data/fe/doris-meta  -v /etc/localtime:/etc/localtime:ro  \
   -v /etc/timezone:/etc/timezone    happysea/doris:1.0
運行(啟動be ): 
sudo docker  run -itd --privileged=true  --restart=always  --name doris-be_1_0   --net=host -e FE_ROLE=be  --ulimit nofile=102400:102400 \
-e PRIORITY_NETWORKS=192.168.18.54/24  \
-v /opt/docker/doris/be/log:/data/be/log   -v /opt/docker/doris/be/storage:/data/be/storage  -v /etc/localtime:/etc/localtime:ro   \
 -v /etc/timezone:/etc/timezone   happysea/doris:1.0
 
        
 關於文件數: 可以添加
--ulimit nofile=102400:102400 
like:
sudo docker  run -itd --privileged=true --name doris-be --net=host --restart=always  --ulimit nofile=102400:102400  -e xx......   images

 

JVM 參數是默認最大4G ,建議改為8G>如果需要:

可以修改:

在啟動添加參數: -e  JAVA_OPTS="-Xmx4096m -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"

############# 2.連接添加Be  ###################

連接fe
mysql -h host -P 9030 -uroot

修改root 用戶密碼 (如果需要 ):   >   set password for 用戶名@localhost = password('新密碼');  

其中 host 為 FE 所在節點 ip;port 為 fe/conf/fe.conf 中的 query_port;默認使用 root 賬戶,無密碼登錄。 

 

添加be
ALTER SYSTEM ADD BACKEND “host1:9050”;
ALTER SYSTEM ADD BACKEND “host2:9050”;
ALTER SYSTEM ADD BACKEND “host3:9050”;
(
如果使用多組戶功能,則執行以下命令添加BE:
ALTER SYSTEM ADD FREE BACKEND “host:port”;
)

其中 host 為 BE 所在節點 ip;port 為 be/conf/be.conf 中的 heartbeat_service_port。

  • BE 進程將啟動並進入后台執行。日志默認存放在 be/log/ 目錄下。如啟動失敗,可以通過查看 be/log/be.log 或者 be/log/be.out 查看錯誤信息。

  • 查看BE狀態

    使用 mysql-client 連接到 FE,並執行 SHOW PROC '/backends'; 查看 BE 運行情況。如一切正常,isAlive 列應為 true。 

 刪除be:  ALTER SYSTEM DECOMMISSION BACKEND "192.168.18.52:9050";

 

查看 fe與be狀態
show proc "/frontends";
show proc "/backends";

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

可以直接下載編譯好的: 

http://doris.incubator.apache.org/zh-CN/downloads/downloads.html#apache-doris

 

Dockerfile:

FROM happysea/jdk8
MAINTAINER Sea <lshan523@163.com>
RUN mkdir -p /data/be/log/
RUN mkdir -p /data/be/storage
RUN mkdir -p /data/fe/doris-meta
RUN mkdir -p /data/fe/log
RUN chmod -R  755  /data/
COPY doris/ /opt/doris/
COPY docker-entrypoint.sh /opt/
WORKDIR  /opt
EXPOSE 8030 9020 9030 9060 9070 8040 9050 8060 
#ENTRYPOINT["/bin/bash"]
ENTRYPOINT ["/bin/bash","/opt/docker-entrypoint.sh"]

 

docker-entrypoint.sh

#!/bin/bash
chmod  -R  755 /data/
echo "fe_role:"$FE_ROLE echo "leader:"$FE_LEADER source /etc/profile if [[ $FE_ROLE = "fe-leader" ]]; then echo "fe-leader" /opt/doris/fe/bin/start_fe.sh elif [[ $FE_ROLE = "be" ]]; then echo "be" /opt/doris/be/bin/start_be.sh elif [[ $FE_ROLE = "fe-follower" ]]; then /opt/doris/fe/bin/start_fe.sh --helper $FE_LEADER else #/opt/doris/fs_broker/bin/start_broker.sh echo "do nothing " fi

打包: sudo docker build -t  happysea/doris:latest

 

 

 

docker-compose 參考如下即可:

 

以下可以參考:

Docker搭建Doris集群監控grafana+prometheus: https://blog.csdn.net/zuoliansheng/article/details/108736188

使用Docker快速搭建Doris集群: https://blog.csdn.net/jklcl/article/details/112910796

制作docker鏡像

# centos7:jdk8是我們自己做的基礎鏡像
FROM centos7:jdk8

RUN mkdir -p /home/doris

ENV JAVA_HOME /usr/lib/jvm/java

COPY ./fe/ /home/doris/fe

COPY ./be/ /home/doris/be

COPY ./apache_hdfs_broker/ /home/doris/fs_broker

EXPOSE 8030 9020 9030 9010 9070 9060 8060 8040 9050 8000

VOLUME ["/home/doris/fe/conf", "/home/doris/fe/log", "/home/doris/fe/doris-meta", "/home/doris/be/conf", "/home/doris/be/log", "/home/doris/be/storage", "/home/doris/fs_brokers/conf"]

COPY entrypoint.sh /

RUN chmod +x entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]

 

entrypoint.sh

#!/bin/sh

echo "fe_role:"$FE_ROLE
echo "leader:"$FE_LEADER

if [[ $FE_ROLE = 'fe-leader' ]]; then
    /home/doris/fe/bin/start_fe.sh
elif [[ $FE_ROLE = 'be' ]]; then
    /home/doris/be/bin/start_be.sh
elif [[ $FE_ROLE = 'fe-follower' ]]; then
    /home/doris/fe/bin/start_fe.sh --helper $FE_LEADER
else
    /home/doris/fs_broker/bin/start_broker.sh
fi

 

創建鏡像

docker build -f DockerFile -t doris:0.12.21-release .

docker-compose啟動

FE

version: '3.7'
services:
    doris-fe:
        image: doris:0.12.21-release
        restart: always
        network_mode: "host"
        container_name: "doris-fe"
        ports:
            - "8030:8030"
            - "9010:9010"
            - "9020:9020"
            - "9030:9030"
        volumes:
            - "/xxx/doris/fe/log:/home/doris/fe/log"
            - "/xxx/doris/fe/doris-meta:/home/doris/fe/doris-meta"
            - "/xxx/doris/fe/conf:/home/doris/fe/conf"
            - "/etc/localtime:/etc/localtime:ro"
        environment:
            - FE_ROLE=fe-follower
            - FE_LEADER=xxxx:9010
        security_opt:
            - seccomp:unconfined

創建文件夾: mkdir /xxx/doris/fe/conf
啟動leader: docker-compose -f docker-compose-doris-fe-leader.yml up -d
啟動follower: 略
UI界面: http://s-hadoop-log01:8030/
注:第一次啟動時先啟動leader,再啟動follower,因為follower指向leader所在機器之后的啟動,都按照leader起就可以了

BE

version: '3.7'
services:
    doris-be:
        image: doris:0.12.21-release
        restart: always
        network_mode: "host"
        container_name: "doris-be"
        ports:
            - "8040:8040"
            - "8060:8060"
            - "9050:9050"
            - "9060:9060"
            - "9070:9070"
        volumes:
            - "/xxx/doris/be/log:/home/doris/be/log"
            - "/xxx/doris/be/storage:/home/doris/be/storage"
            - "/xxx/doris/be/conf:/home/doris/be/conf/"
            - "/etc/localtime:/etc/localtime:ro"
        environment:
            - FE_ROLE=be

創建文件夾: mkdir /xxx/doris/be/conf
啟動be: docker-compose -f docker-compose-doris-be.yml up -d
UI界面: http://s-hadoop-log01:8040/

 

doris-fs-broker:

version: '3.7'
services:
    doris-fs-broker:
        image: doris:0.12.21-release
        restart: always
        network_mode: "host"
        container_name: "doris-fs-broker"
        ports:
            - "8000:8000"
        volumes:
            - "/xxx/doris/fs_broker/conf:/home/doris/fs_broker/conf"
            - "/xxx/doris/fs_broker/log:/home/doris/fs_broker/log"
            - "/etc/localtime:/etc/localtime:ro"
        environment:
            - FE_ROLE=fs

創建文件夾: mkdir /xxx/doris/fs_broker/conf
啟動fs: docker-compose -f docker-compose-doris-fs-broker.yml up -d

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM