Doris2.1.4安装部署

Doris标准部署

软硬件版本

Linux 操作系统版本需求

Linux 系统版本
Redhat7.9 64位

软件需求

软件版本
Javaopenjdk-1.8
GCC4.8.5
doris2.1.4

操作系统安装要求

1、关闭交换分区(swap)

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区

# 方式一
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久
​
# 方式二
#编辑文件
vim /etc/sysctl.conf
#增加以下配置
    vm.swappiness=0
    vm.overcommit_memory=1
    vm.zone_reclaim_mode = 0
#执行生效   
sysctl -p   
​
# 查看交换区 是否关闭  注意:以上配置需要重启后才能生效,在配置时钟同步后会进行重启
free -m

2、设置系统最大打开文件句柄数

# 方式一
vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 65536
# 方式二
cat >> /etc/security/limits.conf  <<EOF
* soft nofile 65536
* hard nofile 65536
EOF

3、时钟同步(已配置 可省略)

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

# 所有服务器全部重启ntp服务【生产环境已默认初始化好ntp服务】
systemctl start ntpd
systemctl enable ntpd

4、禁用SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  #永久关闭selinux
setenforce 0  # 临时

5、开放端口号

# 需要开放FE节点下端口号8030、9030

6、安装JDK环境。【已安装 openJDK 可省略】

cat >>/etc/profile <<EOF
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF
​
source /etc/profile

7、安装GCC 【已安装gcc 可省略】

yum install gcc gcc-c++
网络需求

Doris 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口

实例名称端口名称默认端口通讯方向说明
BEbe_port9060FE --> BEBE 上 thrift server 的端口,用于接收来自 FE 的请求
BEwebserver_port8040BE <--> BEBE 上的 http server 的端口
BEheartbeat_service_port9050FE --> BEBE 上心跳服务端口(thrift),用于接收来自 FE 的心跳
BEbrpc_port8060FE <--> BE, BE <--> BEBE 上的 brpc 端口,用于 BE 之间通讯
FEhttp_port8030FE <--> FE,用户 <--> FEFE 上的 http server 端口
FErpc_port9020BE --> FE, FE <--> FEFE 上的 thrift server 端口,每个fe的配置需要保持一致
FEquery_port9030用户 <--> FEFE 上的 mysql server 端口
FEedit_log_port9010FE <--> FEFE 上的 bdbje 之间通信用的端口
Brokerbroker_ipc_port8000FE --> Broker, BE --> BrokerBroker 上的 thrift server,用于接收请求

注:

  1. 当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。

  2. 部署前请确保各个端口在应有方向上的访问权限。

安装步骤

主机部署规划

服务器CPU内存硬盘FEBE类别
10.0.1.1514C16G100Gyes(master)虚拟机
10.0.1.1524C16G100Gyes(slave)虚拟机
10.0.1.1534C16G100Gyes(slave)虚拟机
10.0.1.754C16G100Gyes(OBSERVER)虚拟机
10.0.1.764C16G100Gyes(OBSERVER)虚拟机
10.0.1.64C16G100Gyes虚拟机
10.0.1.74C16G100Gyes虚拟机
10.0.1.84C16G100Gyes虚拟机
10.0.1.94C16G100Gyes虚拟机
10.0.1.104C16G100Gyes虚拟机

服务器doris用户:dbuser2

FE部署

1、目录规划
# 1.准备目录-将安装包分发至各个服务器的/opt目录
mkdir -p /opt/doris
# 2.创建fe的日志目录和元数据存储目录
mkdir -p /data/doris/log
mkdir -p /data/doris/doris-meta
​
# 3.将安装包解压至/data/doris目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris
2、fe.conf配置

fe.conf

vi /opt/doris/apache-doris-2.1.4-bin-x64/fe/conf/fe.conf
# 添加配置(使用ip a命令可获取)
priority_networks = 10.0.1.0/24
meta_dir=/data/doris/doris-meta
# 设置表名不区分大小写
lower_case_table_names = 1
# the output dir of stderr and stdout 
LOG_DIR = /data/doris/log
3、FE启动
# 启动FE
cd  /opt/doris/apache-doris-2.1.4-bin-x64/fe
sh bin/start_fe.sh --daemon  #启动FE-Master节点
sh bin/start_fe.sh --helper 10.0.1.151:9010 --daemon #第一次启动FE-Slave节点
​
# 查看启动状态
curl http://127.0.0.1:8030/api/bootstrap
# 这里IP和端口分别是 FE 的 IP 和 http_port(默认8030),如果是你在FE节点执行,直接运行上面的命令即可。
# 如果返回结果中带有 "msg":"success" 字样,则说明启动成功。
​
# 也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
http:// fe_ip:8030
# 可以看到下面的界面,说明 FE 启动成功

注意:

  1. 这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空

  2. 这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。

  3. 在使用MySQL客户端修改root账户密码后,则需要填写密码。

  4. 设置密码必须在MySQL客户端执行,可以在WEB管理端执行其他操作。详见官方文档

  5. 可以在其中一个FE节点服务器上安装MySQL客户端连接,也可以使用同网段可以连接的其他服务器上面已安装的MySQL客户端。

4、连接FE

我们下面通过 MySQL 客户端来连接 Doris FE,下载免安装的 MySQL 客户端

解压刚才下载的 MySQL 客户端,在 bin/ 目录下可以找到 mysql 命令行工具。然后执行下面的命令连接 Doris。

# mysql下载地址
https://downloads.mysql.com/archives/community/
​
# 解压安装mysql客户端
tar -zxf /opt/doris/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz -C /opt/doris/software/
​
# 如果在bin下执行mysql命令出现Command not found,添加软链接
ln -s /opt/doris/software/mysql-5.7.43-linux-glibc2.12-x86_64/bin/mysql  /usr/bin
​
# 连接Doris
mysql -uroot -P9030 -h10.0.1.151

注意:

  1. 注意先启动第一个FE节点,配置好FE从节点后,再启动第二个第三个

  2. 这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户,具体的用户权限查看 权限管理

  3. -P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的 query_port

  4. -h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1。

添加FE从节点

-- 前面已连接 则可以省略连接步骤 直接执行ALTER
-- 使用MySQL客户端无密码连接doris
mysql -uroot  -P9030  -h10.0.1.151
-- 连接好设置root账户密码
mysql> set password = password('admin123');
​
-- 添加FE FOLLOWER节点  【如果使用单节点FE,则不需要】
-- edit_log_port位于conf/fe.conf  ,默认为9010
mysql> ALTER SYSTEM ADD FOLLOWER "10.0.1.152:9010";
mysql> ALTER SYSTEM ADD FOLLOWER "10.0.1.153:9010";
mysql> ALTER SYSTEM ADD OBSERVER "10.0.1.75:9010";
mysql> ALTER SYSTEM ADD OBSERVER "10.0.1.76:9010";
​
-- 设置密码后连接命令 mysql -uroot -padmin123  -P9030  -h10.0.1.151

执行下面的命令查看 FE 运行状态

mysql> show frontends\G;

然后你可以看到类似下面的结果:

mysql> show frontends\G
*************************** 1. row ***************************
             Name: fe_a89a84ca_9010_1660549353220
               HOST: 10.0.1.151
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 1685821635
             Join: true
            Alive: true
ReplayedJournalId: 24438
    LastHeartbeat: 2024-07-04 13:00:45
         IsHelper: true
           ErrMsg:
          Version: doris-2.1.4-rc03-e93678fd1e
 CurrentConnected: Yes
1 row in set (0.03 sec)
  1. 如果Join 和 Alive 两列均为true,IsMaster根据具体情况为true|false,则表示节点正常。

5、停止 FE 节点

Doris FE 的停止可以通过下面的命令完成

sh bin/stop_fe.sh

BE部署

1、目录规划
# 1.准备目录-将安装包分发至各个服务器的/opt目录
# 2.创建be的日志目录和数据存储目录
mkdir -p /data/doris/log
mkdir -p /data/doris/storage
​
# 3.将安装包解压至/opt/doris目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris
2、be.conf配置

be.conf

vim /opt/doris/apache-doris-2.1.4-bin-x64/be/conf/be.conf
# 添加配置(使用ip a命令可获取)
priority_networks = 10.0.1.0/24
storage_root_path=/data/doris/storage
# 查询JAVA_HOME|安装路径:: update-alternatives --config java  配置到bin目录上一级
JAVA_HOME=/usr/lib/jvm/java-1.8.0-xxx/jre
# the output dir of stderr and stdout 
LOG_DIR = /data/doris/log
string_type_length_soft_limit_bytes = 2147483643
3、添加BE节点【注意:先添加节点后启动BE!!!】
-- 使用MySQL客户端无密码连接doris  【继续使用151上的MySQL】
mysql -uroot  -P9030  -h启动的FEIP
-- 如果BE节点添加错误 建议先移除,再重新添加
-- mysql> ALTER SYSTEM DROPP BACKEND "be1:9050";
​
--添加BE节点
mysql> ALTER SYSTEM ADD BACKEND "10.0.1.6:9050";
mysql> ALTER SYSTEM ADD BACKEND "10.0.1.7:9050";
mysql> ALTER SYSTEM ADD BACKEND "10.0.1.8:9050";
mysql> ALTER SYSTEM ADD BACKEND "10.0.1.9:9050";
mysql> ALTER SYSTEM ADD BACKEND "10.0.1.10:9050";
-- 查看所有FE节点
mysql> show proc '/backends';
4、BE启动
# 第一次启动前需要进行系统配置,如不配置则报错,后续启动不再需要
# 错误1:Please set vm.max_map_count to be 2000000 under root using ...
# 配置1:执行 sysctl -w vm.max_map_count=2000000
# 错误2:The JAVA_HOME environmentvariable is not defined correctly
# 配置2:编辑be.conf 配置JAVA_HOME="/path/your/java_home"
# 提示:查询JAVA_HOME|安装路径:: update-alternatives --config java 
# 注意:配置到bin目录上一级 
​
# 切换目录 启动BE
cd  /opt/doris/apache-doris-2.1.4-bin-64/be;
sh bin/start_be.sh --daemon
5、查看 BE 运行状态

你可以在 MySQL 命令行下执行下面的命令查看 BE 的运行状态。

# 使用MySQL客户端连接doris FE
mysql -uroot  -P9030  -h启动的FEIP
# 登录进入执行下面命令查看BE运行状态
SHOW BACKENDS\G

Alive : true表示节点运行正常

如果Alive为false,则表示当前BE节点没有与FE节点正常建立连接。

原因分析:查看BE日志文件 log/be.INFO

示例:BE的cluster_id和FE的 cluster_id不一致

解决:

1.FE的master节点在第一次启动时生成cluster_id存放在doris-meta/image/VERSION文件中

2.BE连接FE成功后会将cluster_id存放在storage/cluster_id文件中

3.修改BE cluster_id文件中的cluster_id和FE VERSION文件中一致

4.重启BE节点即可

6、停止 FE 节点

Doris FE 的停止可以通过下面的命令完成

./bin/stop_fe.sh

附录1:FE-Master安装脚本摘要

# 主节点:10.0.1.151
# 0.服务器环境准备工作已完成,并且提前将doris配置文件fe.conf|be.conf修改好放入doris的tar.gz压缩包中存放到/opt目录下
​
# 1.目录规划
mkdir -p /opt/doris
mkdir -p /data/doris/log
mkdir -p /data/doris/doris-meta
​
# 2.将安装包解压至/opt/doris目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris/
sleep 30
echo "tar doris complete"
​
# 3.切换目录 启动FE主节点
cd  /opt/doris/apache-doris-2.1.4-bin-x64/fe
sh bin/start_fe.sh --daemon  #启动FE-Master节点
echo "start doris-fe complete"
​
sleep 15
curl http://127.0.0.1:8030/api/bootstrap

附录2:MySQL执行脚本

#!/bin/bash
DB_HOST="10.0.1.151"
DB_USER="root"
DB_PASS="admin123"
DB_PORT="9030"
​
# SQL
set_pass="set password = password('admin123');"
add_fe1="ALTER SYSTEM ADD FOLLOWER '10.0.1.152:9010';"
add_fe2="ALTER SYSTEM ADD FOLLOWER '10.0.1.153:9010';"
add_fe3="ALTER SYSTEM ADD OBSERVER '10.0.1.75:9010';"
add_fe4="ALTER SYSTEM ADD OBSERVER '10.0.1.76:9010';"
add_be1="ALTER SYSTEM ADD BACKEND '10.0.1.6:9050';"
add_be2="ALTER SYSTEM ADD BACKEND '10.0.1.7:9050';"
add_be3="ALTER SYSTEM ADD BACKEND '10.0.1.8:9050';"
add_be4="ALTER SYSTEM ADD BACKEND '10.0.1.9:9050';"
add_be5="ALTER SYSTEM ADD BACKEND '10.0.1.10:9050';"
​
# Execute SQL
mysql -u$DB_USER -P$DB_PORT -h$DB_HOST -e "$set_pass"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_fe1"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_fe2"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_fe3"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_fe4"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_be1"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_be2"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_be3"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_be4"
mysql -u$DB_USER -p$DB_PASS -P$DB_PORT -h$DB_HOST -e "$add_be5"

附录3:FE-Salve安装脚本摘要

# 从节点:10.0.1.152,10.0.1.153
# 0.服务器环境准备工作已完成,并且提前将doris配置文件fe.conf|be.conf修改好放入doris的tar.gz压缩包中存放到/opt目录下
​
# 1.目录规划
mkdir -p /opt/doris
mkdir -p /data/doris/log
mkdir -p /data/doris/doris-meta
​
# 2.将安装包解压至/opt/doris目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris/
sleep 30
echo "tar doris complete"
​
# 3.切换目录 启动FE从节点
cd  /opt/doris/apache-doris-2.1.4-bin-x64/fe
sh bin/start_fe.sh --helper 10.0.1.151:9010 --daemon #第一次启动FE-Slave节点
echo "start doris-fe complete"
​
sleep 15
curl http://127.0.0.1:8030/api/bootstrap

附录4:FE-OBSERVER安装脚本摘要【同Slave节点安装脚本】

# OBSERVER节点:10.0.1.75,10.0.1.76
# 0.服务器环境准备工作已完成,并且提前将doris配置文件fe.conf|be.conf修改好放入doris的tar.gz压缩包中存放到/opt目录下

# 1.目录规划
mkdir -p /opt/doris
mkdir -p /data/doris/log
mkdir -p /data/doris/doris-meta
​
# 2.将安装包解压至software目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris
sleep 30
echo "tar doris complete"

# 3.切换目录 启动FE OBSERVER节点
cd  /opt/doris/apache-doris-2.1.4-bin-x64/fe
sh bin/start_fe.sh --helper 10.0.1.151:9010 --daemon #第一次启动FE OBSERVER节点
echo "start doris-fe complete"
​
sleep 15
curl http://127.0.0.1:8030/api/bootstrap

附录5:BE节点安装脚本摘要

# BE节点:10.0.1.6   10.0.1.7  10.0.1.8  10.0.1.9  10.0.1.10
# 0.服务器环境准备工作已完成,并且提前将doris配置文件fe.conf|be.conf修改好放入doris的tar.gz压缩包中存放到/opt目录下

# 1.目录规划
mkdir -p /opt/doris
mkdir -p /data/doris/log
mkdir -p /data/doris/doris-meta

# 2.将安装包解压至/opt/doris目录
tar -zxf /opt/apache-doris-2.1.4-bin-x64.tar.gz -C /opt/doris
sleep 30
echo "tar doris complete"
​
# 第一次启动BE需要执行如下命令,不然会报错
# sysctl -w vm.max_map_count=2000000
​
# 3.切换目录 启动BE节点
cd  /opt/doris/apache-doris-2.1.4-bin-x64/be
sh bin/start_be.sh --daemon 
echo "start doris-be complete"

附录6:参考网址

重要提示:多看官方文档,出现问题多看日志!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值