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
- 在fe下创建doris-meta目录,用来存放元数据。
- 配置conf里的fe.conf。很多都是默认设置。修改的地方:
- meta_dir = /opt/doris/DORIS-0.14.7-release/fe/doris-meta。就是创建的doris-meta目录;
- http_port = 18030。默认是8030端口,如果自己电脑的被占用了,就换一个端口,此处换了18030。如果未被占用,使用默认的。
- priority_networks = 192.168.30.37/24。本机的ip地址。(使用 ip a查看后缀是16还是24)
- 在fe目录下,启动fe。
-
cd /data/apache-doris-1.1.1-bin-x86-noavx2/fe/bin
# bin/start_fe.sh
观察不要出现报错即可
-
- 使用jps,查看是否有PaloFe进程,有则启动成功。
- 使用MySQL client连接。mysql -h 192.168.30.37 -P9030 -uroot。默认使用的port是9030,可在fe.conf里看默认的端口号(query_port = 9030)
-
mysql -h 192.168.30.37 -P9030 -uroot
-
- 连接成功,则查询fe节点。SHOW PROC '/frontends'\G (不加";")。查询结果如图。alive=true则成功。
SHOW PROC '/frontends'\G
集群版本的FE见此文档:https://blog.csdn.net/longqiancao1/article/details/117665789
BE的单台机配置
- 在be目录下创建storage目录。
- 修改conf里的be.conf配置文件。storage_root_path = ${DORIS_HOME}/storage;priority_networks = 192.168.xx.xx/24(可通过ip a查看本机的priority_networks)
- 【FE的节点上操作】mysql -h 192.168.30.37-P9030 -uroot 进入mysql;
- 添加backend信息。
-
#添加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";
- #如不小心填错了,可用这个删除:
- alter system decommission backend "192.168.30.40:9050";
- 启动be。bin/start_be.sh --daemon (--daemon在后台启动)
- 查看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
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |