【Doris实战】Apache-doris-2.0.2部署帮助手册

Apache-doris-2.0.2部署帮助手册

校验时间:2023年10月11日

文章目录

  • Apache-doris-2.0.2部署帮助手册
    • 安装前准备
      • 安装包
      • 安装要求
        • Linux 操作系统版本需求
        • 软件需求
        • 句柄需求
        • 关闭 Swap
        • 网络需求
      • 部署规划
      • 用户规划
      • 目录规划
      • 免密需求
    • 安装步骤
      • 配置JDK
      • 配置Doris文件
    • 启动与停止
      • 启动
      • 检查
      • 停止

版权声明:本文为CSDN博主「顧棟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43820556/article/details/133754689

安装前准备

安装包

  • apache-doris-2.0.2-bin-x64.tar.gz
  • jdk1.8.0_131.tgz
  • mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz

安装要求

命令cat /proc/cpuinfo | grep flags来查看当前CPU所支持的指令集

命令netstat -lntp 2>/dev/null|grep LISTEN|awk '{print $4}'|awk -F':' '{print $NF}'|sort|uniq查询已经占用的端口

命令cat /etc/redhat-release 查询系统版本

Linux 操作系统版本需求
Linux 系统版本
CentOS7.1 及以上
Ubuntu16.04 及以上
软件需求
软件版本
Java1.8
GCC4.8.2 及以上
句柄需求

设置系统文件句柄数

vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 65536
关闭 Swap

修改/etc/sysctl.conf,增加以下配置

# 查看交换区
free -m
# 关闭交换区
# 第一步
swapoff -a
# 第二步修改配置文件 vim /etc/fstab 删除swap相关行/mnt/swap swap swap defaults 0 0 这一行或者注释掉这一行
网络需求

Doris 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口

实例名称端口名称默认端口通讯方向说明
BEbe_port9060FE --> BEBE 上 thrift server 的端口,用于接收来自 FE 的请求
BEwebserver_port8040BE <–> BEBE 上的 http server 的端口
BEheartbeat_service_port9050FE --> BEBE 上心跳服务端口(thrift),用于接收来自 FE 的心跳
BEbrpc_port8060FE <–> BE, BE <–> BEBE 上的 brpc 端口,用于 BE 之间通讯
FEhttp_port8030FE <–> FE,用户 <–> FEFE 上的 http server 端口
FErpc_port9020BE --> FE, FE <–> FEFE 上的 thrift server 端口,每个fe的配置需要保持一致
FEquery_port9030用户 <–> FEFE 上的 mysql server 端口
FEarrow_flight_sql_port9040用户 <–> FEFE 上的 Arrow Flight SQL server 端口
FEedit_log_port9010FE <–> FEFE 上的 bdbje 之间通信用的端口
Brokerbroker_ipc_port8000FE --> Broker, BE --> BrokerBroker 上的 thrift server,用于接收请求

注:

  1. 当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
  2. 部署前请确保各个端口在应有方向上的访问权限。

部署规划

服务器FEBEMysqlClient
IP1yesyes
IP2yes
IP3yes
IP4yes
IP5yes
IP6yes

用户规划

groupadd -g 900 doris
useradd -u 210 -g 900 doris

目录规划

将空间大的目录软链接到home的子目录下,比如/opt或者/data。此文档采用/data目录为例

  • 用户目录

    /home/doris/software 链接至 /data/doris/software

  • 数据目录

    /home/doris/data链接至 /data/doris/data

  • 日志目录

    /home/doris/logs链接至 /data/doris/logs

免密需求

集群中任一机器都与其他机器root免密。

# 创建秘钥
ssh-keygen -t rsa
# 各个机器生成秘钥,汇集公钥
scp ~/.ssh/id_rsa.pub root@ip1:~/.ssh/2.id.rsa.pub
scp ~/.ssh/id_rsa.pub root@ip1:~/.ssh/3.id.rsa.pub
scp ~/.ssh/id_rsa.pub root@ip1:~/.ssh/4.id.rsa.pub
scp ~/.ssh/id_rsa.pub root@ip1:~/.ssh/5.id.rsa.pub
scp ~/.ssh/id_rsa.pub root@ip1:~/.ssh/6.id.rsa.pub
# 生成秘钥认证文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/2.id.rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/3.id.rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/4.id.rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/5.id.rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/6.id.rsa.pub >> ~/.ssh/authorized_keys
# 向集群机器分发认证文件
scp ~/.ssh/authorized_keys root@ip2:~/.ssh/
scp ~/.ssh/authorized_keys root@ip3:~/.ssh/
scp ~/.ssh/authorized_keys root@ip4:~/.ssh/
scp ~/.ssh/authorized_keys root@ip5:~/.ssh/
scp ~/.ssh/authorized_keys root@ip6:~/.ssh/

每台机器都相互免密登录一下,确认免密成功。

安装步骤

# 1.新建用户与用户组
groupadd -g 900 doris;
useradd -u 900 -g 900 doris;
# 2.准备目录-将安装包分发至各个服务器的/data/install_package目录
mkdir -p /data/install_package;
mkdir -p /data/doris/software;
mkdir -p /data/doris/logs;
mkdir -p /data/doris/data;
ln -snf /data/doris/software /home/doris/software;
ln -snf /data/doris/logs /home/doris/logs;
ln -snf /data/doris/data /home/doris/data;
# fe的元数据存储目录
mkdir -p /data/doris/data/doris-meta;
# be的数据存储目录
mkdir -p /data/doris/data/datastorage;# 3.将安装包解压至software目录并配置软链接
tar -zxf /data/install_package/jdk1.8.0_131.tgz -C /home/doris/software/;
tar -zxf /data/install_package/apache-doris-2.0.2-bin-x64.tar.gz -C /home/doris/software/;
ln -snf /home/doris/software/jdk1.8.0_131 /home/doris/software/java;
ln -snf /home/doris/software/apache-doris-2.0.2-bin-x64 /home/doris/software/doris;
# 在某一台机器上安装mysql客户端
tar -zxf /data/install_package/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz -C /home/doris/software/;
ln -snf /home/doris/software/mysql-5.7.43-linux-glibc2.12-x86_64 /home/doris/software/mysql-client;# 4.确认目录权限
chown -R doris:doris /data/doris/;
chown -R doris:doris /home/doris/;

配置JDK

su - doris;
vim /home/doris/.bashrc;
# 在.bashrc文件中追加以下内容
export JAVA_HOME=/home/doris/software/java
export PATH=$JAVA_HOME/bin:$PATH# 配置生效
source /home/doris/.bashrc;
# 检查jdk
java -version;

配置Doris文件

在doris用户下执行

fe.conf

vim /home/doris/software/doris/fe/conf/fe.conf
# 添加配置(使用ip a命令可获取)
priority_networks = 实际本机IP地址/掩码长度
meta_dir=/data/doris/data/doris-meta# the output dir of stderr and stdout 
LOG_DIR = /data/doris/logs

be.conf

vim /home/doris/software/doris/be/conf/be.conf
# 添加配置(使用ip a命令可获取)
priority_networks = 实际本机IP地址/掩码长度
storage_root_path=/data/doris/data/datastorage# the output dir of stderr and stdout 
LOG_DIR = /data/doris/logs

启动与停止

启动

启动一个FE

su - doris;
cd  /home/doris/software/doris/fe;
sh bin/start_fe.sh --daemon;

配置操作

MysqlClient连接第一个启动的FE 增加其他的FE节点和BE节点(无密码连接方式)

/home/doris/software/mysql-client -h 启动的FEIP -P 9030 -uroot 
-- edit_log_port位于conf/fe.conf  ,默认为9010
mysql> ALTER SYSTEM ADD FOLLOWER "fe2的ip:9010";
mysql> ALTER SYSTEM ADD FOLLOWER "fe3的ip:9010";
-- 查看所有fe节点
mysql> show proc '/frontends';mysql> ALTER SYSTEM ADD BACKEND "be1:9050";
mysql> ALTER SYSTEM ADD BACKEND "be2:9050";
mysql> ALTER SYSTEM ADD BACKEND "be3:9050";
-- 查看所有be节点
mysql> show proc '/backends';

启动其他的FE节点(FE2,FE3)

待加入的FE节点(第一次启动时要加–helper参数,否则follower fe节点无法加入集群)

su - doris;
cd  /home/doris/software/doris/fe;
sh bin/start_fe.sh --helper masterFE的IP:edit_log_port --daemon;

启动BE

su - doris;
cd  /home/doris/software/doris/be;
sh bin/start_be.sh --daemon

检查

查询FE是否正常

curl http://fe_host:fe_http_port/api/bootstrap

如果返回:{"status":"OK","msg":"Success"},则表示启动成功,其余情况,则可能存在问题。

查询BE是否正常

curl http://be_host:webserver_port/api/health

如果返回:{"status": "OK","msg": "To Be Added"},则表示启动成功,其余情况,则可能存在问题

停止

su - doris;
cd  /home/doris/software/doris/fe;
sh bin/stop_fe.shsu - doris;
cd  /home/doris/software/doris/be;
sh bin/stop_be.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/101327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux是什么,其特点是啥

与大家熟知的 Windows 操作系统软件一样&#xff0c;Linux 也是一个操作系统软件&#xff0c;其 logo 是一只企鹅。与 Windows 不同之处在于&#xff0c;Linux 是一套开放源代码程序的、可以自由传播的类 Unix 操作系统软件。Linux&#xff0c;全称GNU/Linux&#xff0c;是一种…

JAXB 使用记录 bean转xml xml转bean 数组 继承

JAXB 使用记录 部分内容引自 https://blog.csdn.net/gengzhy/article/details/127564536 基础介绍 JAXBContext类&#xff1a;是应用的入口&#xff0c;用于管理XML/Java绑定信息 Marshaller接口&#xff1a;将Java对象序列化为XML数据 Unmarshaller接口&#xff1a;将XML数…

Spark入门

Spark 1.Spark概述 2.Spark特点 3.RDD概述 1. Spark概述 什么是Spark 回顾&#xff1a;Hadoop主要解决&#xff0c;海量数据的存储和海量数据的分析计算。 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 Hadoop与Spark历史 Hadoop与Spark框架对比 Dr…

js中async的作用

async是JavaScript中的关键字&#xff0c;用于表示函数是异步的。 当函数被标记为async时&#xff0c;该函数会自动返回一个Promise对象&#xff0c;这个Promise对象的状态可能为resolved或rejected&#xff0c;具体取决于函数内部的操作和返回值。 使用async关键字时&#x…

【gmail注册教程】手把手教你注册Google邮箱账号

手把手教你注册Google邮箱账号 写在前面&#xff1a; 要注意&#xff0c;注册Google邮箱必须要确保自己能够 科学上网&#xff0c;如果暂时做不到&#xff0c;请先进行相关学习。使用的手机号是大陆&#xff08;86&#xff09;的。 在保证自己能够科学上网后&#xff0c;在浏…

【三维张量的展开和折叠 python】

三维张量的展开和折叠 python 测试张量&#xff0c;模态展开和折叠函数测试结果 测试张量&#xff0c;模态展开和折叠函数 tensor np.array([[[0, 3, 6, 9],[1, 4, 7, 10],[2, 5, 8, 11]],[[12, 15, 18, 21],[13, 16, 19, 22],[14, 17, 20, 23]]])def mode_k_folding(mat, k,…

Docker--harbor

一&#xff0c;registry registry是私有仓库的核心&#xff0c;只有字符终端。 二&#xff0c;registry部署 #首先下载 registry 镜像 docker pull registry#在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json {"insecure-registries": [&q…

如何在 Spring Boot 中使用 WebSocket

在Spring Boot中使用WebSocket构建实时应用 WebSocket是一种用于实现双向通信的网络协议&#xff0c;它非常适合构建实时应用程序&#xff0c;如在线聊天、实时通知和多人协作工具。Spring Boot提供了对WebSocket的支持&#xff0c;使得在应用程序中集成WebSocket变得非常容易…

3D包容盒子

原理简述 包围体&#xff08;包容盒&#xff09;是一个简单的几何空间&#xff0c;里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤&#xff08;即当包围体碰撞&#xff0c;才进行精确碰撞检测和处理&#xff09;。包…

Rule-Engine-Starter V1.0.0

一个轻量级的规则引擎、搜索引擎&#xff0c;让条件匹配简单、优雅。 GIT地址 https://gitcode.cosmoplat.com/15011240224/rule-engine-starter 介绍 Rule-Engine-Starter 是一个轻量级规则引擎&#xff0c;V1.0.0主要解决条件匹配问题。比如飞书文档&#xff0c;每个文档都…

【网络安全 ---- 靶场搭建】凡诺企业网站管理系统靶场详细搭建过程(asp网站,练习Access数据库的 sql注入)

一&#xff0c;资源下载 百度网盘资源下载链接&#xff1a;百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com…

【Mysql实现递归树查询】

Mysql8实现递归查询 递归执行分析demo数据查询demo数据扩展字段扩展 大家好! 在我们日常工作中&#xff0c;经常会遇到一些问题,它们的一些解决方案通常会用到递归这一强大的技术手段。递归不仅能帮助我们更高效的解决问题,还可以使代码更简介、更易于理解, 今天我来给大家分享…

竹云筑基,量子加密| 竹云携手国盾量子构建量子身份安全防护体系

9月23日-24日&#xff0c;2023量子产业大会在安徽合肥举行。作为量子科技领域行业盛会&#xff0c;2023年量子产业大会以“协同创新 量点未来”为主题&#xff0c;展示了前沿的量子信息技术、产业创新成果&#xff0c;并举办主旨论坛、量子科普讲座等系列专项活动。量子信息作为…

云服务器带宽对上传下载速度的影响

简单来说就是 云服务器收到数据代表入&#xff0c;带宽大小 < 10时&#xff0c;入带宽大小10 带宽大小 > 10时&#xff0c;出入带宽上限 等于实际购买时候的大小

C++算法:最少翻转操作数

题目 给你一个整数 n 和一个在范围 [0, n - 1] 以内的整数 p &#xff0c;它们表示一个长度为 n 且下标从 0 开始的数组 arr &#xff0c;数组中除了下标为 p 处是 1 以外&#xff0c;其他所有数都是 0 。 同时给你一个整数数组 banned &#xff0c;它包含数组中的一些位置。b…

金融信创黄金三年:小程序生态+跨端技术框架构建

小程序应用场景生态的发展&#xff0c;受益于开源技术的发展&#xff0c;以及响应快速开发的实际业务需求&#xff0c;一些跨端框架如&#xff1a;Electron、wxPython、FinClip、Tauri、Flutter等发展也非常迅速&#xff0c;小程序生态跨端技术框架&#xff0c;不仅能满足自有超…

生活中的视音频技术

生活中的视音频技术 平时我们打开电脑中自己存电影的目录的话&#xff0c;一般都会如下图所示&#xff0c;一大堆五花八门的电影。&#xff08;其实专业的影视爱好者一概会把影视文件分门别类的&#xff0c;但我比较懒&#xff0c;一股脑把电影放在了一起&#xff09; 因为下载…

10.9~10.10

触发器方程 触发器之间的转化 触发器需要输入和输出 对于D触发器&#xff0c;只需要D信号的输入 对于jk触发器&#xff0c;至少需要原状态的与非信号&#xff0c;并且需要j,k信号 假如确定y2,则D触发器需要什么D信号&#xff0c;是需要卡诺图确定 j-k触发器需要什么jk信号…

经典循环命题:百钱百鸡

翁五钱一只&#xff0c;母三钱&#xff0c;小鸡三只一钱&#xff1b;百钱百鸡百鸡花百钱。 (本笔记适合能熟练应用for循环、会使if条件分支语句、能格式化字符输出的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a…

数字化产业研究报告

一、当前个人认知的数字化 &#xff08;一&#xff09;信息化 1、软件分类标&#xff1a;GB_T 36475-2018_2957 2、信息化程度&#xff1a;诺兰模型- 初始、扩展、控制、统一、数据管理、成熟 3、从信息系统的发展和特点来看&#xff0c;可分为下面几类&#xff1a; &…