---
url: /doris/single-doris.md
description: 十分钟完成Doris单机部署
---

# 单机部署Doris

事情是这样的，当我写了一篇《五分钟部署Doris的极简部署流程》后，有很多同学向我反馈说Docker无法访问。怎么说呢，这是一个无法言说的事实（科学上网可以减少信息差）。但是对于同学们无限的求知欲，怎么可以让一个小小的Docker给难倒呢。

本文将给大家介绍不依赖Docker，如何单机完成部署Doris。

## 环境准备

由于是单机部署，大家的开发环境可能就会更复杂多样。如果在部署过程中遇到问题，还需要静下心来慢慢尝试解决。

* 系统

同学们可以选择一个X86-64 上的主流 Linux 环境，推荐 CentOS 7.1 或者 Ubuntu 16.04 以上版本。

我的开发设备是Windows系统，需要用到Linux环境，我则使用了Windows的子系统（WSL2）。建议所有使用Windows的同学都熟练掌握使用WSL的方法，掌握后，你会发现好像打开了另外一个奇妙的世界。

如何启用WSL同学们可以自动搜索解决。

使用CMD进入WSL环境：

![](/img/4884f4d2-0a23-48b7-9498-b2f651073c04.png)

同学们可以看到，我使用的是`Ubuntu 20.04.6 LTS`。

* Java

Doris需要Java运行环境，使用以下命令验证是否安装Java:

```sh
java -version
```

![](/img/1e5f0ac9-e56c-443e-9a23-f5a9a2549d7a.png)

如果还没有安装Java，可以选择对应的系统进行安装

![](/img/2b32b27e-cdd0-4519-940d-5d744b04fa9d.png)

关注：遇码，回复**java**，获取java下载地址。

## Doris准备

下载Doris安装包

```sh
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.3-bin-x64.tar.gz
```

![](/img/a928c4ce-b615-4dad-85cd-633f577b714e.png)

解压安装包

```sh
tar zxf apache-doris-2.0.3-bin-x64.tar.gz
```

![](/img/7e66da49-f9c3-4ff6-b232-a9e8f0e584a3.png)

为了便于使用，也为了便于讲解，把解压后的目录重命名

```sh
mv apache-doris-2.0.3-bin-x64 apache-doris
```

![](/img/42840961-73be-4e76-9178-a0b6769b7b6f.png)

## 安装Doris

能做到这里的同学真的已经很棒了，你已经成功了一大半了，再接再厉吧。

再重复一遍Doris的整体架构
![](/img/908a44f2-e69f-4715-b50d-a10ad1c97ffd.png)
Doris只有两类进程：

* Frontend（FE）

主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。

* Backend（BE）

主要负责数据存储、查询计划的执行。

接下来我们要做的事情就是分别对FE和BE进行配置并启动。

不管是配置FE还是配置BE，我们需要做的事情都非常简单，就是在FE和BE的配置文件中添加JAVA\_HOME，用来告诉Doris你的Java环境的路径在哪里。

###### 获取JAVA\_HOME

获取JAVA\_HOME的路径（安装Java的时候都会让配置，没有配置的话直接用Java的安装路径也可以）

```sh
echo $JAVA_HOME
```

![](/img/0d84520c-d013-4095-a16c-a05f95a4ab2e.png)

可以复制该路径，后面会用到。

###### 配置FE

FE的配置文件的路径为`apache-doris/fe/conf/fe.conf`，使用vim编辑配置文件

```sh
vim apache-doris/fe/conf/fe.conf
```

![](/img/05d54a3b-f3b9-41fa-8054-3e65b38c6dc3.png)

在配置文件中添加`JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre`配置，其它配置项可以暂时忽略。

![](/img/f1c143e8-3f27-4787-bb9f-4451c50ec036.png)

###### 配置BE

BE的配置文件的路径为`apache-doris/be/conf/be.conf`，使用vim编辑配置文件

```sh
vim apache-doris/be/conf/be.conf
```

![](/img/88aad4bf-5eb6-4a17-a635-cf2ee2544854.png)

在配置文件中添加`JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre`配置，其它配置项可以暂时忽略。

![](/img/f98bf6db-be7f-4048-a924-1ba84f232aaa.png)

## 启动Doris

分别启动FE和BE。

需要注意，当前进入`apache-doris`目录下。

###### 启动FE

```sh
./fe/bin/start_fe.sh --daemon
```

![](/img/c7b93d47-3191-4b2e-bf38-2a8d2eb3cd15.png)

如果不出意外的话，FE就已经正常启动了。但是意外又总是与我们相伴，给我们开着各种各样的玩笑。

如果同学和我一样，遇到了以下类似的错误，不要慌张，你只需要按照提示执行命令即可解决。

![](/img/b37a9819-7c93-4a03-bc05-d2436ee03b61.png)

###### 启动BE

```sh
./be/bin/start_be.sh --daemon
```

![](/img/a9076954-2fab-40fb-ba93-a6b6e2a5f8d5.png)

同样地，启动BE也可能会出现一些错误。还是按照提供执行命令即可解决。

![](/img/2c81ba73-2d7f-4a55-aa80-c6def801bae3.png)

至此，Doris就算已经部署完成了，接下来我们需要使用Doris了。

## 使用Doris

我们使用Mysql客户端连接Doris FE，没有安装Mysql客户端的需要自行搜索解决。

```sh
mysql -u root -P 9030 -h 127.0.0.1
```

![](/img/8effef80-5dd7-4bd3-abbe-5afd29e95d55.png)

* root 用户是 Doris 内置的超级管理员用户
* -P：这里是我们连接 Doris 的查询端口，默认端口是 9030，对应的是 fe.conf 里的 query\_port
* -h：这里是我们连接的 FE IP 地址，如果你的客户端和 FE 安装在同一个节点可以使用 127.0.0.1。

把BE节点添加到集群

```
# ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
ALTER SYSTEM ADD BACKEND "127.0.0.1:9050";
```

![](/img/789d4a0b-e0b0-43dd-926a-93ff539624ca.png)

* be\_host\_ip：要添加 BE 的 IP 地址
* heartbeat\_service\_port：要添加 BE 的心跳上报端口，可以查看 be.conf 里的 heartbeat\_service\_port，默认是 9050。

修改`root`和`admin`的密码为`123456`（可以是任意密码）

```sh
SET PASSWORD FOR 'root' = PASSWORD('123456');

SET PASSWORD FOR 'admin' = PASSWORD('123456');  
```

![](/img/9b6abe50-ebcf-4320-8895-be0cf9b56bac.png)

## 验证

访问Doris Web UI`http://127.0.0.1:8030/`，使用用户名`admin`，密码`123456`登录。

![](/img/74ae096a-225c-44be-b9c3-27cb0c1a0f88.png)

![](/img/cbf49a63-52a9-4570-8acd-0c32f246c590.png)

至此，我们就可以愉快地把玩Doris了。

## 停止Doris

如果需要的话，也可以用以下命令停止Doris。

停止FE

```sh
./fe/bin/stop_fe.sh
```

![](/img/ab49cb10-35f1-40f3-bb26-f897b2b12050.png)

停止BE

```sh
./be/bin/stop_be.sh
```

![](/img/60146a29-2056-42db-9e46-175d070e4b46.png)

## 进阶

到现在，已经为大家介绍了两种快速体验Doris的部署方式，同学们可以根据自身的情况选择适合自己的部署方式。之所以花这么多时间讲解Doris的部署，就是不想同学们卡在第一步就放弃对Doris的学习了。

接下来同学们就可以安心学习Doris的具体内容啦。你可以关注：遇码，回复**doris**，获取Doris官方文档。
