CentOS7安装部署Doris

文章目录

  • CentOS7安装部署Doris
  • 一、前言
    • 1.简介
    • 2.环境
  • 二、正文
    • 1.Doris基础
      • 1)架构图
      • 2)通讯端口
    • 2.部署服务器
    • 3.安装基础环境
      • 1)安装JDK 11
      • 2)安装GCC
      • 3)设置文件句柄数
      • 4)关闭交换分区(swap)
      • 5)时钟同步
      • 6)关闭防火墙
    • 4.集群部署
      • 1)安装FE
      • 2)拷贝BE
      • 3)安装BE
      • 4)安装MySQL客户端
      • 5)测试
      • 6)WebUI
    • 5.服务自启动
      • 1)配置FE自启动
      • 2)配置BE自启动
      • 3)启动服务

CentOS7安装部署Doris

一、前言

1.简介

Apache Doris是基于MPP架构的新一代开源实时数据仓库,使用更方便,性能更高,适用于大数据分析。

2.环境

  • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
  • JDK 版本:Java SE Development Kit 11.0.19
  • Doris 版本:1.2.4.1

快速开始

Doris 介绍

标准部署 - Apache Doris

弹性扩缩容 - Apache Doris

Download - Apache Doris

ALTER-SYSTEM-DROP-BACKEND - Apache Doris

弹性扩缩容 - Apache Doris

CentOS基础操作命令

CentOS对换home分区与root分区的存储空间

CentOS7安装部署Java11

CentOS7安装部署MySQL80

二、正文

1.Doris基础

1)架构图

Doris 介绍

在这里插入图片描述

  • FE(Frontend)主要负责元数据的管理、存储,以及查询的解析等

  • BE(Backend)则主要负责数据的存储、以及查询计划的执行。BE 中的每个节点都存储有数据的多副本,从而保证数据的高可用和高可靠

2)通讯端口

标准部署 - Apache Doris

  • 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 端口
FEedit_log_port9010FE <–> FEFE 上的 bdbje 之间通信用的端口
Brokerbroker_ipc_port8000FE --> Broker, BE --> BrokerBroker 上的 thrift server,用于接收请求
  • FE 元数据存放位置:meta_dir = ${DORIS_HOME}/doris-meta
  • BE 数据存放目录:storage_root_path = ${DORIS_HOME}/storage

2.部署服务器

实例IP 地址
FE192.168.8.111
BE192.168.8.112
BE192.168.8.113

3.安装基础环境

在3 台服务器上执行基础环境的安装和配置

1)安装JDK 11

  • 参考:CentOS7安装部署Java11
  • 安装目录:/opt/java/jdk-11.0.19

2)安装GCC

yum -y install gcc
gcc --version

3)设置文件句柄数

  • 设置系统最大打开文件句柄数

  • 编辑 limits.conf

vim /etc/security/limits.conf
  • 写入内容
* soft nofile 65536 
* hard nofile 65536
* soft nproc 204800
* hard nproc 204800
  • 显示当前用户进程可以打开的最大文件描述符数目
ulimit -n

4)关闭交换分区(swap)

  • 查询交换分区
swapon --show
  • 关闭交换分区
# 备用:打开交换分区:swapon -a
swapoff -a
  • 编辑 /etc/fstab
vim /etc/fstab
  • 加入注释
# /dev/mapper/centos-swap swap                    swap    defaults        0 0

5)时钟同步

  • 安装 rdate 软件包
#安装rdate
yum -y install rdate#同步时间
rdate -s time-b.nist.gov#查看时间是否正确
date
  • 安装定时器软件包
yum -y install crontab
  • 创建 crontab 任务
crontab -e
  • 写入内容:20 秒同步一次
*/20 * * * * /usr/bin/rdate -s time-b.nist.gov > /dev/null 2>&1
  • 重启 crontab 服务
service crond reload
  • 其它时间同步服务器节点
节点位置节点域名
东南大学s1d.time.edu.cn
清华大学s1e.time.edu.cn
清华大学s2a.time.edu.cn
清华大学s2b.time.edu.cn
北京邮电大学s2c.time.edu.cn
上海交通大学ntp.sjtu.edu.cn
北京邮电大学s1a.time.edu.cn
北京大学s1c.time.edu.cn
香港中文大学clock.cuhk.edu.hk

6)关闭防火墙

  • 可禁用防火墙,或配置开放的端口,后者比较安全
#--关闭防火墙
systemctl stop firewalld.service
#--开机禁用防火墙
systemctl disable firewalld.service
#--防火墙状态
systemctl status firewalld.service

4.集群部署

1)安装FE

FE 服务器:192.168.8.111

  • 创建安装目录
mkdir /opt/doris
cd /opt/doris
  • 下载安装包,当前安装版本:1.2.4.1

Download - Apache Doris

wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-1.2.4.1-bin-x86_64.tar.xz
  • 解压安装包
tar -xvf apache-doris-1.2.4.1-bin-x86_64.tar.xz
  • 移动 FE 文件夹到安装目录:/opt/doris/
mv /opt/doris/apache-doris-1.2.4.1-bin-x86_64/fe/ /opt/doris/
  • 编辑配置文件
vim ./fe/conf/fe.conf
  • 修改内容:
  1. JDK 安装目录
  2. 绑定服务器 IP
# JAVA_OPTS 上面一行
JAVA_HOME=/opt/java/jdk-11.0.19priority_networks=192.168.8.111/24
  • 启动 FE
cd /opt/doris./fe/bin/start_fe.sh --daemon
  • 浏览器访问:http://192.168.8.111:8030/api/bootstrap

  • 成功提示

{"msg":"success","code":0,"data":{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"version":""},"count":0}

2)拷贝BE

FE 服务器:192.168.8.111

  • 拷贝BE安装包至BE服务器
scp -r /opt/doris/apache-doris-1.2.4.1-bin-x86_64/be root@192.168.8.112:/opt/doris
scp -r /opt/doris/apache-doris-1.2.4.1-bin-x86_64/be root@192.168.8.113:/opt/doris

3)安装BE

BE 服务器:192.168.8.112、192.168.8.113

  • 创建安装目录
mkdir /opt/doris
cd /opt/doris
  • 修改配置文件
vim ./be/conf/be.conf
  • 修改内容:
  1. JDK 安装目录
  2. 绑定服务器 IP;注意区分不同服务器 IP
# JAVA_OPTS 上面一行
JAVA_HOME=/opt/java/jdk-11.0.19priority_networks=192.168.8.112/24
  • 限制一个进程可以拥有的VMA(虚拟内存区域)的数量
vim /etc/sysctl.conf
  • 写入内容
vm.max_map_count=2000000
fs.file-max=6553560
  • 加载并应用配置文件
sysctl -p
  • 启动 BE
./be/bin/start_be.sh --daemon
  • 浏览器访问

    http://192.168.8.112:8040/api/health

    http://192.168.8.113:8040/api/health

  • 成功提示

{"status": "OK","msg": "To Be Added"}

4)安装MySQL客户端

可忽略,使用 Navicat 替代

FE 服务器:192.168.8.111

  • 创建安装目录
mkdir /opt/mysql
cd /opt/mysql
  • 下载安装软件包
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-common-8.0.25-1.el7.x86_64.rpm 
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm 
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-libs-8.0.25-1.el7.x86_64.rpm
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-client-8.0.25-1.el7.x86_64.rpm
  • 安装 RPM 软件包
rpm -Uvh *.rpm --nodeps --force
  • MySQL 客户端连接(无密码)
mysql -h 192.168.8.111 -P 9030 -uroot -p
  • 新增两个 BE

弹性扩缩容 - Apache Doris

#--备用(删除BE节点):ALTER SYSTEM DROPP BACKEND "192.168.8.112:9050";
ALTER SYSTEM ADD BACKEND "192.168.8.112:9050";
ALTER SYSTEM ADD BACKEND "192.168.8.113:9050";
  • 修改密码
SET PASSWORD FOR 'root' = PASSWORD('doris123');

5)测试

  • 创建数据库(MySQL 客户端执行)
create database demo;
  • 创建数据表
CREATE TABLE IF NOT EXISTS example_tb
(`user_id` LARGEINT NOT NULL COMMENT "用户id",`date` DATE NOT NULL COMMENT "数据灌入日期时间",`city` VARCHAR(20) COMMENT "用户所在城市",`age` SMALLINT COMMENT "用户年龄",`sex` TINYINT COMMENT "用户性别",`last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",`cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",`max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",`min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
  • 输出表结构
desc example_tb;
  • 插入数据
insert into example_tb values
(10000,"2017-10-01","北京",20,0,"2017-10-01 06:00:00",20,10,10),
(10000,"2017-10-01","北京",20,0,"2017-10-01 07:00:00",15,2,2),
(10001,"2017-10-01","北京",30,1,"2017-10-01 17:05:45",2,22,22),
(10002,"2017-10-02","上海",20,1,"2017-10-02 12:59:12",200,5,5),
(10003,"2017-10-02","广州",32,0,"2017-10-02 11:20:00",30,11,11),
(10004,"2017-10-01","深圳",35,0,"2017-10-01 10:00:15",100,3,3),
(10004,"2017-10-03","深圳",35,0,"2017-10-03 10:20:22",11,6,6);
  • 查询数据
SELECT * FROM example_tb;

6)WebUI

  • 浏览器访问:http://192.168.8.111:8030
  • 账号:root
  • 密码:输入客户端修改的密码(doris123);默认无密码

5.服务自启动

服务自动拉起

1)配置FE自启动

  • 编辑 doris-fe.service
vim /etc/systemd/system/doris-fe.service
  • 写入内容(根据实际情况修改 ExecStartExecStop
[Unit]
Description=Doris FE
After=network-online.target
Wants=network-online.target[Service]
Type=forking
User=root
Group=root
LimitCORE=infinity
LimitNOFILE=200000
Restart=on-failure
RestartSec=30
StartLimitInterval=120
StartLimitBurst=3
KillMode=none
ExecStart=/opt/doris/fe/bin/start_fe.sh --daemon 
ExecStop=/opt/doris/fe/bin/stop_fe.sh[Install]
WantedBy=multi-user.target

2)配置BE自启动

  • 编辑 doris-be.service
vim /etc/systemd/system/doris-be.service
  • 写入内容(根据实际情况修改 ExecStartExecStop
[Unit]
Description=Doris BE
After=network-online.target
Wants=network-online.target[Service]
Type=forking
User=root
Group=root
LimitCORE=infinity
LimitNOFILE=200000
Restart=on-failure
RestartSec=30
StartLimitInterval=120
StartLimitBurst=3
KillMode=none
ExecStart=/opt/doris/be/bin/start_be.sh --daemon
ExecStop=/opt/doris/be/bin/stop_be.sh[Install]
WantedBy=multi-user.target

3)启动服务

  • 重新加载配置
systemctl daemon-reload
  • 启动服务
systemctl start doris-fe
systemctl start doris-be
  • 设置开机自启动
systemctl enable doris-fe
systemctl enable doris-be
  • 查询服务状态
systemctl status doris-fe
systemctl status doris-be

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

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

相关文章

Ruoyi安装部署(linux环境、前后端不分离版本)

目录 简介 1 新建目录 2 安装jdk 2.1 jdk下载 2.2 解压并移动文件夹到/data/service目录 2.3 配置环境变量 3 安装maven 3.1 进入官网下载最新的maven 3.2 解压并移动文件夹到/data//service目录 3.3 配置环境变量 3.4 配置本地仓库地址与阿里云镜像 4 安装git 4.…

SQL窗口函数

1、什么是窗口函数 窗口函数可以看作是在分区对记录执行操作的函数&#xff0c;窗口函数功能与group by相似&#xff0c;但不会改变记录行数&#xff0c;因此常用于排名&#xff0c;TopN操作。 2.窗口函数语法形式 窗口函数 over ([partition by 字段名] [order by 字段名]) …

java开源 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城 小程序商城搭建 bbc

​ 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前…

湖北黄石三维扫描文物保护修复文物建模3d打印-CASAIM中科广电

三维激光扫描技术在博物馆领域的运用&#xff0c;主要在以下3个方面&#xff1a;文物保护、文物数字化、虚拟博物馆。随着时间的流逝和人类活动的影响&#xff0c;文物不可避免地会受到来自自然或者人为的侵蚀和破坏。由于CASAIM三维激光扫描技术具有不用接触被测量目标、扫描速…

【AIGC】AI工具合集人脸动漫化,老照片修复和视频补帧工具

Paper2GUI: 一款面向普通人的 AI 桌面 APP 工具箱&#xff0c;免安装即开即用&#xff0c;已支持 40AI 模型&#xff0c;内容涵盖 AI 绘画、语音合成、视频补帧、视频超分、目标检测、图片风格化、OCR 识别等领域。支持 Windows、Mac、Linux 系统。 小白兔AI 3.0版起永久免费A…

如何使用NLP库解析Python中的文本

Python是一种强大的面向对象的编程&#xff08;object-oriented programming&#xff0c;OOP&#xff09;语言&#xff0c;在人工智能领域有着广泛的用途。正是鉴于其实用性&#xff0c;以Google为首的大型科技公司&#xff0c;已经对其开发了Tensorflow等代码库&#xff0c;帮…

机器人制作开源方案 | 滑板助力器

我们可以用一块废滑板做些什么呢&#xff1f; 如今&#xff0c;越来越多的人选择电动滑板作为代步工具或娱乐方式&#xff0c;市场上也涌现出越来越多的电动滑板产品。 &#xff08;图片来源&#xff1a;Backfire Zealot X Belt Drive Electric Skateboard– Backfire Board…

开源TTS+gtx1080+cuda11.7+conda+python3.9吊打百度TTS

一、简介 开源项目&#xff0c;文本提示的生成音频模型 https://github.com/suno-ai/bark Bark是由Suno创建的基于变换器的文本到音频模型。Bark可以生成极为逼真的多语种演讲以及其他音频 - 包括音乐、背景噪音和简单的声音效果。该模型还可以产生非言语沟通&#xff0c;如…

服务器安装centos7踩坑

1、制作启动工具 下载iso https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.20387abbo2RFbn http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.1995f5ad4AhJaW下载 UltraISO https://cn.ultraiso.net/插入u盘启动 到了如图所示页面…

大数据分析案例-基于LightGBM算法构建糖尿病确诊预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

iPhone如何录屏?详细教程大揭秘(最新)

“iphone怎么录屏呀&#xff0c;有人知道吗&#xff1f;用了很久的iphone12了&#xff0c;却不知道录屏功能在哪里&#xff0c;现在需要用来录教程&#xff0c;找也找不到&#xff0c;有人知道iphone录屏在哪里吗&#xff1f;很急&#xff01;” iphone作为一款备受欢迎的智能…

春秋云镜 CVE-2019-16692

春秋云镜 CVE-2019-16692 phpIPAM 1.4 - SQL Injection 靶标介绍 phpIPAM 1.4后台存在SQL Injection。 启动场景 漏洞利用 后台SQL注入&#xff0c;admin/admin888登陆成功。 exp POST /app/admin/routing/edit-bgp-mapping-search.php HTTP/1.1 Host: xxx.com Content-Le…

寻找重复数-快慢指针

给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…

selenium中处理验证码问题

验证码 基本作用&#xff1a;可以实现当前访问页面的数据安全性、还可以减少用户的并发数&#xff1b; 类型&#xff1a;1、纯数字、纯字母&#xff1b;2、汉字组合&#xff1b;3、数学运算题&#xff1b;4、滑动&#xff1b;5、图片&#xff08;选不同的、选相同、成语顺序&…

学Python静不下来,看了一堆资料还是很迷茫是为什么

一、前言 最近发现&#xff0c;身边很多的小伙伴学Python都会遇到一个问题&#xff0c;就是资料也看了很多&#xff0c;也花了很多时间去学习但还是很迷茫&#xff0c;时间长了又发现之前学的知识点很多都忘了&#xff0c;都萌生出了想半路放弃的想法。 让我们看看蚂蚁金服的大…

ubuntu查看网速

使用speedomster测试网速 sudo apt-get install speedometer 查询需要测速的网卡 speedometer -r ens33 -t ens33 -r: 指定网卡的接收速度 -t: 指定网卡的发送速度 使用nload测试 sudo apt-get install nload 测速 nload -t 200 -i 1024 -o 128 -U M 参数含义&#xff0…

如何使用CSS实现一个响应式视频播放器?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式视频播放器⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣…

企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理) em

​ 工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

Lnton羚通视频算法算力云平台如何快速了解pandas(下)

数据分组 Splitting : 利用某些条件将数据进行分组Applying : 函数应用于每个单独的分组Combining : 合并最终的结果 df pd.DataFrame({"A": ["foo", "bar", "foo", "bar", "foo", "bar", "foo&q…

Android Lottie加载gson文件动画

一&#xff1a;Lottie的使用 在你工程的build.gradle文件里添加如下配置 implementation com.airbnb.android:lottie:3.4.0二&#xff1a;布局文件直接引入LottieAnimationView <com.airbnb.lottie.LottieAnimationViewandroid:id"id/lottie_view"android:layout…