【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.gzjdk1.8.0_131.tgzmysql-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 系统 | 版本 |
|---|---|
| CentOS | 7.1 及以上 |
| Ubuntu | 16.04 及以上 |
软件需求
| 软件 | 版本 |
|---|---|
| Java | 1.8 |
| GCC | 4.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 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口
| 实例名称 | 端口名称 | 默认端口 | 通讯方向 | 说明 |
|---|---|---|---|---|
| BE | be_port | 9060 | FE --> BE | BE 上 thrift server 的端口,用于接收来自 FE 的请求 |
| BE | webserver_port | 8040 | BE <–> BE | BE 上的 http server 的端口 |
| BE | heartbeat_service_port | 9050 | FE --> BE | BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳 |
| BE | brpc_port | 8060 | FE <–> BE, BE <–> BE | BE 上的 brpc 端口,用于 BE 之间通讯 |
| FE | http_port | 8030 | FE <–> FE,用户 <–> FE | FE 上的 http server 端口 |
| FE | rpc_port | 9020 | BE --> FE, FE <–> FE | FE 上的 thrift server 端口,每个fe的配置需要保持一致 |
| FE | query_port | 9030 | 用户 <–> FE | FE 上的 mysql server 端口 |
| FE | arrow_flight_sql_port | 9040 | 用户 <–> FE | FE 上的 Arrow Flight SQL server 端口 |
| FE | edit_log_port | 9010 | FE <–> FE | FE 上的 bdbje 之间通信用的端口 |
| Broker | broker_ipc_port | 8000 | FE --> Broker, BE --> Broker | Broker 上的 thrift server,用于接收请求 |
注:
- 当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
- 部署前请确保各个端口在应有方向上的访问权限。
部署规划
| 服务器 | FE | BE | MysqlClient |
|---|---|---|---|
| IP1 | yes | yes | |
| IP2 | yes | ||
| IP3 | yes | ||
| IP4 | yes | ||
| IP5 | yes | ||
| IP6 | yes |
用户规划
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
相关文章:
【Doris实战】Apache-doris-2.0.2部署帮助手册
Apache-doris-2.0.2部署帮助手册 校验时间:2023年10月11日 文章目录 Apache-doris-2.0.2部署帮助手册安装前准备安装包安装要求Linux 操作系统版本需求软件需求句柄需求关闭 Swap网络需求 部署规划用户规划目录规划免密需求 安装步骤配置JDK配置Doris文件 启动与停止…...
如何处理接口调用的频率限制
背景 接口提供方有调用频率限制的场景下,如何合理设计接口请求? 方案 采用Redis队列,利用 lpush 和 rpop 命令来实现 首先,将订单依次lpush写入Redis队列。定时任务通过 rpop 获取队列订单进行接口调用。 额外说明: 若想查看…...
Ubuntu 22.04上安装Anaconda,及 conda 的基础使用
1. 安装软件依赖包: apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6 2. 下载Anaconda安装包 使用 wget下载您从Anaconda网站复制的链接。您将把它输出到一个名为anaconda.sh的文…...
算法练习13——跳跃游戏II
LeetCode 45 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回…...
算法|每日一题|只出现一次的数字|位运算
136.只出现一次的数字 力扣每日一题:136.只出现一次的数字 之前整理过本题及其扩展,详细说明了思路和做法,链接如下: 只出现一次的数字I,II,III 给你一个 非空 整数数组 nums ,除了某个元素只出…...
Smartforms 打印出现的问题
上半年ECC做了升级 程序代码从ECC迁移到S4 有用户反馈 打印不能用了 经过调试发现在打印程序中 竟然返回2,但是 smartforms ZRPT_CO_YFLL_DY又是存在的 。 然后去激活 并与 ECC对比发现问题 S4的页大小竟然这么小 找到对应的页格式 对比ECC和S4 果然是这个…...
【考研408真题】2022年408数据结构41题---判断当前顺序存储结构树是否是二叉搜索树
文章目录 思路408考研各数据结构C/C代码(Continually updating) 思路 很明显,这是一个顺序存储结构的树的构成方法。其中树的根节点位置从索引0开始,对于该结构,存在有:如果当前根节点的下标为n,…...
深度学习DAY3:激活函数
激活函数映射——引入非线性性质 h (Σ(W * X)b) yσ(h) 将h的值通过激活函数σ映射到一个特定的输出范围内的一个值,通常是[0, 1]或[-1, 1] 1 Sigmoid激活函数 逻辑回归LR模型的激活函数 Sigmoid函数࿰…...
puppeteer
目录 介绍启动方法功能一、爬虫优势如何实现爬虫小demo 功能二、执行脚本百度搜索脚本demo 功能三、获取cookie(这个只能是模拟浏览器当前进入网页的cookie不是平时用的下载的的浏览器的cookie)功能四、监控网页,进行性能分析 介绍 puppetee…...
javascript二维数组(21)执行异步HTTP(Ajax)请求的方法($.get、$.post、$getJSON、$ajax)
执行异步HTTP(Ajax)请求的方法 . g e t 、 .get、 .get、.post、 g e t J S O N 、 getJSON、 getJSON、ajax都是jQuery提供的用于执行异步HTTP(Ajax)请求的方法。每个方法都有其特定的用途和区别。 . g e t :这个方法…...
TypeScript React(下)
目录 TypeScript & React TS开发环境的搭建 tsconfig.json webpack.config.js babel.config.js .eslintrc.js TypeScript & React TS开发环境的搭建 软件版本:TypeScript:3.9.5;React:16.13.1 Node:8.17.0环境搭建:正确搭建一…...
『Linux小程序』进度条
文章目录 缓冲区问题回车与换行的区别进度条小程序 缓冲区问题 假设有一段代码为: #include<iostream> #include<unistd.h> int main() …...
【手写数字识别】GPU训练版本
SVM Adaboost Bagging 完整代码 I import torch import torch.nn.functional as F from torch.utils.data import DataLoader, TensorDataset from torchvision import transforms, datasets import matplotlib.pyplot as plt# 超参数 batch_size 64 num_epochs 10# 数据…...
c#-特殊的集合
位数组 可观察的集合 private ObservableCollection<string> strList new ObservableCollection<string>();// Start is called before the first frame updatevoid Start(){strList.CollectionChanged Change;strList.Add("ssss");strList.Add("…...
Android 使用 eChart 设置标线
echart使用标线 Android部分: import android.webkit.WebView; import com.jianqu.plasmasterilizer.R; import com.jianqu.plasmasterilizer.utils.DisplayUtils; import com.jianqu.plasmasterilizer.utils.TimerUtil; import java.util.ArrayList; import java.…...
红队专题-Cobalt strike 4.x - Beacon重构
红队专题 招募六边形战士队员重构后 Beacon 适配的功能windows平台linux和mac平台C2profile 重构思路跨平台功能免杀代码部分sysinfo包packet包config.go命令的执行shell、run、executepowershell powerpick命令powershell-importexecute-assembly 堆内存加密字符集 招募六边形…...
一文掌握 Go 文件的写入操作
前言 通过案例展示如何读取文件里的内容。本文接着上篇文章的内容,介绍文件的写入操作。 File.Write、File.WriteString、File.WriteAt File.Write(b []byte) (n int, err error) 直接操作磁盘往文件里写入数据,写入单位为字节。 b 参数:…...
小程序入门及案例展示
目录 一、小程序简介 1.1 为什么要使用小程序 1.2 小程序可以干什么 二、前期准备 2.1 申请账号 2.2 开发工具下载与安装 三、电商案例演示 四、入门案例 4.1 项目结构解析 4.2 基础操作及语法 4.3 模拟器 4.4 案例演示 4.4.1 新建页面 4.4.2 头部样式设置 4.4.…...
linux 安装python django pip 遇到的问题
Python解决SSL不可用问题 解决方案: 首先要明白python版本需要和openssl的版本需要相对匹配的,在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux…...
【问题解决】【爬虫】抓包工具charles与pycharm发送https请求冲突问题
问题: 开启charles抓包,运行pycharm发送https请求报以下错误 解决: 修改python代码,发送请求时添加verify false,此时charles也能抓取到pycharm发送的请求 2. 关闭charles抓包,取消勾选window proxy...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
