• Doris安装(一)之docker编译+fe和be的配置与启动


    1、安装docker(使用一台机器用来编译就可以)

    ## 首先查看系统内核版本是否满足3.10版本
    uname -r
    ##确保yum源是最新的
    yum update -y
    ## 卸载yum的旧版本
    yum remove docker docker-common docker-selinux docker-engine
    ## yum-util 工具包和 devicemapper 驱动依赖
    yum install -y yum-utils device-mapper-persistent-data lvm2
    ## 设置 yum 源(加速 yum 下载速度)
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    ## 查看所有仓库中所有 docker 版本,并选择特定版本安装,一般可直接安装最新版
    yum list docker-ce --showduplicates | sort -r
    ##选择最新最稳定的docker版本进行安装
    yum install docker-ce -y 
    ## 启动docker
    systemctl start docker
    ## docker开机自启动
    systemctl enable docker
    ##查看是否安装成功
    docker version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2、使用docker镜像编译(使用一台机器就可以)

    官网地址

    https://doris.apache.org/downloads/downloads.html#apache-doris

    我的安装包:

    链接:https://pan.baidu.com/s/1oH3b1oTTJjoGejP9cYl1nA?pwd=283g
    提取码:283g
    –来自百度网盘超级会员V2的分享

    把安装包扔到服务器啦

    tar -xvf apache-doris-0.15.0-incubating-src.tar.gz -C /usr/local/
    ## docker拉取对应版本的镜像
    docker pull apache/incubator-doris:build-env-for-0.15.0
    ## 查看镜像是否加载完成
    docker images
    ## 挂载本地目录运行镜像
    docker run -it \
    -v /usr/local/.m2:/root/.m2 \
    -v /usr/local/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
    apache/incubator-doris:build-env-for-0.15.0
    ##挂载之后root就是一个符号了
    ## 但是环境是java11 要切换成java8
    alternatives --set java java-1.8.0-openjdk.x86_64
    alternatives --set javac java-1.8.0-openjdk.x86_64
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0
    ##测试环境
    echo $JAVA_HOME
    ##把doris-repo.tar.gz扔到服务器解压 换一个root的会话
    tar -zxvf doris-repo.tar.gz -C /usr/local/
    ##可以看见/usr/local/下面有.m2文件夹
    cd .m2  ##ls 可以看见repository
    ##切换docker的会话
    cd apachedoris-0.15.0-incubating-src/  #就是在~下
    ##第一次编译要加--clean,因为有clean可以去掉一些不兼容的组件
    [root@32ca727fc912 apache-doris-0.15.0-incubating-src]sh build.sh --clean --be --fe --ui
    ## 如果编译失败了,就可以把--clean去掉
    sh build.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    编译成功的截图(编译了一个小时三十六分钟之后的成果)
    在这里插入图片描述

    cd output  # 会有be fe udf
    
    • 1

    3、安装

    集群部署

    qianfeng01 FE(LEADER) BE BROKER
    qianfeng02 FE(FLOLLWER) BE BROKER
    qianfeng03 FE(FLOLLWER) BE BROKER
    生产环境中FE和BE要分开
    
    • 1
    • 2
    • 3
    • 4
    ##qianfeng01可以退出容器
    exit
    ##把编译之后的三个文件拷贝到自己的文件夹(/usr/local/)
    cd /usr/local/apache-doris-0.15.0-incubating-src/output/
    cp -r ./* /usr/local/doris
    
    • 1
    • 2
    • 3
    • 4
    • 5

    打开文件数(可以使用 ulimit -a查看软硬链接的数量)

    下面这个步骤三台机器都要搞

    vim /etc/security/limits.conf
    
    * soft nofile 65535
    * hard nofile 65535
    * soft nproc 65535
    * hard nproc 65535
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.1部署FE节点(配置元数据存储目录以及网卡)

    1)创建存放元数据的目录

    mkdir -p /usr/local/doris/doris-meta
    
    • 1

    2)配置文件

    cd /usr/local/doris/fe/conf/
    vi fe.conf #是修改!
    
    • 1
    • 2
    #修改元数据库的目录
    meta_dir = /usr/local/doris/doris-meta
    #修改绑定 ip
    priority_networks = 192.168.10.101/24
    
    • 1
    • 2
    • 3
    • 4

    注意

    生产环境不要把元数据放在安装目录
    
    • 1

    3)启动

    启动之前

    cd /usr/local/doris/fe/bin
    vi start_fe.sh
    ##自己要在java这边参数添加JAVA_HOME
    export JAVA_HOME=/usr/local/jdk/
    
    • 1
    • 2
    • 3
    • 4

    不添加无法打印日志,而且会显示JAVA_HOME no set

    [root@qianfeng01 fe]# ./bin/start_fe.sh --daemon
    [root@qianfeng01 fe]# cd log
    [root@qianfeng01 log]# ll
    总用量 44
    -rw-r--r--. 1 root root     0 625 19:39 fe.audit.log
    -rw-r--r--. 1 root root 19347 625 19:39 fe.gc.log.20220625-193907
    -rw-r--r--. 1 root root  8305 625 19:39 fe.log
    -rw-r--r--. 1 root root  6390 625 19:39 fe.out
    -rw-r--r--. 1 root root   666 625 19:39 fe.warn.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4)启动之后的查看

    方式一

    [root@qianfeng01 log]# jps -l
    107056 org.apache.doris.PaloFe
    109338 sun.tools.jps.Jps
    12126 org.apache.zookeeper.server.quorum.QuorumPeerMain
    [root@qianfeng01 log]#
    
    • 1
    • 2
    • 3
    • 4
    • 5

    方式二

    [root@qianfeng01 log]# ps -ef|grep fe
    root         66      2  0 14:37 ?        00:00:00 [deferwq]
    root     107056      1  3 19:39 pts/0    00:00:13 /usr/local/jdk//bin/java -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:/usr/local/doris/fe/log/fe.gc.log.20220625-193907 org.apache.doris.PaloFe
    root     109681   8743  0 19:46 pts/0    00:00:00 grep --color=auto fe
    
    • 1
    • 2
    • 3
    • 4

    方式三

    http://qianfeng01:8030
    账号:root
    密码:
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3.2 部署BE节点

    1)分发qianfeng01中的be到其他两台机器上

    scp -r /usr/local/doris/be qianfeng02:/usr/local/doris
    scp -r /usr/local/doris/be qianfeng03:/usr/local/doris
    
    • 1
    • 2

    2)创建 BE 数据存放目录(就是每台机器都要创建这两个目录)

    mkdir -p /usr/local/doris/doris-storage1
    mkdir -p /usr/local/doris/doris-storage2
    
    • 1
    • 2

    3)修改配置(qianfeng01,qianfeng02,qianfeng03) 他们就是配置文件的网络地址不一样

    qianfeng01

    vim /usr/local/doris/be/conf/be.conf
    
    #配置文件中指定数据存放路径:
    storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
    #修改绑定 ip(每台机器修改成自己的 ip)
    priority_networks = 192.168.10.101/24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    qianfeng02

    vim /usr/local/be/conf/be.conf
    
    #配置文件中指定数据存放路径:
    storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
    #修改绑定 ip(每台机器修改成自己的 ip)
    priority_networks = 192.168.10.102/24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    qianfeng03

    vim /usr/local/be/conf/be.conf
    
    #配置文件中指定数据存放路径:
    storage_root_path = /usr/local/doris/doris-storage1;/usr/local/doris/doris-storage2
    #修改绑定 ip(每台机器修改成自己的 ip)
    priority_networks = 192.168.10.103/24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4)在FE中添加所有BE节点

    qianfeng01

    #启动fe
    cd /usr/local/doris/fe/bin/
    start_all.sh --daemon
    [root@qianfeng01 fe]# jps
    4341 PaloFe
    4527 Jps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    创建目录

     mkdir -p /usr/local/mysql-client/
    
    • 1

    上传rpm包到qianfeng02(一个没有装mysql的机器上)/usr/local/mysql-client/

    链接:https://pan.baidu.com/s/1lxsQGsANTIW3zBTU8VTJ3w?pwd=zftc
    提取码:zftc
    –来自百度网盘超级会员V2的分享

    把上面的三个安装包放到/usr/local/mysql-client/下面

    1)mysqlclient的安装(qianfeng02上演示)

    #检查系统有没有mysql
    rpm -qa|grep mariadb
    #存在就卸载
     rpm -e --nodeps XXX
     #安装
     rpm -ivh /usr/local/mysql-client/*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2)使用MysqlClient连接FE

    mysql -h qianfeng01 -P 9030
    
    • 1
    注意:我是上面这个指令才进入mysql,其他人是加了-uroot
    正常的指令应该是 `mysql -h qianfeng01 -P 9030 -uroot`,但是我的会报错
    
    • 1
    • 2
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    +--------------------+
    1 row in set (0.01 sec)
    
    mysql>SET PASSWORD FOR 'root' = PASSWORD('1234');
    ##如果退出来了
    mysql -h qianfeng01 -P 9030 -p'1234'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    mysql>ALTER SYSTEM ADD BACKEND "qianfeng01:9050";
    mysql>ALTER SYSTEM ADD BACKEND "qianfeng02:9050";
    mysql>ALTER SYSTEM ADD BACKEND "qianfeng03:9050";
    #查看
     mysql> SHOW PROC '/backends';
     #有拒绝连接很正常记得看每个机器的第一排,如果fe和be都启动了是没有0和null的
     #就是要开启fe和be,然后再通过mysql的client去查看SHOW PROC '/backends';
     如果没有0就是成功的
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    5)编译broker(下次更,网速慢到编译卡了)

    在qianfeng01这台机器上

    docker run -it \
    -v /usr/local/.m2:/root/.m2 \
    -v /usr/local/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
    apache/incubator-doris:build-env-for-0.15.0
    
    • 1
    • 2
    • 3
    • 4
    [root@2b3115e2d5d7 ~]# cd apachedoris-0.15.0-incubating-src/
    [root@2b3115e2d5d7 apachedoris-0.15.0-incubating-src]# cd fs_brokers/
    [root@2b3115e2d5d7 fs_brokers]# ls
    apache_hdfs_broker
    [root@2b3115e2d5d7 fs_brokers]# cd apache_hdfs_broker/
    [root@2b3115e2d5d7 apache_hdfs_broker]# ll
    total 24
    drwxrwxr-x. 2 root root    51 Nov 16  2021 bin
    -rwxrwxr-x. 1 root root  1773 Nov 16  2021 build.sh
    drwxrwxr-x. 2 root root    82 Nov 16  2021 conf
    -rw-rw-r--. 1 root root 19478 Nov 16  2021 pom.xml
    drwxrwxr-x. 4 root root    30 Nov 16  2021 src
    #切换一下java环境,默认是java11,切换到java8就可以
    alternatives --set java java-1.8.0-openjdk.x86_64
    alternatives --set javac java-1.8.0-openjdk.x86_64
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0
    sh build.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    【Linux】文件操作
    Use nvidia card in docker
    antd tree 懒加载+局部刷新
    2022年技术胖私藏工具分享
    Linux进程状态
    NVIDIA TX2 与 维特 IMU CAN通信
    【owt】p2p client mfc 工程梳理
    数据结构:堆排序
    Python-正则表达式技巧-查找目标字符串-范例
    Rust个人学习之包&模块
  • 原文地址:https://blog.csdn.net/weixin_45682261/article/details/125470160