doris环境部署(小白上手+部署适用)

重要:doris支持单机部署和集群部署,集群部署时至少设置三副本

说明:doris单机部署时,将BE和FE均在一台机器上设置即可

集群部署策略:

节点1配置FE(Leader):192.168.30.37
节点2配置 BE:192.168.30.40
节点4配置BE:192.168.30.41
节点3配置BE:192.168.30.42

环境部署开始

1、需要安装 Java 运行环境(JDK最低版本要求是8),要检查你所安装的 Java 版本

  安装jdk的文章见此链接:

2、直接下载编译好的二进制文件,进行解压。

[root@dev workspace]# wget  https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.1-rc03/apache-doris-1.1.1-bin-x86-noavx2.tar.gz
[root@dev workspace]# tar -zxvf apache-doris-1.1.1-bin-x86-noavx2.tar.gz

 

3、 查看电脑的open file的大小,如果是1024则要设置大,否则在运行be时,输入be/bin/start.sh会提示报错:fail to open storageEngine,res=file descriptors limit is too small

(1)首先通过ulimit -a查看系统的一些参数设置

(2)设置open files参数

####临时的修改
ulimit -n 65535 (命令行直接运行即可)
####如下是永久的修改
vim /etc/profile 在文件末尾加入ulimit –n 65535 (或者大小为204800均可) source /etc/profile

FE的配置

单个配置fe.conf

  1. 在fe下创建doris-meta目录,用来存放元数据。
  2. 配置conf里的fe.conf。很多都是默认设置。修改的地方:
  3. meta_dir = /opt/doris/DORIS-0.14.7-release/fe/doris-meta。就是创建的doris-meta目录;
  4. http_port = 18030。默认是8030端口,如果自己电脑的被占用了,就换一个端口,此处换了18030。如果未被占用,使用默认的。
  5. priority_networks = 192.168.30.37/24。本机的ip地址。(使用 ip a查看后缀是16还是24)
  6. 在fe目录下,启动fe。
    1. cd /data/apache-doris-1.1.1-bin-x86-noavx2/fe/bin
      # bin/start_fe.sh
      观察不要出现报错即可
  7. 使用jps,查看是否有PaloFe进程,有则启动成功。
  8. 使用MySQL client连接。mysql -h 192.168.30.37 -P9030 -uroot。默认使用的port是9030,可在fe.conf里看默认的端口号(query_port = 9030)
    1. mysql -h 192.168.30.37 -P9030 -uroot
  9. 连接成功,则查询fe节点。SHOW PROC '/frontends'\G (不加";")。查询结果如图。alive=true则成功。
SHOW PROC '/frontends'\G

 集群版本的FE见此文档:https://blog.csdn.net/longqiancao1/article/details/117665789

BE的单台机配置

  1. be目录下创建storage目录
  2. 修改conf里的be.conf配置文件。storage_root_path = ${DORIS_HOME}/storage;priority_networks = 192.168.xx.xx/24(可通过ip a查看本机的priority_networks)
  3. 【FE的节点上操作】mysql -h 192.168.30.37-P9030 -uroot 进入mysql;
  4. 添加backend信息。
  5. #添加BE节点到FE
    ALTER SYSTEM ADD BACKEND "192.168.30.40:9050";
    ALTER SYSTEM ADD BACKEND "192.168.30.41:9050";
    ALTER SYSTEM ADD BACKEND "192.168.30.42:9050";
  6. #如不小心填错了,可用这个删除:
  7. alter system decommission backend "192.168.30.40:9050";
  8. 启动be。bin/start_be.sh --daemon (--daemon在后台启动)
  9. 查看be状态。SHOW PROC '/backends'\G。如果alive=true,则启动成功。

BE集群的配置 (参照单台机配置即可)

完成如上的内容,doris环境即可部署成功,我们通过下面的方式进行验证

(1)在FE上登录doris

mysql -h 192.168.30.37 -P9030 -u root

(2)创建一个库,并创建表

create database test;

use test;

#创建只使用一个BE的表
CREATE TABLE  test_log
(
    `timestamp` DATETIME NOT NULL COMMENT "日志时间",
    `type` INT NOT NULL COMMENT "日志类型",
    `error_code` INT COMMENT "错误码",
    `op_id` BIGINT COMMENT "负责人id"
)
DUPLICATE KEY(`timestamp`, `type`)
DISTRIBUTED BY HASH(`timestamp`) BUCKETS 10
PROPERTIES
(
    "replication_num" = "1"     
);

 其他的表与数据的验证可见doris官网介绍示例: (快速上手)https://doris.apache.org/zh-CN/docs/get-starting/

BE启动遇到的问题

【重要】问题1:

初次启动bin/start_be.sh时,启动不了,出现以下问题,报错提示:

有以下日志信息,原因是文件最大句柄数太小。

要做得修改:

运行以下命令(第一次使用echo来进行写入操作,一开始还看不懂,太菜了。第一行的命令是将双引号里的内容“”写入到、/etc/...这个目录下的limits.conf文件里)

直接在BE的机器命令行运行如下的内容

echo "* soft nofile 204800" >> /etc/security/limits.conf
echo "* hard nofile 204800" >> /etc/security/limits.conf
echo "* soft nproc 204800" >> /etc/security/limits.conf
echo "* hard nproc 204800 " >> /etc/security/limits.conf

修改 /etc/sysctl.conf, 加入这个设置

echo fs.file-max = 6553560 >> /etc/sysctl.conf

查看是否修改成功

cat /etc/security/limits.conf
cat /etc/sysctl.conf

 

参考链接:

  • 【重要】doris集群部署及BE启动遇到的问题记录:https://blog.csdn.net/longqiancao1/article/details/117665789
  • open file的临时更改与永久更改:https://blog.csdn.net/clever_wr/article/details/103195015
  • doris集群安装部署(详细):https://www.jianshu.com/p/e4928e152caa

 

posted @ 2022-09-18 14:24  Syw_文  阅读(4990)  评论(0编辑  收藏  举报