文章
问答
冒泡
doris 二进制部署

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库。这里我们搭建一个开发环境用的doris数据库。
1. 下载二进制文件
https://doris.apache.org/zh-CN/download
有以下3个文件

  • apache-doris-fe-1.2.2-bin-x86_64.tar.xz
  • apache-doris-be-1.2.2-bin-x86_64.tar.xz
  • apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz

2. 解压文件
安装xz 解压工具

apt-get install xz-utils
xz -d xxx.tar.xz 
tar -vxf xxx.tar


将apache-doris-dependencies-1.2.2-bin-x86_64.tar.xz中的 java-udf-jar-with-dependencies.jar 放到 be/lib 目录下

3. 环境变量
如果没有java环境,需要安装。配置JAVA_HOME,否则BE启动不了,在/etc/profile.d 下创建 cus.sh 

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$PATH:$JAVA_HOME/bin

4. 配置Fe

priority_networks = 192.168.0.0/24


5. 启动Fe

./bin/start_fe.sh --daemon


启动之后,需要通过mysqlclient 去操作,我这个windows本地无法安装mysqlclient,所以直接起了个mysql docker容器。

sh-4.4# mysql -uroot -P 9030 -h127.0.0.1
mysql> show frontends\G;
*************************** 1. row ***************************
             Name: 192.168.0.82_9010_1676970986009
               IP: 192.168.0.82
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 940981989
             Join: true
            Alive: true
ReplayedJournalId: 17790
    LastHeartbeat: 2023-02-22 09:44:50
         IsHelper: true
           ErrMsg: 
          Version: doris-1.2.2-rc01-Unknown
 CurrentConnected: Yes
1 row in set (0.04 sec)

ERROR: 
No query specified

6.配置Be
修改be 下 conf/be.conf 文件

priority_networks = 192.168.0.0/24


7.启动Be

./bin/start_be.sh --daemon

8.讲Be添加到集群中
通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中

ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";


be_host_ip:这里是你 BE 的 IP 地址,和你在 be.conf 里的 priority_networks 匹配
heartbeat_service_port:这里是你 BE 的心跳上报端口,和你在 be.conf 里的 heartbeat_service_port 匹配,默认是 9050。

我这边执行的是

ALTER SYSTEM ADD BACKEND "192.168.0.82:9050";
mysql> show BACKENDS\G;


*************************** 1. row ***************************
              BackendId: 10003
                Cluster: default_cluster
                     IP: 192.168.0.82
          HeartbeatPort: 9050
                 BePort: 9060
               HttpPort: 8040
               BrpcPort: 8060
          LastStartTime: 2023-02-22 10:04:23
          LastHeartbeat: 2023-02-22 10:04:51
                  Alive: true
   SystemDecommissioned: false
  ClusterDecommissioned: false
              TabletNum: 0
       DataUsedCapacity: 0.000 
          AvailCapacity: 59.535 GB
          TotalCapacity: 78.439 GB
                UsedPct: 24.10 %
         MaxDiskUsedPct: 24.10 %
     RemoteUsedCapacity: 0.000 
                    Tag: {"location" : "default"}
                 ErrMsg: 
                Version: doris-1.2.2-rc01-Unknown
                 Status: {"lastSuccessReportTabletsTime":"2023-02-22 10:04:30","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0
               NodeRole: mix
1 row in set (0.09 sec)

ERROR: 
No query specified

10.测试操作

mysql> create database doris_demo;
Query OK, 0 rows affected (0.04 sec)

mysql> show databases;


+--------------------+
| Database           |
+--------------------+
| doris_demo         |
| information_schema |
+--------------------+
2 rows in set (0.11 sec)


mysql> CREATE TABLE IF NOT EXISTS doris_demo.example_tbl
    -> (
    ->     `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"
    -> );
Query OK, 0 rows affected (0.13 sec)


mysql> show tables;
+----------------------+
| Tables_in_doris_demo |
+----------------------+
| example_tbl          |
+----------------------+
1 row in set (0.02 sec)

至此,doris 部署完成。

doris

关于作者

落雁沙
非典型码农
获得点赞
文章被阅读