Doris 1.1.2版本部署

Doris 1.1.2版本部署

    • 1 Doris整体架构介绍
    • 2 环境分配
    • 3 前置条件
    • 4 FE部署
    • 5 BE部署
    • 6 检查部署情况

1 Doris整体架构介绍

Doris架构非常简单,只有两类进程。

  1. Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
  2. Backend(BE),主要负责数据存储、查询计划的执行。

   这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大的降低了一款分布式系统的运维成本。

2 环境分配

IP HOSTS 进程 内存 硬盘空间
192.168.130.12 twdt1 FE,BE 32G 500G
192.168.130.13 twdt2 FE,BE 32G 500G
192.168.130.14 twdt3 FE,BE 32G 500G

3 前置条件

  1. 查看Linux版本,doris适用于CentOs7.1以上和Ubuntu16.04以上。
cat /etc/redhat-release
  1. 查看Linux是否支持avx2指令集。
cat /proc/cpuinfo |grep avx2
  1. 下载二进制包。
    下载Doris1.1.2
我这里安装的是1.1.2版本
如果支持avx2指令集的话可以下载apache-doris-be-1.1.2-bin-x86_64.tar.gz,如果不支持的话就下载apache-doris-be-1.1.2-bin-x86_64-noavx2.tar.gz,然后下载apache-doris-fe-1.1.2-bin.tar.gz
  1. 安装JDK,1.8及以上,自行安装并配置环境变量。
  2. 设置系统最大句柄数
vim /etc/security/limits.conf 
	* soft nofile 65535 #任何用户打开的最大文件数都是65535,如果超过这个数会有警告。
	* hard nofile 65535 #任何用户打开的最大文件数都是65535,如果超过这个数会报错。
ulimit -n 65535 # 临时修改打开的最大文件数。
  1. 时钟同步
    因为集群之间要进行心跳检测,Doris规定各个服务器之间的时间差距要小于5秒钟,所以要配置时间同步,另外因为各个服务器都可以联网,则只需要同步网络时间服务器即可。
yum -y install ntpdate #安装ntpdate服务
使用crond定时服务和网络时间同步
1. 检查 Systemctl status crond服务是否启动
2. crontab -e 配置2分钟同步一次网络时间
  */2 * * * * /usr/sbin/ntpdate cn.pool.ntp.org
  1. 关闭交换内存
swapoff -a #临时关闭
注释掉/etc/fstab文件关于swap的一行内容 #永久关闭

4 FE部署

1. 解压fe到指定目录 tar -zxvf apache-doris-fe-1.1.2-bin.tar.gz -C /opt/
2. 修改配置文件vim /opt/apache-doris-fe-1.1.2-bin/fe/conf/fe.conf
	LOG_DIR = /opt/apache-doris-fe-1.1.2-bin/fe/log
	meta_dir = /opt/apache-doris-fe-1.1.2-bin/fe/doris-meta
	priority_networks = 192.168.130.12/16    ##通过ip addr命令查询
3. 把整个服务分发到twdt2和twdt3上面,,并且把对应的priority_networks配置项改为对应的服务器ip,使用如下命令。服务器之间配置了免密登录。
	scp -r apache-doris-fe-1.1.2-bin twdt2:$PWD
	scp -r apache-doris-fe-1.1.2-bin twdt3:$PWD
4. 启动FE进程
	第一个启动的FE进程的服务器默认为集群的Leader
	使用这个:bin/start_fe.sh --daemon
	另外两台服务器必须使用bin/start_fe.sh --helper leader_host:9010 --daemon 
5. 安装mysql客户端,连接FE支持的mysql协议,使用如下命令
	rpm -qa|grep mariadb ##查看CentOs自带的mysqlrpm包并删除。
	rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
	rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm # 只需要安装Client rpm即可。可以直接在https://cdn.mysql.com/archives/mysql-5.7/mysql-community-libs-5.7.39-1.el7.x86_64.rpm 地址下载
6. mysql -P9030 -htwdt1 -uroot  ##登录doris实现mysql协议的服务端
7. show frontends\G; ##查看当前的fe节点信息
8. alter system add follower/observer "twdt2:9010"; ##增加另外两台服务器节点到frontends集群,这一步相当于扩容。缩容的话可以使用alter system drop follower/observer "twdt2:9010";
9. 至此fe集群已经安装完毕。

5 BE部署

1. 解压be到指定目录 tail -zxvf apache-doris-be-1.1.2-bin-x86_64-noavx2.tar.gz -C /opt/
2. 修改配置文件
	PPROF_TMPDIR="/opt/apache-doris-be-1.1.2-bin-x86_64-noavx2/be/log/"
	priority_networks = 192.168.130.12/16
	storage_root_path = /opt/apache-doris-be-1.1.2-bin-x86_64-noavx2/be/storage,100;/opt/apache-doris-be-1.1.2-bin-x86_64-noavx2/be/storage1,100;/opt/apache-doris-be-1.1.2-bin-x86_64-noavx2/be/storage2 # 逗号后面的是容量限制,这里前面两个目录都限制在100G,最后一个目录没有限制。这里也可以配置存储目录介质,SSD或者HDD
	sys_log_dir = /opt/apache-doris-be-1.1.2-bin-x86_64-noavx2/be/log
3. 在安装Doris的时候注意端口,因为Doris涉及的端口有好几个,防止和别的端口冲突。
4. 修改完之后把服务分发到另外两台服务器上并修改priority_networks配置项改为对应的服务器ip
5. 登录mysql -P9030 -htwdt1 -uroot后添加be服务
6. 添加三个alter system add backend "安装be服务的ip:be服务的心跳端口,默认9050";
7. 启动be服务bin/start_be.sh --daemon
8. 在下载be二进制包中包含了broker服务,根据自己的需要选择安装。

6 检查部署情况

mysql -P9030 -htwdt1 -uroot 连接mysql服务。
分别使用show frontends\G;命令和show backends\G;查看FE和BE的集群状态,
如果和下面的状态类似则部署成功。部署成功后可以通过http://twdt1:8030访问doris的web端查看情况。可以使用默认用户root、admin登录

Doris 1.1.2版本部署_第1张图片

你可能感兴趣的:(#,java,服务器,运维)