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 地址实例
Doris001192.168.8.111FE
Doris002192.168.8.112BE
Doris003192.168.8.113BE

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.19

priority_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.19

priority_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.114:8040/api/health

    http://192.168.8.115: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.10.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.mfbz.cn/a/84003.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务参数透传实现

说明&#xff1a;在微服务架构中&#xff0c;用户身份经网关验证后&#xff0c;我们可以将用户信息&#xff0c;如ID加入到请求头上。后面的微服务中&#xff0c;可以设置一个拦截器&#xff0c;拦截请求&#xff0c;获取请求头上的用户ID&#xff0c;加入到ThreadLocal中。 最…

欧拉计划44题

Pentagon numbers Pentagonal numbers are generated by the formula, . The first ten pentagonal numbers are: 1,5,12,22,35,51,70,92,117,145,… It can be seen that . However, their difference, 70−2248, is not pentagonal. Find the pair of pentagonal numbers, a…

安防视频监控平台EasyCVR视频集中存储平台接入RTSP设备出现离线情况的问题解决方案

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Stable Diffusion入门修炼手册

简介 作为新入门的新手&#xff0c;通常安装完Stable Diffusion之后&#xff0c;一打开界面&#xff0c;在文生图输入girl或者dog&#xff0c;结果出来的画面比较糟糕&#xff0c;看起来像素很低&#xff0c;画面不清晰&#xff0c;人物也不怎么美&#xff0c;等等其他问题&am…

【100天精通python】Day38:GUI界面编程_PyQt 从入门到实战(中)_数据库操作与多线程编程

目录 专栏导读 4 数据库操作 4.1 连接数据库 4.2 执行 SQL 查询和更新&#xff1a; 4.3 使用模型和视图显示数据 5 多线程编程 5.1 多线程编程的概念和优势 5.2 在 PyQt 中使用多线程 5.3 处理多线程间的同步和通信问题 5.3.1 信号槽机制 5.3.2 线程安全的数据访问 Q…

二、10.文件系统

硬盘是低速设备&#xff0c;其读写单位是扇区&#xff0c;为了避免频繁访问硬盘&#xff0c;操作系统不会有了一扇区数据就去读写一次磁盘&#xff0c;往往等数据积攒到“足够大小”时才一次性访问硬盘&#xff0c;这足够大小的数据就是块&#xff0c;硬盘读写单位是扇区&#…

二、9.硬盘驱动程序

文件系统是运行在操作系统中的软件模块&#xff0c;是操作系统提供的一套管理磁盘文件读写的方法和数据组织、存储形式&#xff0c;因此&#xff0c;文件系统&#xff1d;数据结构&#xff0b;算法&#xff0c;哈哈&#xff0c;所以它是程序。它的管理对象是文件&#xff0c;管…

C语言小白急救 指针初级讲解(四千字教程)

系列文章目录 C语言小白急救 表达式求值&#xff08;两千字教程&#xff09; C语言小白急救 操作符详解(8千字保姆级教程) C语言小白急救 扫雷游戏&#xff08;万字保姆级教程&#xff09; C语言小白急救 使用C语言编写‘三子棋‘ 文章目录 系列文章目录[C语言小白急救 表达式…

Docker的基本使用

Docker 概念 Docker架构 docker分为客户端&#xff0c;Docker服务端&#xff0c;仓库 客户端 Docker 是一个客户端-服务器&#xff08;C/S&#xff09;架构程序。Docker 客户端只需要向 Docker 服务端发起请求&#xff0c;服务端将完成所有的工作并返回相应结果。 Docker …

设计模式之创建者模式

文章目录 一、介绍二、应用三、案例1. 麦当劳11随心配2. 代码演示3. 演示结果 四、优缺点五、送给读者 一、介绍 建造者模式(Builder Pattern)属于创建型设计模式&#xff0c;很多博客文章的对它的作用解释为用于将复杂对象的创建过程与其细节表示分离。但对于初学者来说&…

机器学习深度学习——NLP实战(情感分析模型——textCNN实现)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——NLP实战&#xff08;情感分析模型——RNN实现&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习…

Lnton羚通算法算力云平台【PyTorch】教程:torch.nn.Softsign

torch.nn.Softsign 原型 CLASS torch.nn.Softsign() 图 代码 import torch import torch.nn as nnm nn.Softsign() input torch.randn(4) output m(input)print("input: ", input) print("output: ", output)# input: tensor([ 0.0046, -0.4135, -2…

003-Nacos 2.1.x 注册实例源码分析

目录 Nacos 2.1.X注册实例入口接口流程Client 注册 事件处理 服务订阅入口 Nacos 2.1.X 注册实例 入口 com.alibaba.nacos.naming.remote.rpc.handler.InstanceRequestHandler#handleService service Service.newService(request.getNamespace(), request.getGroupName(), r…

7-10 查验身份证

分数 15 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下&#xff1a; 首先对前17位数字加权求和&#xff0c;权重分配为&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c…

dockerfile编写LNMP

目录 1. 项目环境 2. 服务器环境 二、部署nginx&#xff08;容器IP为192.168.158.26&#xff09; 1、整个Dockerfile文件内容 ​编辑 2、配置nginx.conf文件 3、构建镜像 三、部署mysql 1、整个Docker文件内容 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PHP部署 1…

深入理解Semaphore

Semaphore&#xff08;信号量&#xff09;是操作系统中PV操作的原语在java中的实现&#xff0c;它也是基于AQS实现的。其中PV操作是操作系统中一种实现进程互斥与同步的有效方法。PV操作与信号量&#xff08;S&#xff09;的处理有关&#xff0c;P表示通过&#xff0c;V表示释放…

SpringCloud Gateway服务网关的介绍与使用

目录 1、网关介绍2、SpringCloudGateway工作原理3、三大组件3.1 、Route&#xff08;路由&#xff09;3.2、断言 Predicate3.3、过滤器 filter 4、Gateway整合nacos的使用4.1 、引入依赖4.2、 编写基础类和启动类4.3、 编写基础配置和路由规则4.4 、测试结果 1、网关介绍 客户…

面试之HTTP

1.HTTP与HTTPS的区别 HTTP运行在TCP之上&#xff1b;HTTPS是运行在SSL之上&#xff0c;SSL运行在TCP之上两者使用的端口不同&#xff1a;HTTP使用的是80端口&#xff0c;HTTPS使用的是443端口安全性不同&#xff1a;HTTP没有加密&#xff0c;安全性较差&#xff1b;HTTPS有加密…

为什么选择elasticsearch分布式搜索引擎

文章目录 &#x1f52d;什么是elasticsearch&#x1f320;ELK技术栈&#x1f320;elasticsearch和lucene&#x1f320;为什么不是其他搜索技术&#xff1f; &#x1f52d;总结 &#x1f52d;什么是elasticsearch elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常…

让智慧城市更进一步,无人机解决方案全面应用

在城市规划中&#xff0c;无人机正在颠覆传统的操作和思维方式。这种技术不仅改变了城市管理获取和分析信息的方式&#xff0c;还提供了前所未有的视角&#xff0c;使城市管理能够更加明智地制定策略。 1. 数据采集的新纪元&#xff1a; 城市规划的核心在于数据的收集和分析。…
最新文章