使用最新的 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
一、源码编译
使用安装包安装可以跳过,源码编译使用官方推荐的 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
- vi /etc/security/limits.conf
1. FE 配置
- fe.conf
- 根据实际情况配置 JAVA_OPTS
- 云服务器只有 4G 内存,这里改了堆大小
- meta_dir = /acware/metadata/doris/fe
- priority_networks = 192.168.1.101/24
- 这里每台机器都不一样,需要修改
- 根据实际情况配置 JAVA_OPTS
- 节点分发 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
- scp -r fe hybrid:$PWD
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 密码是改的这个,如果没有修改密码,就还是空的

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
- 指定 Leader
- 添加
- 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

- BE

- Broker

375

被折叠的 条评论
为什么被折叠?



