Doris集群安装部署
一、环境搭建
1、环境准备
主机名 | IP | 角色 |
---|---|---|
doris1 | 192.168.100.131 | Frotend,Backend |
doris2 | 192.168.100.132 | Backend |
doris3 | 192.168.100.133 | Backend |
2、Doris整体架构
Frontend(FE)
主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作
Backend(BE)
主要负责数据存储、查询计划的执行
二、准备工作
1、下载doris安装包
下载链接:https://doris.apache.org/zh-CN/download/
2、系统优化
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#永久关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 # 临时
# 关闭swap
swapoff -a # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
cat >> /etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 65536
EOF
3、配置jdk
安装jdk及依赖包
yum install -y build-essential gcc-10 g++-10 java-1.8.0-openjdk.x86_64 maven cmake byacc flex automake libtool-bin bison binutils-dev libiberty-dev zip unzip libncurses5-dev curl git ninja-build python
#配置java环境变量
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
4、上传软件包
mkdir -p /data/businessServer/
三、安装部署
1、创建存储目录
#三台服务器都创建
mkdir -p /data/{storage,doris-meta}
2、解压安装包
doris1既是Fe又是Be,所以需要解压所有文件,
其它两台服务器角色是Be,所以只需要解压
apache-doris-be-1.2.4.1-bin-x86_64-noavx2.tar.xz和apache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz
tar xvf apache-doris-fe-1.2.4.1-bin-x86_64.tar.xz -C /data/
tar xvf apache-doris-be-1.2.4.1-bin-x86_64-noavx2.tar.xz -C /data/
tar xvf apache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz -C /data/
3、主机c7-Lab1操作
cd /data/
mv apache-doris-fe-1.2.4.1-bin-x86_64/ fe
mv apache-doris-be-1.2.4.1-bin-x86_64-noavx2/ be
cd apache-doris-dependencies-1.2.4.1-bin-x86_64/
cp java-udf-jar-with-dependencies.jar /data/be/lib/
#创建安装目录
cd /data
mkdir -p doris-1.2.4.1
mv fe/ doris-1.2.4.1/
mv be/ doris-1.2.4.1/
cd apache-doris-dependencies-1.2.4.1-bin-x86_64/
mv apache_hdfs_broker/ /data/doris-1.2.4.1/
4、主机c7-Lab2和c7-Lab3操作
cd /data/
mv apache-doris-be-1.2.4.1-bin-x86_64-noavx2/ be
cd apache-doris-dependencies-1.2.4.1-bin-x86_64/
cp java-udf-jar-with-dependencies.jar /data/be/lib/
#创建安装目录
cd /data
mkdir -p doris-1.2.4.1
mv be/ doris-1.2.4.1/
cd apache-doris-dependencies-1.2.4.1-bin-x86_64/
mv apache_hdfs_broker/ /data/doris-1.2.4.1/
5、修改三台主机的be配置文件
cd /data/doris-1.2.4.1/be/conf/
vi be.conf
6、修改c7-Lab1上fe的配置文件
cd /data/doris-1.2.4.1/fe/conf
vi fe.conf
四、启动FE
sh /data/doris-1.2.4.1/fe/bin/start_fe.sh --daemon
# 查看运行情况
#通过jps查看
jps
10441 PaloFe
#通过curl方式查看
[root@master bin]# curl http://127.0.0.1:8030/api/bootstrap
{"msg":"success","code":0,"data":{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"arrowFlightSqlPort":0,"version":""},"count":0}
这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030),如果是你在 FE 节点执行,直接运行上面的命令即可。
如果返回结果中带有 "msg":"success" 字样,则说明启动成功。
你也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
http://192.168.100.131:8030/login
1、在fe添加所有be节点和borkers节点
1、命令行链接Doris
mysql -uroot -P9030 -h192.168.100.131
执行下面的命令查看 FE 运行状态
show frontends\G;
注意:
如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常。
停止pe节点
sh /data/doris-1.2.4.1/fe/bin/stop_fe.sh
使用数据库管理软件连接数据库(数据库默认没有密码,我这里用的管理工具是DBeaver下载地址:https://dbeaver.io/download/)
set password = password('stars@2002');
ALTER SYSTEM ADD FOLLOWER "192.168.100.131:9010";
alter system add backend "192.168.100.131:9050";
alter system add backend "192.168.100.132:9050";
alter system add backend "192.168.100.133:9050";
ALTER SYSTEM ADD BROKER broker1 "192.168.100.131:8000";
ALTER SYSTEM ADD BROKER broker2 "192.168.100.132:8000";
ALTER SYSTEM ADD BROKER broker3 "192.168.100.133:8000";
四、所有主机启动BE和brokers
sh /data/doris-1.2.4.1/be/bin/start_be.sh --daemon
报错
sysctl -w vm.max_map_count=2000000
#再次启动服务
sh /data/doris-1.2.4.1/be/bin/start_be.sh --daemon
#启动brokers
sh /data/doris-1.2.4.1/apache_hdfs_broker/bin/start_broker.sh --daemon
[root@master bin]# jps
9971 DorisFE
11525 DorisBE
16583 Jps
16535 BrokerBootstrap
create database demo;
use demo;
CREATE TABLE IF NOT EXISTS demo.user_lab(
`user_id` LARGEINT NOT NULL COMMENT "用户id",
`date` DATE NOT NULL COMMENT "数据灌入日期时间",
`city` VARCHAR(20) COMMENT "用户所在城市",
`age` SMALLINT COMMENT "用户年龄",
`sex` TINYINT COMMENT "用户性别",
`last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
`cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
`max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
`min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
五、访问web管理平台
http://ip:8030/ 使用数据库账号和密码登录