1.准备doris docker环境
bash
xiuchenggong@xiuchengdeMacBook-Pro bin % docker pull apache/doris:build-env-ldb-toolchain-latest
build-env-ldb-toolchain-latest: Pulling from apache/doris
eeedae70be19: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:63d9a990012b4228bd8bac3915787747330f9537f15f9d94355be8ebd7775685
Status: Downloaded newer image for apache/doris:build-env-ldb-toolchain-latest
docker.io/apache/doris:build-env-ldb-toolchain-latest
2.下载doris source code,编译doris
bash
[root@8a4a2a64238e ~]# git clone https://github.com/apache/doris.git
Cloning into 'doris'...
remote: Enumerating objects: 377474, done.
remote: Counting objects: 100% (34718/34718), done.
remote: Compressing objects: 100% (2653/2653), done.
remote: Total 377474 (delta 33092), reused 32787 (delta 31941), pack-reused 342756
Receiving objects: 100% (377474/377474), 520.47 MiB | 4.88 MiB/s, done.
Resolving deltas: 100% (255474/255474), done.
Checking out files: 100% (17810/17810), done.
编译:
bash
[root@8a4a2a64238e doris]# sh build.sh
Python 2.7.5
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/share/maven
Java version: 1.8.0_382, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "5.15.49-linuxkit-pr", arch: "amd64", family: "unix"
cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
ninja 1.8.2
ccache version 4.8
Update apache-orc submodule ...
Submodule 'be/src/apache-orc' (https://github.com/apache/doris-thirdparty.git) registered for path 'be/src/apache-orc'
Cloning into 'be/src/apache-orc'...
remote: Enumerating objects: 24356, done.
经常编译到一半失败,一直不通过,后来采取分开编译,一些不需要模块就不编译了;
sh build.sh --fe
sh build.sh --be
3.启动doris
bash
MySQL [(none)]> alter system add backend "172.17.0.4:9050";
Query OK, 0 rows affected (0.78 sec)
MySQL [(none)]> show backends\G;
*************************** 1. row ***************************
BackendId: 10280
Host: 172.17.0.4
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2023-09-06 23:20:30
LastHeartbeat: 2023-09-06 23:20:36
Alive: true
SystemDecommissioned: false
TabletNum: 14
DataUsedCapacity: 0.000
TrashUsedCapcacity: 0.000
AvailCapacity: 10.388 GB
TotalCapacity: 58.367 GB
UsedPct: 82.20 %
MaxDiskUsedPct: 82.20 %
RemoteUsedCapacity: 0.000
Tag: {"location" : "default"}
ErrMsg:
Version: doris-0.0.0-trunk-1bdb0c1
Status: {"lastSuccessReportTabletsTime":"2023-09-06 23:20:34","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0
NodeRole: mix
1 row in set (0.02 sec)
4.测试使用
bash
MySQL [(none)]> create database test_db;
Query OK, 0 rows affected (0.04 sec)
MySQL [(none)]> use test_db;
Database changed
MySQL [test_db]> show tables;
Empty set (0.00 sec)
MySQL [test_db]> create table test(id int,name string) distributed by hash(id) properties("replication_num"="1");
Query OK, 0 rows affected (0.10 sec)
MySQL [test_db]> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| test |
+-------------------+
1 row in set (0.01 sec)
MySQL [test_db]> insert into test values(1,"gong");
Query OK, 1 row affected (0.46 sec)
{'label':'insert_3dfc93601c2e4e05_b72c1ada84fbb226', 'status':'VISIBLE', 'txnId':'2'}
MySQL [test_db]> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | gong |
+------+------+
1 row in set (0.52 sec)
MySQL [test_db]> select version();
+----------+
| '5.7.99' |
+----------+
| 5.7.99 |
+----------+
1 row in set (0.02 sec)