📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
- 前言
- 1.Apache Doris介绍
- 2.Doris下载解压
- 3.JDK环境
- 4.配置Doris
- 4.1 配置FE
- 4.2 启动FE
- 4.3 连接Doris
- 4.4 配置BE
- 4.5 启动BE
前言
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,本次基于开源的这个分布式数据库,我们开启体验之旅。1.Apache Doris介绍
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
官网地址:https://doris.apache.org/zh-CN/
2.Doris下载解压
Doris 运行在 Linux 环境中,推荐 CentOS 7.x 或者 Ubuntu 16.04 以上版本,
同时你需要安装 Java 运行环境(JDK版本要求为8),
要检查你所安装的 Java 版本,请运行以下命令:
##卸载自带的JDK
[root@doris ~]# rpm -qa|grep jdk
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
[root@doris ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[root@doris ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
[root@doris ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
[root@centos79 ~]# java -version
openjdk version “1.8.0_262”
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
接下来,下载 Doris 的最新二进制版本,本次我们安装的版本是2.0.2,
下载后上传服务器并解压。
[root@centos79 ~]# mkdir -p /doris/soft
[root@centos79 ~]# tar xf /opt/apache-doris-2.0.2-bin-x64.tar.gz -C /doris/soft
##关闭防火墙
[root@centos79 ~]# systemctl stop firewalld
[root@centos79 ~]# systemctl disable firewalld
##host配置
hostnamectl set-hostname doris
cat >> /etc/hosts <<“EOF”
192.168.6.30 doris
EOF
3.JDK环境
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序
1.下载Linux环境下的jdk1.8
https://www.oracle.com/java/technologies/downloads/#java8
2.JDK压缩包解压
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local
3.环境变量导入
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
##环境变量生效
source /etc/profile
##确认安装是否成功
[root@doris ~]# java -version
java version “1.8.0_391”
Java™ SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot™ 64-Bit Server VM (build 25.391-b13, mixed mode)
4.配置Doris
4.1 配置FE
进入到 apache-doris 解压后的fe进行配置
[root@centos79 ~]# cd /doris/soft/apache-doris-2.0.2-bin-x64/fe
修改 FE 配置文件 conf/fe.conf ,
这里我们主要修改两个参数:priority_networks 及 meta_dir
1)添加 priority_networks 参数
priority_networks=192.168.6.0/24
注意:
这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为 FE 指定唯一的IP地址。
这里假设你的节点 IP 是 192.168.6.30,那么我们可以通过掩码的方式配置为 192.168.6.0/24
2)添加元数据目录
meta_dir=/doris/soft/doris-meta
注意
这里你可以不配置,默认是在你的Doris FE 安装目录下的 doris-meta,
单独配置元数据目录,需要你提前创建好你指定的目录
mkdir -p /doris/soft/doris-meta
4.2 启动FE
在 FE 安装目录下执行下面的命令,来完成 FE 的启动
[root@centos79 ~]# cd /doris/soft/apache-doris-2.0.2-bin-x64/fe
[root@centos79 fe]# ./bin/start_fe.sh --daemon
##查看 FE 运行状态
你可以通过下面的命令来检查 Doris 是否启动成功
[root@centos79 ~]# curl http://127.0.0.1:8030/api/bootstrap
{“msg”:“success”,“code”:0,“data”:{“replayedJournalId”:0,“queryPort”:0,“rpcPort”:0,“version”:“”},“count”:0}
这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030),如果是你在 FE 节点执行,直接运行上面的命令即可。
如果返回结果中带有 “msg”:“success” 字样,则说明启动成功。
你也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
http://192.168.6.30:8030
可以看到下面的界面,说明 FE 启动成功
注意:
这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空
这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。
停止 FE 节点
Doris FE 的停止可以通过下面的命令完成
./bin/stop_fe.sh
4.3 连接Doris
我们下面通过 MySQL 客户端来连接 Doris FE
MySQL 客户端安装好后,在 bin/ 目录下可以找到 mysql 命令行工具。
然后执行下面的命令连接 Doris
mysql -uroot -P9030 -h127.0.0.1
注意:
这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户,具体的用户权限查看 权限管理
-P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的 query_port
-h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1。
执行下面的命令查看 FE 运行状态
show frontends\G;
然后你可以看到类似下面的结果:
mysql> show frontends\G;
*************************** 1. row ***************************
Name: fe_c4901139_bfd3_4af0_8a16_944ab2f09c9a
Host: 192.168.6.30
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
IsMaster: true
ClusterId: 1951620654
Join: true
Alive: true
ReplayedJournalId: 624
LastHeartbeat: 2023-10-29 09:10:53
IsHelper: true
ErrMsg:
Version: doris-2.0.2-rc05-ae923f7
CurrentConnected: Yes
1 row in set (0.09 sec)
ERROR:
No query specified
如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常
4.4 配置BE
1.配置文件 conf/be.conf
我们进入到 apache-doris-2.0.2-bin-x64/be 目录,修改 BE 配置文件 conf/be.conf
这里我们主要修改两个参数:priority_networks 及 storage_root
1)添加 priority_networks 参数
priority_networks=192.168.6.0/24
注意:
这个参数我们在安装的时候是必须要配置的,
特别是当一台机器拥有多个IP地址的时候,我们要为 BE 指定唯一的IP地址。
2)配置 BE 数据存储目录
storage_root_path=/doris/soft/data_dir
注意:
默认目录在 BE安装目录的 storage 目录下。
BE 配置的存储目录必须先创建好
[root@doris ~]# mkdir -p /doris/soft/data_dir
2.配置 JAVA_HOME 环境变量
由于从 1.2 版本开始支持 Java UDF 函数,BE 依赖于 Java 环境。
所以要预先配置 ‘JAVA_HOME’ 环境变量,也可以在 ‘start_be.sh’ 启动脚本第一行添加 ‘export JAVA_HOME=your_java_home_path’ 来添加环境变量。
vi /doris/soft/apache-doris-2.0.2-bin-x64/be/bin/start_be.sh
export JAVA_HOME=/usr/local/jdk1.8.0_391
4.5 启动BE
1.在 BE 安装目录下执行下面的命令,来完成 BE 的启动。
cd /doris/soft/apache-doris-2.0.2-bin-x64/be/
./bin/start_be.sh --daemon
2.添加 BE 节点到集群
通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
ALTER SYSTEM ADD BACKEND “be_host_ip:heartbeat_service_port”;
注意:
1)be_host_ip:这里是你 BE 的 IP 地址,和你在 be.conf 里的 priority_networks 匹配
2)heartbeat_service_port:这里是你 BE 的心跳上报端口,
和你在 be.conf 里的 heartbeat_service_port 匹配,默认是 9050。
[root@doris ~]# mysql -uroot -P9030 -h127.0.0.1
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.99 Doris version doris-2.0.2-rc05-ae923f7
Copyright © 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> ALTER SYSTEM ADD BACKEND “192.168.6.30:9050”;
Query OK, 0 rows affected (0.09 sec)
查看 BE 运行状态
你可以在 MySQL 命令行下执行下面的命令查看 BE 的运行状态。
mysql> SHOW BACKENDS\G
*************************** 1. row ***************************
BackendId: 12451
Host: 192.168.6.30
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2023-10-29 10:50:58
LastHeartbeat: 2023-10-29 12:01:48
Alive: true
SystemDecommissioned: false
TabletNum: 21
DataUsedCapacity: 0.000
TrashUsedCapcacity: 0.000
AvailCapacity: 47.193 GB
TotalCapacity: 62.986 GB
UsedPct: 25.07 %
MaxDiskUsedPct: 25.07 %
RemoteUsedCapacity: 0.000
Tag: {“location” : “default”}
ErrMsg:
Version: doris-2.0.2-rc05-ae923f7
Status: {“lastSuccessReportTabletsTime”:“2023-10-29 12:01:06”,“lastStreamLoadTime”:-1,“isQueryDisabled”:false,“isLoadDisabled”:false}
HeartbeatFailureCounter: 0
NodeRole: mix
1 row in set (0.01 sec)
注意:Alive : true表示节点运行正常
让我们一起开启分布式数据库Apache Doris的体验之旅吧