1.准备doris docker环境
- 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
- [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.
编译:
- [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
- 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.测试使用
- 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)