一、概述
Doris安装方法有很多种,这里主要介绍Docker中使用容器的方法来部署,用于学习和测试,生产环境不建议使用Docker方法部署。
二、安装部署Docker
1、卸载旧版本
[root@node1 tmp]# yum remove docker docker-client docker-client-latest docker- common docker-latest docker-latest-logrotate docker-logrotate docker-sqlinux docker-engine-selinux docker-engine docker-ce -y
2、安装依赖的软件包
[root@node1 tmp]# yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置docker镜像源
[root@node1 tmp]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、查看配置是否成功
[root@node1 tmp]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ll

5、更新yum软件包索引
[root@node1 yum.repos.d]# yum makecache fast
6、安装docker
[root@node1 yum.repos.d]# yum install -y docker-ce
注意:
docker-ce为社区免费版
7、启动docker并加入开机启动
[root@node1 yum.repos.d]# systemctl start docker --启动
[root@node1 yum.repos.d]# systemctl enable docker --添加开机启动
8、验证安装是否成功
查看docker版本(有client和service两部分表示docker安装启动都成功了)
[root@node1 yum.repos.d]# docker version
三、安装部署Doris
1、修改内核参数
[root@node1 ~]# vi /etc/sysctl.conf
添加
fs.file-max = 6553560
vm.max_map_count = 2000000
[root@node1 ~]# sysctl -p ---执行生效
2、关闭交换分区
[root@node1 ~]# swapoff -a --关闭交换分区
3、修改limits文件
[root@node1 ~]# vi /etc/security/limits.conf
- soft nofile 65536
- hard nofile 65536
- soft nproc 65536
- hard nproc 65536
4、下载Docker镜像
[root@node1 tmp]# docker pull apache/doris:build-env-ldb-toolchain-latest
[root@node1 tmp]# docker images

注1:针对不同的 Doris 版本,需要下载对应的镜像版本。从 Apache Doris 0.15 版本起,后续镜像版本号将与 Doris 版本号统一。比如可以使用 apache/doris:build-env-for-0.15.0 来编译 0.15.0 版本。
注2:apache/doris:build-env-ldb-toolchain-latest 用于编译最新主干版本代码,会随主干版本不断更新。可以查看 docker/README.md 中的更新时间。
5、下载Doris安装包
[root@node1 tmp]# wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz
6、启动镜像环境
[root@node1 tmp]# docker run -d -it --name=doris -p 9030:9030 -p 8030:8030 apache/doris:build-env-ldb-toolchain-latest /bin/bash
7、复制安装包
[root@node1 tmp]# docker cp apache-doris-2.0.0-bin-x64.tar.gz doris:/tmp
8、进入Doris容器中,创建Doris安装目录,并解压安装包
[root@node1 tmp]# docker exec -it doris bash
[root@5a686dc96b46 ~]# mkdir -p /data/doris
[root@5a686dc96b46 ~]# tar xf /tmp/apache-doris-2.0.0-bin-x64.tar.gz -C /data/doris/
9、配置并启动FE
[root@5a686dc96b46 ~]# hostname -i --查看容器的IP地址
[root@5a686dc96b46 ~]# vi /data/doris/apache-doris-2.0.0-bin-x64/fe/conf/fe.conf
priority_networks = 172.17.0.2/24;192.168.12.0/24
[root@5a686dc96b46 ~]# sh /data/doris/apache-doris-2.0.0-bin-x64/fe/bin/start_fe.sh --daemon
[root@5a686dc96b46 ~]# jps --检查是否有DorisFE的进程
[root@5a686dc96b46 ~]# curl http://127.0.0.1:8030/api/bootstrap --验证能否正常访问,出现"msg":"success"表示启动正常
注意:
使用外部浏览器访问验证时需要使用服务器本机的IP地址:8030进行访问
10、配置并启动BE
[root@5a686dc96b46 ~]# vi /data/doris/apache-doris-2.0.0-bin-x64/be/conf/be.conf
priority_networks = 172.17.0.2/24;192.168.12.100/24
[root@5a686dc96b46 ~]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/start_be.sh --daemon
[root@5a686dc96b46 ~]# jps --检查是否有DorisBE的进程
11、连接测试,并添加BE
mysql> show frontends\G; ---这里没有在单独安装mysql客户端,可以直接使用第三方工具访问
如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常
mysql> ALTER SYSTEM ADD BACKEND "172.17.0.2:9050"; --添加BE到集群里面
mysql>show backends --Alive : true表示节点运行正常,如果为false,可以尝试等待一会再重新查看,第一次启动会慢一点;
mysql>show proc '/backends'
四、建库建表测试
1、创建数据库和表
create database demo;
use demo;
CREATE TABLE IF NOT EXISTS demo.example_tbl
(
user_id LARGEINT NOT NULL COMMENT "user 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"
);
2、创建需要导入的数据
[root@5a686dc96b46 ~]# vi test.csv
10000,2017-10-01,beijing,20,0,2017-10-01 06:00:00,20,10,10
10006,2017-10-01,beijing,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,beijing,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,shanghai,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,guangzhou,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,shenzhen,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,shenzhen,35,0,2017-10-03 10:20:22,11,6,6
3、导入数据
[root@5a686dc96b46 ~]# curl --location-trusted -u root: -T test.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/example_tbl/_stream_load

4、查询验证导入后的数据
select * from example_tbl




