https://doris.apache.org/docs/dev/install/source-install/compilation
该文档和列表一直在更新注意对应的版本,不然编译会失败
trunk对应的master版本, 0.14.x以后image版本和release版本后缀对应
1. docker pull apache/doris:build-env-ldb-toolchain-latest(包含了maven,gcc等环境)
2. 下载源码:我们这里下载doris-master.zip: https://codeload.github.com/apache/doris/zip/refs/he ads/master
3. 挂载目录:docker run -it --name doris-build-latest -v /root/.m2:/root/.m2 -v /root/doris/:/root/doris/ apache/doris:build-env-ldb-toolchain-latest
4. 编译源码:sh build.sh
5. 中途可能会编译失败,大概率是没下载下来依赖或者源码和docker版本没对应上,依赖没下载下来,继续运行命 令sh build.sh编译
6. 编译成功
7. 部署fe
a. 复制output下的be、fe到我们的安装目录
b. mkdir /data/doris
c. cd /data/doris
d. cp -r ~/doris/doris-master/output/be ./
e. cp -r ~/doris/doris-master/output/fe ./
f. mkdir doris-meta (存放fe元数据)
g. mkdir storage(存放be数据)
h. 修改配置文件:./fe/conf/fe.conf:
i. meta_dir = /data/doris/doris-meta
ii. priority_networks = 192.168.12.77/24
i. 修改配置文件./fe/bin/start_fe.sh、 ./fe/bin/stop_fe.sh:
i. # 在最开始一行添加一下JAVA_HOME
ii. export JAVA_HOME=/usr/local/java
j. 启动: ./fe/bin/start_fe.sh --daemon
8. 部署be
a. 修改配置文件: ./be/conf/be.conf
i. storage_root_path = /data/doris/storage
i. priority_networks = 192.168.12.77/24
b. 修改配置文件: ./be/bin/start_be.sh、 ./be/bin/stop_be.sh:
i. # 在最开始一行添加一下JAVA_HOME
ii. export JAVA_HOME=/usr/local/java
c. 链接fe
i. mysql -h 192.168.12.77 -P 9030 -uroot -
ii. 刚开始没密码,设置密码
iii. SET PASSWORD FOR 'root' = PASSWORD('123456');
d. 添加be
i. ALTER SYSTEM ADD BACKEND "192.168.12.77:9050"
e. 启动: ./be/bin/start_be.sh --daemon
9. 目录
1 [root@szst-test-nwsd-ai doris]# ll
2 total 0
3 drwxr-xr-x 10 root root 147 Mar 5 21:28 be
4 -rw-r--r-- 1 root root 0 Mar 5 22:40 derby.log
5 drwxr-xr-x 4 root root 30 Mar 5 21:55 doris-meta
6 drwxr-xr-x 12 root root 190 Mar 5 21:55 fe
7 drwxr-xr-x 9 root root 134 Mar 5 22:40 storage
1 [root@szst-test-nwsd-ai doris]# ll |
2 total 0 |
3 drwxr-xr-x 10 root root 147 Mar 5 21:28 be |
4 -rw-r--r-- 1 root root 0 Mar 5 22:40 derby.log |
5 drwxr-xr-x 4 root root 30 Mar 5 21:55 doris-meta |
6 drwxr-xr-x 12 root root 190 Mar 5 21:55 fe |
10. 登录mysql客户端查看节点信息
a. SHOW proc "/frontends"
b. SHOW proc "/backends"
11. 创建表时记得指定副本为1(因为我们这里只部署了一个节点)
12. 进程服务查看如下:
13. 附录:
启动fe之后的日志
2023-03-05 22:08:27,597 WARN (Thread-52|96) [InternalSchemaInitializer.run():75] Statistics storage
initiated failed, will try again later
org.apache.doris.common.DdlException: errCode = 2, detailMessage = Cluster default_cluster has no
available capacity
添加be之后的日志
2023-03-05 22:15:38,255 WARN (heartbeat mgr|25) [HeartbeatMgr.runAfterCatalogReady():139] get
bad heartbeat response: type: BACKEND, status: BAD, msg: java.net.ConnectException: Connection
refused (Connection refused), beId: 10244, beHost: 192.168.12.77, bePort: 0, httpPort: 0, brpcPort: 0
启动后正常
be启动问题:
1. Please set vm.max_map_count to be 2000000 under root using 'sysctl -w
vm.max_map_count=2000000'.配置即可。
2. Failed to find the library libjvm.so,jdk指定有问题:export JAVA_HOME=XXX(必须加export)
be启动问题:
1. Please set vm.max_map_count to be 2000000 under root using 'sysctl -w
vm.max_map_count=2000000'.配置即可。
2. Failed to find the library libjvm.so,jdk指定有问题:export JAVA_HOME=XXX(必须加export)