暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Docker单机部署Doris

沙沃兴 2024-03-06
2591

一、概述

    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进行访问

    http://192.168.12.100: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



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论