目录
3.修改start-be.sh文件,第一行添加JAVA_HOME
Doris官网地址:https://doris.apache.org/
一、前期准备工作
准备三台机器,建立好ssh免密传输,在每台机器都要做如下步骤:
1.设置系统最大文件打开句柄数
打开三台机器的/etc/security/limits.conf文件,在文件最后一行输入如下内容
bash
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
2.时钟同步
参考往期文章《Linux中CentOS7时间与网络时间orWindows同步的方法》
3.关闭每台机器的交换分区
4.下载安装包
https://doris.apache.org/download
我下载的是2.0.1.1版本的
二、单节点部署安装Doris
(一)安装fe
选择集群中的一台机器,进行如下操作:
1.解压改名
bash
tar -zxf apache-doris-2.0.1.1-bin-x64.tar.gz -C /opt/module/
cd /opt/module/
mv apache-doris-2.0.1.1-bin-x64/ doris-2.0.1.1
cd doris-2.0.1.1/
2.修改配置文件
bash
-- 去自己的路径中找到fe.conf文件
vim /opt/module/doris-2.0.1.1/fe/conf/fe.conf
# fe日志存放路径
LOG_DIR = ${DORIS_HOME}/log
# 配置文件中指定元数据路径: 需手动创建该目录
meta_dir = /opt/module/doris-2.0.1.1/doris-meta
# 注意:生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好)
# 测试开发环境可以使用默认配置
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.180.0/24
# 192.168.180.0/24表示以192.168.180为网络地址的一个子网
# 其中该子网中的主机地址可以是从192.168.180.1到192.168.180.254的任意IP地址
# fe.conf 中 JAVA_OPTS 默认 java 最大堆内存为 8GB。
3.创建元数据目录
bash
mkdir -p /opt/module/doris-2.0.1.1/doris-meta
4.启动fe
bash
/opt/module/doris-2.0.1.1/fe/bin/start_fe.sh
# 或者后台启动
/opt/module/doris-2.0.1.1/fe/bin/start_fe.sh --daemon
5.访问fe的webUI
username是root,没有密码,直接登录即可
(二)安装be
1.进入be目录下,修改配置文件
bash
vim /opt/module/doris-2.0.1.1/be/conf/be.conf
priority_networks = 192.168.180.0/24
storage_root_path = /opt/module/doris-2.0.1.1/be/storage.HDD;/opt/module/doris-2.0.1.1/be/storage.SSD
2.创建两个storage文件
bash
mkdir -p /opt/module/doris-2.0.1.1/be/storage.HDD
mkdir -p /opt/module/doris-2.0.1.1/be/storage.SSD
3.修改start-be.sh文件,第一行添加JAVA_HOME
bash
cd /opt/module/doris-2.0.1.1/be/bin/
vim start-be.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212
4.启动前输入命令
bash
第一次启动的时候可能会报错
Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.
解决方案:
命令行先输入:sysctl -w vm.max_map_count=2000000
5.启动be
bash
/bin/start-be.sh
6.检查be是否启动成功
bash
[root@hadoop102 ~]# netstat -nltp | grep be
tcp 0 0 0.0.0.0:9050 0.0.0.0:* LISTEN 7311/doris_be
tcp 0 0 0.0.0.0:8060 0.0.0.0:* LISTEN 7311/doris_be
tcp 0 0 0.0.0.0:9060 0.0.0.0:* LISTEN 7311/doris_be
tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 7311/doris_be
(三)连接fe和be
因为FE和BE两个都是单独的个体,所以他俩相互间还不认识,就需要我们通过mysql的客户端将他们建立起联系
1.登录Doris客户端界面
在 FE 中添加所有 BE 节点,可以使用 mysql-client(下载MySQL 5.7) 连接到 FE:
bash
mysql -uroot -P9030 -p -hhadoop102
2.查看fe状态
bash
show proc '/frontends' \G
红框内表示该节点的机器是leader
3.查看be状态
bash
SHOW PROC '/backends' \G;
4.添加be到fe
bash
alter system add backend 'hadoop102:9050';
此时be成功和fe连接!
(四)部署broker(可选)
Broker 是用于访问外部数据源(如 hdfs)的进程。Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker。fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。
1.启动broker
bash
# 直接启动broker即可
/opt/module/doris-2.0.1.1/extensions/apache_hdfs_broker/bin/start_broker.sh --daemon
2.添加broker节点
使用 mysql-client 连接启动的 FE,执行以下命令:
bash
# 查看broker
mysql> SHOW PROC "/brokers";
# 添加broker
mysql> ALTER SYSTEM ADD BROKER broker_name "hadoop102:8000","hadoop103:8000","hadoop104:8000";
(五)关闭Doris
在关闭Doris的Broker、FE(Frontend)和BE(Backend)之前,建议首先关闭BE(Backend),然后再关闭FE(Frontend),最后关闭Broker。
- 关闭BE是因为BE是Doris的存储和计算引擎,关闭BE可以确保数据的完整性和一致性。
- 关闭FE是因为FE是Doris的前端服务,关闭FE可以停止对外提供查询和操作接口。
- 关闭Broker是最后一步,关闭Broker可以确保所有请求已经处理完毕,避免数据丢失或不一致的情况发生。
请注意,在关闭任何组件之前,确保已经进行了适当的备份,并且关闭顺序可能因具体环境和需求而有所不同。
关闭时执行关闭脚本即可
后台启动有可能关不掉be,解决办法:
集群部署后期会更新~