Doris 入门:集群部署(二)

  使用最新的 1.1.4 版本 Doris 进行部署
  云服务器环境: 三台服务器 hybrid01、hybrid02、hybrid03,Centos7.9,2C4G,40G 硬盘
  资源规划

  • hybrid01:FE(Leader)、BE、Broker
  • hybrid02:FE(Follower)、BE、Broker
  • hybrid03:FE(Follower/Observer)、BE、Broker

目录

    • 一、源码编译
    • 二、安装部署
      • 1. FE 配置
      • 2. MySQL Client
      • 3. 配置 BE
      • 4. 配置 Broker
      • 5. 扩容
      • 6. 状态

一、源码编译

使用安装包安装可以跳过,源码编译使用官方推荐的 Docker 方式进行编译
官方文档:https://doris.apache.org/zh-CN/docs/install/source-install/compilation

# 下载 Docker 镜像
docker pull apache/doris:build-env-ldb-toolchain-latest
# 挂载宿主机运行(目录改成自己实际存放的位置)
docker run -it -v /acware/main/docker/doris/.m2:/root/.m2 -v /acware/main/docker/doris/doris-DORIS-1.1.4-release/:/root/doris-DORIS-1.1.4-release/ apache/doris:build-env-ldb-toolchain-latest
# 运行完上面这条命令之后会直接进入容器内,以下命令是在容器内执行的,
# 如果没有进入容器内,可以使用 docker ps -a 查看容器 ID,docker attach ID 进入容器
# 下载源码包
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.4-rc01/apache-doris-1.1.4-src.tar.gz
# 解压源码包
tar -zxvf apache-doris-1.1.4-src.tar.gz
# 编译之前需要确定使用的 jdk 版本,默认是 jdk 11,以后用到的是 8 版本,所以要改版本
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
# 编译源码包,整个过程看网络情况而定,本次用了 31 分钟
sh apache-doris-1.1.4-src/build.sh

二、安装部署

  • 如果不使用源码编译,可以直接下载安装包
    • FE:wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.4-rc01/apache-doris-fe-1.1.4-bin.tar.gz
    • BE:wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.4-rc01/apache-doris-be-1.1.4-bin-x86_64.tar.gz
  • 如果使用的是 Docker 编译源码,需要将 output 拉到宿主机
    • 直接 mv 到挂载的目录里面
    • 在宿主机使用 docker cp 命令拉取
  • 创建数据目录
    • mkdir -p /acware/metadata/doris/fe
    • mkdir -p /acware/metadata/doris/be
    • 三台机器都要创建
  • 设置系统最大打开文件句柄数,如果不设置 BE 可能会启动失败
    • vi /etc/security/limits.conf
      • * soft nofile 65536
      • * hard nofile 65536
      • * soft nproc 65536
      • * hard nproc 65536

1. FE 配置

  • fe.conf
    • 根据实际情况配置 JAVA_OPTS
      • 云服务器只有 4G 内存,这里改了堆大小
      • meta_dir = /acware/metadata/doris/fe
      • priority_networks = 192.168.1.101/24
        • 这里每台机器都不一样,需要修改
  • 节点分发 FE
    • scp -r fe hybrid:$PWD
      • 新节点创建 data 目录,修改 priority_networks
    • 启动 FE
      • bin/start_fe.sh --daemon
      • 其他 Follower/Observer 节点,需要先添加 MySQL Client 后再执行
        • Follower:ALTER SYSTEM ADD FOLLOWER “hybrid02:9010”;
        • Observer:ALTER SYSTEM ADD OBSERVER “hybrid03:9010”;
        • 启动命令 sh bin/start_fe.sh --helper hybrid01:9010 --daemon

2. MySQL Client

  • 删除 mariadb
    • rpm -qa | grep mariadb
    • sudo rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  • 安装配置 MySQL Client
    • Docker 直接安装 MySQL,具体步骤另行搜索
    • 进入容器
    • 首次进入没有密码 mysql -uroot -h 192.168.1.101 -P9030
    • 设置密码 SET PASSWORD FOR ‘root’ = PASSWORD(‘xxx’);
      • 下次进入 mysql -uroot -h 192.168.1.101 -P9030 -p 输入密码
      • 这里注意,后面使用 http:fe_host:8030 的时候 root 密码是改的这个,如果没有修改密码,就还是空的

Doris 入门:集群部署(二)_第1张图片

3. 配置 BE

  • be.conf
    • storage_root_path = /acware/metadata/doris/be
    • priority_networks = 192.168.1.101/24
  • 节点分发 BE
    • scp -r be hybrid:$PWD
    • 新节点创建 data 目录,修改 priority_networks
  • FE 添加 BE
    • 进入 MySQL Client
    • 添加 alter system add backend “hybrid01:9050”;
      • 所有 BE 都添加进去
  • 启动 BE
    • bin/start_be.sh --daemon

4. 配置 Broker

  • 进入 Docker 的源码目录 fs_brokers/apache_hdfs_broker/ (默认是 HDFS broker)
    • 如果新进入的话需要注意 Java 版本配置
  • 编译
    • sh build.sh
  • 从 Docker 中拷贝出来 或 移到挂载目录
    • docker cp 522e19b589a5:/root/apache-doris-1.1.4-src/fs_brokers/apache_hdfs_broker/output /acware/main/program/ac_basis/doris-1.1.4/
  • 分发节点
    • scp -r broker/ hybrid03:$PWD
  • 启动
    • bin/start_broker.sh --daemon
  • 添加
    • ALTER SYSTEM ADD BROKER broker_101_102_103 “hybrid01:8000”,“hybrid02:8000”,“hybrid03:8000”;
  • 查看
    • show proc “/brokers”;

5. 扩容

  • FE 扩容和缩容
    • 添加
      • ALTER SYSTEM ADD FOLLOWER/OBSERVER “ip:port”;
    • 删除
      • ALTER SYSTEM DROP FOLLOWER/OBSERVER “fe_host:edit_log_port”;
    • 注意
      • FE 的数量必须是奇数,建议最多部署 3个 组成高可用模式即可,通常一个 FE 节点可以应对 10-20 台 BE 节点,
      • 处于高可用模式下,可以添加 Observer 来扩展 FE 的读服务能力
      • 服务器时钟不对齐会出现问题
        • Error during the handshake between two nodes. Some validity or compatibility check failed, preventing further communication between the nodes. Environment is invalid and must be closed.
    • 启动命令
      • 指定 Leader
        • sh bin/start_fe.sh --helper hybrid01:9010 --daemon
  • BE 扩容和缩容
    • 增加
      • ALTER SYSTEM ADD BACKEND “hybrid02:9050”;
    • 删除
      • ALTER SYSTEM DROP BACKEND “hybrid02:9050”;
      • ALTER SYSTEM DECOMMISSION BACKEND “hybrid02:9050”;
  • BROKER 扩容和缩容
    • ALTER SYSTEM ADD BROKER broker_xx_xx “hybrid01:8000”;
    • ALTER SYSTEM DROP BROKER broker_xx_xx “hybrid01:8000”;
    • ALTER SYSTEM DROP ALL BROKER broker_xx_xx;

6. 状态

  • 查看服务情况,命令在 MySQL Client 执行
    • FE:show proc ‘/frontends’;
    • BE:show proc ‘/backends’;
    • Broker: show proc “/brokers”;
    • http://fe_host:8030
      • admin/root 密码空或修改的 mysql 密码
  • FE
    Doris 入门:集群部署(二)_第2张图片
  • BEDoris 入门:集群部署(二)_第3张图片
  • Broker
    Doris 入门:集群部署(二)_第4张图片

你可能感兴趣的:(大数据应用,java,大数据)