1.概述

doris 是 百度提供一个MPP架构的分析性数据库。
下面介绍一下如何安装doris .

2.下载

我用的是centos 7.5 的虚拟器。
https://doris.apache.org/zh-CN/download

我们可以看到:
image

这里有 avx2 和 no avx2,AVX2(Advanced Vector Extensions 2)是一种在现代CPU中使用的高级向量扩展指令集。

如何查看机器是否支持 AVX2?

$ cat /proc/cpuinfo | grep avx2

发现我的虚拟机不支持 avx2 指令,因此我下载 不支持 avx2 的版本,在这里我折腾了很久。

wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.7-bin-x64-noavx2.tar.gz

tar zvf apache-doris-2.1.7-bin-x64-noavx2.tar.gz

mv apache-doris-2.1.7-bin-x64-noavx2 apache-doris

3.安装JDK8

可以参考
https://www.cnblogs.com/yg_zhang/p/10190948.html

jdk 的安装路径为 /home/jdk/jdk8

4.安装DORIS

配置 FE,配置文件在 vi ./fe/conf/fe.conf
我们在 fe.conf 增加 JAVA_HOME的配置
比如
JAVA_HOME=/home/jdk/jdk8

配置BE ,配置文件在 vi ./be/conf/be.conf
我们在 be.conf 增加 JAVA_HOME的配置
比如
JAVA_HOME=/home/jdk/jdk8

启动 FE
cd fe 目录,执行命令
./bin/start_fe.sh --daemon
启动BE
cd be 目录
./bin/start_be.sh --daemon

5.连接 Apache Doris FE

我们可以下载 免安装的MYSQL
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
解压后执行命令
image

进入到 mysql的 bin目录执行
./mysql -uroot -P9030 -h127.0.0.1

image

其中 9030 是FE的 端口

6. 将 BE 节点添加到集群

在 MySQL 客户端执行类似下面的 SQL,将 BE 添加到集群中

ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
ALTER SYSTEM ADD BACKEND "localhost:9050";

其中:
be_host_ip:
be_host_ip:要添加 BE 的 IP 地址
heartbeat_service_port:
要添加 BE 的心跳上报端口,可以查看 be.conf 里的 heartbeat_service_port,默认是 9050。

添加后,我们可以执行

通过 show backends 语句可以查看新添加的 BE 节点

image

7. 修改 Root 用户和 Admin 用户的密码

在 MySQL 客户端,执行类似下面的 SQL,为 Root 用户和 Admin 用户设置新密码

 SET PASSWORD FOR 'root' = PASSWORD('root'); 
 SET PASSWORD FOR 'admin' = PASSWORD('admin'); 

Root 用户和 Admin 用户的区别

Root 用户和 Admin 用户都属于 Apache Doris 安装完默认存在的 2 个账户。其中 Root 用户拥有整个集群的超级权限,可以对集群完成各种管理操作,比如添加节点,去除节点。Admin 用户没有管理权限,是集群中的 Superuser,拥有除集群管理相关以外的所有权限。建议只有在需要对集群进行运维管理超级权限时才使用 Root 权限。

8.建库建表

连接 Apache Doris
使用 Admin 账户连接 Apache Doris FE。
mysql -uadmin -P9030 -h127.0.0.1

如果是在 FE 的同一台机器上的 MySQL 客户端连接 127.0.0.1, 不需要输入密码。

创建数据库和数据表

create database demo;

use demo; 
create table mytable
(
    k1 TINYINT,
    k2 DECIMAL(10, 2) DEFAULT "10.05",    
    k3 CHAR(10) COMMENT "string column",    
    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
) 
COMMENT "my first table"
DISTRIBUTED BY HASH(k1) BUCKETS 1
PROPERTIES ('replication_num' = '1');

导入数据

将以下示例数据,保存在本地的 data.csv:

1,0.14,a1,20
2,1.04,b2,21
3,3.14,c3,22
4,4.35,d4,23

通过 Stream Load 方式将上面保存到文件中的数据导入到刚才创建的表里。

curl --location-trusted -u admin:admin_password -T data.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/mytable/_stream_load

  • -T data.csv : 要导入的数据文件名

  • -u admin:admin_password : Admin 账户与密码

  • 127.0.0.1:8030 : 分别是 FE 的 IP 和 http_port

执行成功之后我们可以看到下面的返回信息:

{
    "TxnId": 3,
    "Label": "2e3c0e3c-72d8-4403-8e00-80aef61e6c9d",
    "Comment": "",
    "TwoPhaseCommit": "false",
    "Status": "Success",
    "Message": "OK",
    "NumberTotalRows": 4,
    "NumberLoadedRows": 4,
    "NumberFilteredRows": 0,
    "NumberUnselectedRows": 0,
    "LoadBytes": 52,
    "LoadTimeMs": 977,
    "BeginTxnTimeMs": 421,
    "StreamLoadPutTimeMs": 319,
    "ReadDataTimeMs": 0,
    "WriteDataTimeMs": 111,
    "ReceiveDataTimeMs": 791,
    "CommitAndPublishTimeMs": 122
}

NumberLoadedRows: 表示已经导入的数据记录数

NumberTotalRows: 表示要导入的总数据量

Status: Success 表示导入成功

  • 查询数据

在 MySQL 客户端中,执行如下 SQL,可以查询到刚才导入的数据:

image

9.停止服务:

在 apache-doris/fe 下,运行下面命令停止 FE。

./bin/stop_fe.sh

在 apache-doris/be 下,运行下面命令停止 BE。

./bin/stop_be.sh

10.通过WEB端访问

我们可以通过 http://192.168.1.14:8030/ 访问。
需要登录,我们可以输入 管理员的账号和密码。

posted on 2024-11-17 15:06  自由港  阅读(63)  评论(0编辑  收藏  举报