网站建设 百度经验,模板背景图,建设企业网站网站崩溃,佛山营销网站建设服务公司1 Doris编译
Apache Doris提供直接可以部署的版本压缩包#xff1a;https://cloud.baidu.com/doc/PALO/s/Ikivhcwb5
也可以自行编译压缩包后使用#xff08;推荐#xff09; 1.1 使用 Docker 开发镜像编译#xff08;推荐#xff09;
这个是官方文档推荐的#xff0c;…1 Doris编译
Apache Doris提供直接可以部署的版本压缩包https://cloud.baidu.com/doc/PALO/s/Ikivhcwb5
也可以自行编译压缩包后使用推荐 1.1 使用 Docker 开发镜像编译推荐
这个是官方文档推荐的可以非常方便顺利的编译源码如果需要快速部署的可以使用这种方式。这种方式的优点就是不用配置环境变量也不用考虑各种版本问题进入开发镜像系统后直接下载 doris 源码编译即可。
首先需要安装 DockerDocker 在 Linux 下安装比较简单这里不做介绍。
启动了 Docker 服务systemctl status docker以后我们直接拉取镜像开始编译 Doris。 下载Doris镜像
拉取Doris官方提供的Docker镜像目前可用版本有build-env、build-env-1.1、build-env-1.2
docker pull apache/doris:build-env-for-0.15.0 查看Docker镜像
docker images 注意
针对不同的 Doris 版本需要下载对应的镜像版本。从 Apache Doris 0.15 版本起后续镜像版本号将与 Doris 版本号统一。 运行镜像
将容器中的maven下载的包保存到宿主机本地指定的文件中避免重复下载同时会将编译的Doris文件保存到宿主机本地指定的文件方便部署
docker run -it -v /u01/.m2:/root/.m2 -v /u01/incubator-doris-DORIS-0.15-release/:/root/incubator-doris-DORIS-0.15-release/ apache/doris:build-env-for-0.15.0
开启之后, 就在容器内了 下载Doris的安装包
进入docker容器
cd /optwget https://mirrors.tuna.tsinghua.edu.cn/apache/doris/0.15.0-incubating/apache-doris-0.15.0-incubating-src.tar.gz 解压安装
tar -zxvf apache-doris-0.15.0-incubating-src.tar.gz 开始编译
cd apache-doris-0.15.0-incubating-src
sh build.sh
注意编译使用的jdk版本需要与部署环境的相同不然会报异常 编译后导出到服务器
编译后文件在output目录中
#docker cp 容器:docker路径 本地路径
docker cp mystifying_swanson:/opt/apache-doris-0.15.0-incubating-src/output /home/2 安装部署
Doris 作为一款开源的 MPP 架构 OLAP 数据库能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势以及 Doris 的高可用特性我们建议 Doris 的部署遵循以下需求 Linux 操作系统版本需求Linux系统 版本 Centos 7.1及以上 Ubuntu 16.04及以上 软件需求软件 版本 Java 1.8及以上 GCC 7.3及以上 开发测试环境模块 CPU 内存 磁盘 网络 实例数量 Frontend 8核 8GB SSD 或 SATA10GB * 千兆网卡 1 Backend 8核 16GB SSD 或 SATA50GB * 千兆网卡 1-3 * 生产环境模块 CPU 内存 磁盘 网络 实例数量 Frontend 16核 64GB SSD 或 RAID100GB * 万兆网卡 1-5 * Backend 16核 64GB SSD 或 SATA100GB * 万兆网卡 10-100 *
注意
FE 的磁盘空间主要用于存储元数据包括日志和 image。通常从几百 MB 到几个 GB 不等。BE 的磁盘空间主要用于存放用户数据总磁盘空间按用户总数据量 * 33副本计算然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。一台机器上可以部署多个 BE 实例但是只能部署一个 FE。如果需要 3 副本数据那么至少需要 3 台机器各部署一个 BE 实例而不是1台机器部署3个BE实例。多个FE所在服务器的时钟必须保持一致允许最多5秒的时钟偏差测试环境也可以仅适用一个 BE 进行测试。实际生产环境BE 实例数量直接决定了整体查询延迟。所有部署节点关闭 Swap。注意FE节点的数量
FE 角色分为 Follower 和 ObserverLeader 为 Follower 组中选举出来的一种角色以下统称 Follower具体含义见 元数据设计文档。FE 节点数据至少为11 个 Follower。当部署 1 个 Follower 和 1 个 Observer 时可以实现读高可用。当部署 3 个 Follower 时可以实现读写高可用HA。Follower 的数量必须为奇数Observer 数量随意。根据以往经验当集群可用性要求很高是比如提供在线业务可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务建议部署 1 个 Follower 和 1-3 个 Observer。通常我们建议 10 ~ 100 台左右的机器来充分发挥 Doris 的性能其中 3 台部署 FEHA剩余的部署 BE 当然Doris的性能与节点数量及配置正相关。在最少4台机器一台 FE三台 BE其中一台 BE 混部一个 Observer FE 提供元数据备份以及较低配置的情况下依然可以平稳的运行 Doris。 如果 FE 和 BE 混部需注意资源竞争问题并保证元数据目录和数据目录分属不同磁盘。
Broker 部署Broker 是用于访问外部数据源如 hdfs的进程。通常在每台机器上部署一个 broker 实例即可。 网络需求Doris 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口 注意
当部署多个 FE 实例时要保证 FE 的 http_port 配置相同。部署前请确保各个端口在应有方向上的访问权限3 资源规划 node1 node2 node3 FELeader FEFollower FEFollower BE BE BE BROKER BROKER BROKER
注意因测试环境资源有限FE和BE节点部署在相同服务器生产环境建议分开 4 启动FE
4.1 配置环境变量
1拷贝 FE 部署文件到指定节点node1
将源码编译生成的 output 的fe文件夹拷贝到 FE 的节点/opt/apache-doris-0.15.0路径自行选择路径下
cp -r fe /opt/apache-doris-0.15.0/ 2配置环境变量
vim /etc/profile #DORIS_HOME
export DORIS_HOME/opt/apache-doris-0.15.0
export PATH:$DORIS_HOME/bin:$PATH 重新加载环境变量
source /etc/profile 4.2 创建doris-mate
配置文件为 fe/conf/fe.conf。其中注意meta_dir元数据存放位置。默认在 fe/doris-meta/ 下。
需手动创建该目录
mkdir -p /opt/apache-doris-0.15.0/fe/doris-meta 配置fe/conf/fe.conf配置文件
vim conf/fe.confmeta_dir /opt/apache-doris-0.15.0/fe/doris-meta 4.3 修改fe.conf中的JAVA_OPTS
fe.conf 中 JAVA_OPTS 默认 java 最大堆内存为 4GB建议生产环境调整至 8G 以上 4.4 修改ip绑定可选
如果机器有多个ip, 比如内网外网, 虚拟机docker等, 需要进行ip绑定, 以便在配置集群时可以正确识别
修改fe服务的配置文件ip地址根据环境实际ip进行修改
vim /opt/apache-doris-0.15.0/fe/conf/fe.confpriority_networks 192.168.222.0/24 4.5 将安装目录分发到另外两台节点
scp -r /opt/apache-doris-0.15.0/ 192.168.222.144:/opt/scp -r /opt/apache-doris-0.15.0/ 192.168.222.145:/opt/ 4.6 启动FE
三台机器分别启动
sh /opt/apache-doris-0.15.0/fe/bin/start_fe.sh --daemon
日志默认存放在 fe/log/ 目录下 5 配置BE
5.1 配置be节点
拷贝BE部署文件到指定节点node1
将源码编译生成的 output 下的 be 文件夹拷贝到 BE 的节点/opt/apache-doris-0.15.0路径下
cp -r be /opt/apache-doris-0.15.0/ 5.2 创建storage_root_path, 并配置be.conf
配置文件为 be/conf/be.conf。主要是配置 storage_root_path数据存放目录。默认在be/storage下需要手动创建该目录。多个路径之间使用 ; 分隔最后一个目录后不要加 ;
mkdir -p /opt/apache-doris-0.15.0/be/storage1 /opt/apache-doris-0.15.0/be/storage2 进入be下修改be.conf配置文件
vim conf/be.conf storage_root_path /opt/apache-doris-0.15.0/be/storage1,10;/opt/apache-doris-0.15.0/be/storage2 6 添加BE
6.1使用mysql连接
删除操作系统自带的mysql库文件node1
rpm -qa | grep mariadbrpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64 安装mysql-client
下载mysql-client的rpm上传到服务器节点/opt/mysql-client当然也可以用yum命令安装 进入/opt/mysql-client进行安装
rpm -ivh * 连接node1服务器上的mysql实例默认端口9030默认没有密码
mysql -uroot -h 192.168.222.143 -P 9030 登陆后可以通过以下命令修改 root 密码
SET PASSWORD FOR root PASSWORD(123456); 使用Navicat客户端登录 6.2 添加be
BE 节点需要先在 FE 中添加才可加入集群node1
mysql -uroot -h 192.168.222.143 -P 9030 -p输入密码123456 登录后添加BE节点port为be上的heartbeat_service_port端口默认9050
ALTER SYSTEM ADD BACKEND 192.168.222.143:9050;ALTER SYSTEM ADD BACKEND 192.168.222.144:9050;ALTER SYSTEM ADD BACKEND 192.168.222.145:9050; 查看BE状态alive必须为true
SHOW PROC /backends; 查看BE运行情况。如一切正常isAlive列应为 true现阶段都是异常BE还未启动。 6.3 修改可打开文件数
命令如下
ulimit -n 65535 上述方式在重启系统后失效
或者修改配置文件: /etc/security/limits.conf, 添加
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535 这种方法需要重启机器才能生效所有BE节点都需要进行配置
否则启动不成功, 日志报错 6.4 修改ip绑定
如果机器有多个ip, 比如内网外网, 虚拟机docker等, 需要进行ip绑定, 以便在配置集群时可以正确识别
修改fe服务的配置文件ip地址根据环境实际ip进行修改
vim /opt/apache-doris-0.15.0/be/conf/be.confpriority_networks 192.168.222.0/24 6.5 将安装目录分发到另外两台节点
scp -r /opt/apache-doris-0.15.0/be 192.168.222.144:/opt/apache-doris-0.15.0scp -r /opt/apache-doris-0.15.0/be 192.168.222.145:/opt/apache-doris-0.15.0 6.6 启动BE
三台机器分别启动
sh /opt/apache-doris-0.15.0/be/bin/start_be.sh --daemon 日志默认存放在 fe/log/ 目录下 6.7 查看FE 和 BE
在mysql终端中
show proc /frontends; show proc /backends; 查看 BE 运行情况。如一切正常isAlive 列应为 true 通过前端界面访问FE
http://192.168.222.143:8030/login 注意密码和mysql设置的密码一样 http://192.168.222.143:8030/system?path//frontends 通过前端界面访问BE:
http://192.168.222.143:8030/backend http://192.168.52.143:8030/system?path//backends 6.8 添加FS_BROKER可选
BROKER以插件的形式独立于Doris的部署建议每个PE和BE节点都部署一个BrokerBroker是用于访问外部数据源的进程默认是HDFS上传编译好的hdfs_broker
6.8.1 配置broker节点
拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点上。建议和 BE 或者 FE 目录保持同级。
进入之前的docker编译fs_broker
sh /opt/apache-doris-0.15.0-incubating-src/fs_brokers/apache_hdfs_broker/build.sh拷贝output目录到本地节点
docker cp 9330fa7d63d6:/opt/apache-doris-0.15.0-incubating-src/fs_brokers/apache_hdfs_broker/output/apache_hdfs_broker /home/ 6.8.2 将安装目录分发到另外两台节点
进入/opt/apache-doris-0.15.0目录
scp -r apache_hdfs_broker/ 192.168.222.143:/opt/apache-doris-0.15.0/scp -r apache_hdfs_broker/ 192.168.222.144:/opt/apache-doris-0.15.0/scp -r apache_hdfs_broker/ 192.168.222.144:/opt/apache-doris-0.15.0/ 6.8.3 启动 Broker
三台机器分别启动
sh /opt/apache-doris-0.15.0/apache_hdfs_broker/bin/start_broker.sh --daemon 6.8.4 添加broker节点
使用mysql客户端访问pe添加broker节点
mysql -uroot -h 192.168.222.143 -P 9030 -p输入密码123456
要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上通过 sql 命令添加 Broker 节点列表
ALTER SYSTEM ADD BROKER broker_name 192.168.222.143:8000,192.168.222.144:8000,192.168.222.145:8000; 其中 host 为 Broker 所在节点 ipport 为 Broker 配置文件中的 broker_ipc_port。
SHOW PROC /brokers; 注在生产环境中所有实例都应使用守护进程启动以保证进程退出后会被自动拉起如 Supervisor (opens new window)。如需使用守护进程启动在 0.9.0 及之前版本中需要修改各个 start_xx.sh 脚本去掉最后的 符号。从 0.10.0 版本开始直接调用 sh start_xx.sh 启动即可。 6.9 扩容缩容
Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例 6.9.1 FE 扩容和缩容
可以通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。
FE 节点的扩容和缩容过程不影响当前系统运行 增加 FE 节点
FE 分为 LeaderFollower 和 Observer 三种角色。 默认一个集群只能有一个 Leader可以有多个 Follower 和 Observer。其中 Leader 和 Follower 组成一个 Paxos 选择组如果 Leader 宕机则剩下的 Follower 会自动选出新的 Leader保证写入高可用。Observer 同步 Leader 的数据但是不参加选举。如果只部署一个 FE则 FE 默认就是 Leader。
第一个启动的 FE 自动成为 Leader。在此基础上可以添加若干 Follower 和 Observer。
添加 Follower 或 Observer。使用 mysql-client 连接到已启动的 FE并执行
ALTER SYSTEM ADD FOLLOWER ip:port;
或
ALTER SYSTEM ADD OBSERVER ip:port; 其中host为Follower或Observer所在节点 ipport 为其配置文件 fe.conf 中的 edit_log_port。
配置及启动 Follower或Observer。Follower 和 Observer 的配置同 Leader 的配置。
第一次启动时需执行以下命令
./bin/start_fe.sh --helper host:port --daemon
其中 host 为 Leader 所在节点 ip, port 为 Leader 的配置文件 fe.conf 中的 edit_log_port。--helper 参数仅在 follower 和 observer 第一次启动时才需要。
查看 Follower 或 Observer 运行状态。使用 mysql-client 连接到任一已启动的 FE并执行SHOW PROC /frontends; 可以查看当前已加入集群的 FE 及其对应角色。 FE 扩容注意事项
Follower FE包括 Leader的数量必须为奇数建议最多部署 3 个组成高可用HA模式即可当 FE 处于高可用部署时1个 Leader2个 Follower我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE但几乎是不必要的通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求helper 不能指向 FE 自身必须指向一个或多个已存在并且正常运行中的 Master/Follower FE删除 FE 节点
使用以下命令删除对应的 FE 节点
ALTER SYSTEM DROP FOLLOWER[OBSERVER] fe_host:edit_log_port; FE 缩容注意事项
删除 Follower FE 时确保最终剩余的 Follower包括 Leader节点为奇数操作演示
使用mysql客户端访问pe添加broker节点
mysql -uroot -h 192.168.222.143 -P 9030 -p输入密码123456 将node2节点添加为FOLLOWER
ALTER SYSTEM ADD FOLLOWER 192.168.222.144:9010; 将node3节点添加为OBSERVER
ALTER SYSTEM ADD OBSERVER 192.168.222.145:9010; 分别停止三台节点的fe服务三台节点依次停止
/opt/apache-doris-0.15.0/fe/bin/stop_fe.sh 启动node1节点
sh /opt/apache-doris-0.15.0/fe/bin/start_fe.sh --daemon 启动node2节点指定leader节点的位置
sh /opt/apache-doris-0.15.0/fe/bin/start_fe.sh --helper 192.168.222.143:9010 --daemon 启动node3节点指定leader节点的位置
sh /opt/apache-doris-0.15.0/fe/bin/start_fe.sh --helper 192.168.222.143:9010 --daemon 查看fe节点列表
SHOW PROC /frontends; 6.9.2 BE 扩容和缩容
用户可以通过 mysql 客户端登陆 Master FE。
BE 节点的扩容和缩容过程不影响当前系统运行以及正在执行的任务并且不会影响当前系统的性能。数据均衡会自动进行。根据集群现有数据量的大小集群会在几个小时到1天不等的时间内恢复到负载均衡的状态。集群负载情况可以参见 Tablet 负载均衡文档。 增加 BE 节点
BE 节点的增加方式同 BE 部署 一节中的方式通过 ALTER SYSTEM ADD BACKEND 命令增加 BE 节点。
BE 扩容注意事项
BE 扩容后Doris 会自动根据负载情况进行数据均衡期间不影响使用 删除 BE 节点
删除 BE 节点有两种方式DROP 和 DECOMMISSION
DROP 语句如下
ALTER SYSTEM DROP BACKEND be_host:be_heartbeat_service_port; 注意事项
DROP BACKEND 会直接删除该 BE并且其上的数据将不能再恢复所以我们强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时会有对应的防误操作提示。
DECOMMISSION 语句如下
ALTER SYSTEM DECOMMISSION BACKEND be_host:be_heartbeat_service_port; DECOMMISSION 命令说明 该命令用于安全删除 BE 节点。命令下发后Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移当所有数据都迁移完成后Doris 会自动删除该节点。 该命令是一个异步操作。执行后可以通过 SHOW PROC /backends; 看到该 BE 节点的 isDecommission 状态为 true。表示该节点正在进行下线。 该命令不一定执行成功。比如剩余 BE 存储空间不足以容纳下线 BE 上的数据或者剩余机器数量不满足最小副本数时该命令都无法完成并且 BE 会一直处于 isDecommission 为 true 的状态。 DECOMMISSION 的进度可以通过 SHOW PROC /backends; 中的 TabletNum 查看如果正在进行TabletNum 将不断减少。 该操作可以通过: CANCEL DECOMMISSION BACKEND be_host:be_heartbeat_service_port; 命令取消。取消后该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡 6.9.3 Broker 扩容缩容
Broker 实例的数量没有硬性要求。通常每台物理机部署一个即可。Broker 的添加和删除可以通过以下命令完成
ALTER SYSTEM ADD BROKER broker_name broker_host:broker_ipc_port; ALTER SYSTEM DROP BROKER broker_name broker_host:broker_ipc_port; ALTER SYSTEM DROP ALL BROKER broker_name; Broker 是无状态的进程可以随意启停。当然停止后正在其上运行的作业会失败重试即可。