doris数据库的安装部署

一,编译文件的下载准备

  • 预编译文件下载 Palo文档PALO - 预编译版本下载 | Doris (baidu.com)
  • 先确认待安装的服务器的CPU是否支持avx2指令,这个过程所有服务器都需要确定。

0.14.13.1 及之后的版本需要运行环境的 CPU 支持 avx2 指令,你可以通过 cat /proc/cpuinfo 查看是否支持。如果不支持,请使用带 no-avx2 后缀的版本。avx2 指令会显著提升 bloomfilter 等数据结构的计算效率,从而影响索引过滤、runtime filter 等功能的效率。
使用以下命令查看:

[root@DORIS-FE-PRD01 ~]# cat /proc/cpuinfo 
image.png
  • 根据服务器是否试支持avx2选择对应的版本下载


    image.png
  • 下载完后得到PALO-0.15.1-rc09-binary.tar.gz,上传至服务器
  • 上传完成后使用解压命令 tar zxvf 解压得到PALO-0.15.1-rc09-binary目录,目录结构如下,主要关注be和fe目录。
tar zxvf  文件夹名称

二,FE的配置启动

  • 进入fe/conf, vim be.conf 编辑配置文件 关键的几个配置如下
    • meta_dir 属性默认配置为 ${DORIS_HOME}/doris-meta,
    • 其中 ${DORIS_HOME}为当前的fe的文件夹路径 属性值需要提前创建文件夹路径
  • 使用默认地址的话 提前在fe中创建doris-meta文件夹
# meta_dir = ${DORIS_HOME}/doris-meta
  • 启动FE
# 进入 fe的bin目录
[root@DORIS-FE-PRD01 bin]# cd /home/doris/fe/bin
# 运行启动脚本
[root@DORIS-FE-PRD01 bin]# sh start_fe.sh --daemon
# 进入 conf目录
[root@DORIS-FE-PRD01 bin]# cd ../log
# 查看启动日志
[root@DORIS-FE-PRD01 bin]# tail -f  fe.out
# FE的关闭命令
[root@DORIS-FE-PRD01 bin]# sh stop_fe.sh --daemon
  • 需要 外网连接的话 开放外网端口 9050
  • 使用装有mysql的服务器 测试连接数据库 mysql -h 本机的ip -P 9030 -uroot
  • Doris 默认初始启动没有密码
[root@DORIS-FE-PRD01 bin]#  mysql -h 本机的ip -P 9030 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5781
Server version: 5.1.0 Doris version 0.15.1-rc09-Unknown

Copyright (c) 2000, 2021, 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> 

三,BE的配置启动

  • 把be文件夹 复制到子节点服务器
  • 修改conf/be.conf
  • 关键性配置 storage_root_path 数据存放目录 默认为 ${DORIS_HOME}/storage
  • 使用默认配置需要提前在be文件夹下创建storage 目录

主要是配置 storage_root_path:数据存放目录。默认在be/storage下,需要手动创建该目录。多个路径之间使用英文状态的分号 ; 分隔(最后一个目录后不要加 ;)。可以通过路径区别存储目录的介质,HDD或SSD。可以添加容量限制在每个路径的末尾,通过英文状态逗号,隔开。

  • 示例1如下:

注意:如果是SSD磁盘要在目录后面加上.SSD,HDD磁盘在目录后面加.HDD

storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk2/doris
  • 启动关闭BE节点
进入be目录
[root@DORIS-BE-PRD01 conf]# cd /home/doris/be/bin
运行启动脚本
[root@DORIS-BE-PRD01 bin]# sh start_be.sh --daemon
日志同样在log目录下 自行查看
运行暂停脚本
[root@DORIS-BE-PRD01 bin]# sh stop_be.sh --daemon

四,Be接入Fe

  • 使用mysql 登入Fe
  • 使用如下命令 添加Be节点
# ALTER SYSTEM ADD BACKEND "Be的主机Ip:端口"; 
端口默认为 9050 
ALTER SYSTEM ADD BACKEND "192.168.16.66:9050";
  • 添加完后,通过show proc '/backends';查看be节点的状态,主要关注alive节点存活状态 是否正常。
mysql> show proc '/backends';
+-----------+-----------------+---------------+-----------------------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------------------------+--------+---------------------+--------------------------------------------------------------------------------+
| BackendId | Cluster         | IP            | HostName                    | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime       | LastHeartbeat       | Alive | SystemDecommissioned | ClusterDecommissioned | TabletNum | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | Tag                      | ErrMsg | Version             | Status                                                                         |
+-----------+-----------------+---------------+-----------------------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------------------------+--------+---------------------+--------------------------------------------------------------------------------+
| 10009     | default_cluster | 192.168.16.66 | doris-be-prd01.aimatech.com | 9050          | 9060   | 8040     | 8060     | 2022-02-19 10:50:31 | 2022-02-21 11:21:11 | true  | false                | false                 | 68        | 2.802 GB         | 2.615 TB      | 2.619 TB      | 0.14 %  | 0.42 %         | {"location" : "default"} |        | 0.15.1-rc09-Unknown | {"lastSuccessReportTabletsTime":"2022-02-21 11:20:46","lastStreamLoadTime":-1} |

+-----------+-----------------+---------------+-----------------------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------------------------+--------+---------------------+--------------------------------------------------------------------------------+
1 rows in set (0.02 sec)

五,Brock插件的配置启动

六,配置注意事项

1, Fe和Be 接入通讯失败 live一直为false
  • 查看BE的绑定IP
  • Be的话 查看 log下的be.INFO文件,查找 local host ip=
  I0408 18:30:13.311982 759996 daemon.cpp:269] Disk Info: 
   Num disks 3: vda, vdb, vdc
 I0408 18:30:13.312005 759996 daemon.cpp:270] Mem Info: 
 15.51 GB
 CGroup Info: Process CGroup Info: 
 memory.limit_in_bytes=9223372036854771712, cpu cfs limits: 
 unlimited
 I0408 18:30:13.313442 759996 backend_options.cpp:88] priority 
 cidrs in conf: 192.168.80.90/24
 I0408 18:30:13.313583 759996 backend_options.cpp:76] local host  ip=192.168.80.23
  I0408 18:30:13.314463 759996 storage_engine.cpp:101] starting 
  backend using uid:c841ea9c2a6e772f-952be54ac80c3988

FE接入BE的时候 使用的IP为 上边查看出来的绑定IP 端口默认为9050

  • 设置Fe的登入密码
    • 登入 Fe 执行 修改账号密码的sql即可 sql如下:
        SET PASSWORD FOR 'root' = PASSWORD('your_password');
    
2, 物理删除Be节点 (对Be缩容)
  • show proc '/backends';查看be节点的状态
  • 执行 如下两个命令即可
        ALTER SYSTEM DROP BACKEND 
        "be_host:be_heartbeat_service_port";
    
        ALTER SYSTEM DROPP BACKEND 
         "be_host:be_heartbeat_service_port";
    
3, BE节点的重新启动
  • 一定要先关闭BE节点 然后等待二到三分钟 等待端口占用关掉 ,然后再去查看端口占用情况,
[root@localhost conf]# netstat -anp | grep  8040 

tcp        0      0 0.0.0.0:8040            0.0.0.0:*               LISTEN      823334/palo_be 
  • 如果端口占用还未被释放 就手动释放端口 关闭线程
  • BE启动报错 Address already in use
Check failed: s.ok() Internal error: tcp listen failed, errno=98, errmsg=Address already in use
 - 这个就是端口占用  启动失败 可以查看端口的使用情况  或者更改配置 更换端口
4, 初次启动bin/start_be.sh --daemon时,启动不了,出现以下问题
- 原因是文件最大句柄数太小。 只需要修改文件最大句柄大小即可
5,Fe绑定ip 默认都去绑定内网的ip 一定要配置这个属性哦 如下: 24 跟32 不要改 结尾的0 不要变动 前三位根据实际的网络Ip地址前缀来
image.png

七,日常操作命令

  • 创建用户
CREATE USER 'test' IDENTIFIED BY 'test_passwd';
  • 创建数据库
CREATE DATABASE example_db;
  • 查看数据库
SHOW DATABASES;
  • 账户授权
GRANT ALL ON example_db TO test;
  • 查看表
 SHOW TABLES;
  • 单分区 建表语句
CREATE TABLE table1
(
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(siteid, citycode, username)
DISTRIBUTED BY HASH(siteid) BUCKETS 10
PROPERTIES("replication_num" = "1");
  • 复合分区建表语句
CREATE TABLE table2
(
   event_day DATE,
   siteid INT DEFAULT '10',
   citycode SMALLINT,
   username VARCHAR(32) DEFAULT '',
   pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, siteid, citycode, username)
PARTITION BY RANGE(event_day)
(
   PARTITION p201706 VALUES LESS THAN ('2017-07-01'),
   PARTITION p201707 VALUES LESS THAN ('2017-08-01'),
   PARTITION p201708 VALUES LESS THAN ('2017-09-01')
)
DISTRIBUTED BY HASH(siteid) BUCKETS 10
PROPERTIES("replication_num" = "1");

文献参考:
Apache Doris
Doris集群安装部署

你可能感兴趣的:(doris数据库的安装部署)