Apache Doris安装部署

Apache Doris安装部署

版本:

CentOS 7.6
Apache Doris 0.14.0

编译

选择合适的版本进行下载,此次选择0.14.0版本

下载 | Apache Doris

一、CentOS编译

1 安装依赖

sudo yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-devel curl git wget python2 glibc-static libstdc++-static 

升级GCC至7.3.0以上

# 查看当前GCC版本
gcc --version
# 安装
yum -y install centos-release-scl
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
scl enable devtoolset-7 bash
# GCC版本持久化
echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile
1.1 升级cmake

cmake安装高版本

cd /opt/software
wget http://www.cmake.org/files/v3.16/cmake-3.16.6.tar.gz
tar xf cmake-3.16.6.tar.gz
cd cmake-3.16.6
./bootstrap
make
make install

安装node

wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
tar -xvf  node-v10.14.1-linux-x64.tar.gz
mv node-v10.14.1-linux-x64 node
mv node /usr/local/
# 添加环境变量
vim /etc/profile
# 添加以下两行
export NODE_HOME=/usr/local/node  
export PATH=$NODE_HOME/bin:$PATH
# 刷新配置
source /etc/profile
# 查看安装结果
node -v
npm -v
1.2 配置免密登录

第一步:三台节点生成公钥与私钥

在三台机器执行以下命令,生成公钥与私钥

#执行下面的命令之后,要连续按三个回车

cd ~
ssh-keygen -t rsa

第二步:拷贝公钥到同一台节点

四台机器将拷贝公钥到第一台服务器,四台服务器执行命令

ssh-copy-id hadoop01

第三步:复制第一台服务器的认证到其他服务器

将第一台机器的公钥拷贝到其他机器上,在第一台机器上面执行以下命令

scp /root/.ssh/authorized_keys hadoop02:/root/.ssh
scp /root/.ssh/authorized_keys hadoop03:/root/.ssh
scp /root/.ssh/authorized_keys hadoop07:/root/.ssh
1.3 安装mysql客户端
yum install mysql -y

2 编译

2.1 编译Doris
tar -xvf apache-doris-0.14.0-incubating-src.tar.gz
cd apache-doris-0.14.0-incubating-src
mkdir thirdparty/installed/webroot/

直接进行编译会出现

DataTables.zip、s2n三方依赖包无法下载的问题

修改三方下载源

thirdparty/vars.sh
# aws-s2n
#AWS_S2N_DOWNLOAD="https://github.com/awslabs/s2n/archive/v0.10.0.tar.gz" #s2n-tls-0.10.0.tar.gz
#AWS_S2N_NAME="s2n-0.10.0.tar.gz"
#AWS_S2N_SOURCE="s2n-0.10.0"
#AWS_S2N_MD5SUM="9b3b39803b7090c2bd937f9cc73bc03f"
AWS_S2N_DOWNLOAD="https://github.com/awslabs/s2n/archive/v0.10.0.tar.gz" #s2n-tls-0.10.0.tar.gz
AWS_S2N_NAME="s2n-tls-0.10.0.tar.gz"
AWS_S2N_SOURCE="s2n-tls-0.10.0"
AWS_S2N_MD5SUM="345aa5d2f9e82347bb3e568c22104d0e"# datatables, bootstrap 3 and jQuery 3
#DATATABLES_DOWNLOAD="https://datatables.net/download/builder?bs-3.3.7/jq-3.3.1/dt-1.10.23"
#DATATABLES_NAME="DataTables.zip"
#DATATABLES_SOURCE="DataTables-1.10.23"
# DATATABLES_MD5SUM="f7f18a9f39d692ec33b5536bff617232"
DATATABLES_DOWNLOAD="https://datatables.net/download/builder?dt/dt-1.11.3"
DATATABLES_NAME="DataTables.zip"
DATATABLES_SOURCE="DataTables"
DATATABLES_MD5SUM="ebb908d3b6ffff355fbbe59f685f4785"

执行编译

sh build.sh

编译第一次会报

/opt/software/apache-doris-0.14.0-incubating-src/thirdparty/installed/webroot/*不存在。

此时将

/opt/software/apache-doris-0.14.0-incubating-src/webroot复制到

/opt/software/apache-doris-0.14.0-incubating-src/thirdparty/installed/

然后删除output目录重新编译

sh build.sh

编译完之后会新增一个output目录

其中包含

[root@hadoop02 apache-doris-0.14.0-incubating-src]# cd output/
[root@hadoop02 output]# ll
total 12
drwxr-xr-x 6 root root 4096 Nov 15 16:21 be
drwxr-xr-x 7 root root 4096 Nov 15 16:21 fe
drwxr-xr-x 4 root root 4096 Nov 15 16:21 udf

至此doris编译结束

2.2 编译broker

在源码根目录下有个

fs_brokers目录

cd /opt/software/apache-doris-0.14.0-incubating-src/fs_brokers/apache_hdfs_broker
sh build.sh

命令执行完之后同样会出现一个

output目录,其中包含

apache_hdfs_broker目录

至此broker编译结束

二、部署

集群规划

hadoop01hadoop02hadoop03hadoop07
FE(Leader)FE(Leader)FE(Follower)FE(OBserver)
BEBEBEBE
brokerbrokerbrokerbroker

1 部署

首先将编译后的文件拷贝到指定位置.4台机器都要放置。每台机器的服务需要单独启动

mv /opt/software/apache-doris-0.14.0-incubating-src/output/ /opt/module/doris14/
cd /opt/module/doris14/

# FE

# 1.配置元数据存储路径

cd fe
vi conf/fe.conf
######################################fe.conf修改内容#########################################
http_port = 8300
rpc_port = 9200
query_port = 9300
edit_log_port = 9100
priority_networks = 172.16.184.12*/24#根据部署主机的IP进行修改
meta_dir = /opt/module/doris14/fe/doris-meta
################################################################################ 2.创建元数据存储路径
mkdir /opt/module/doris14/fe/doris-meta
# 3.启动FE
sh bin/start_fe.sh --daemon
# 4.查看进程
jps
3764 Jps
2940 PaloFe# BE
# 1.配置数据存储路径
cd ../be
vi conf/be.conf
######################################be.conf修改内容#########################################
be_port = 9600
be_rpc_port = 9700
webserver_port = 8400
heartbeat_service_port = 9500
brpc_port = 8600
priority_networks = 172.16.184.12*/24#根据部署主机的IP进行修改
storage_root_path=/opt/module/doris14/be/doris_storage1;/opt/module/doris14/be/doris_storage2
###############################################################################
# 2.创建数据存储路径
mkdir /opt/module/doris14/be/doris_storage1
mkdir /opt/module/doris14/be/doris_storage2# BE注册
# 1.使用客户端访问doris fe节点
mysql -hhadoop01 -P 9300 -uroot# 2.注册be节点
ALTER SYSTEM ADD BACKEND "hadoop01:9500";
ALTER SYSTEM ADD BACKEND "hadoop02:9500";
ALTER SYSTEM ADD BACKEND "hadoop03:9500";
ALTER SYSTEM ADD BACKEND "hadoop07:9500";# BE启动
# 1.传输到其他节点
scp -r /opt/moudle/doris14 hadoop02:/opt/moudle
scp -r /opt/moudle/doris14 hadoop03:/opt/moudle
scp -r /opt/moudle/doris14 hadoop07:/opt/moudle
cd /opt/moudle/doris12/be
# 2.启动
sh bin/start_be.sh --daemon# 查看be状态 在注册be节点的mysql连接上执行
SHOW PROC '/backends';
Alive列为true即可
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+
| BackendId | Cluster         | IP             | HostName        | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime       | LastHeartbeat | Alive | SystemDecommissioned | ClusterDecommissioned | TabletNum | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | ErrMsg | Version | Status                                 |
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+
| 10004     | default_cluster | 172.16.184.125 | hadoop01.xt.com | 9500          | 9600   | 8400     | 8600     | 2021-11-16 15:08:35 | NULL          | true  | false                | false                 | 0         | .000             | 339.147 GB    | 393.471 GB    | 13.81 % | 13.81 %        |        |         | {"lastSuccessReportTabletsTime":"N/A"} |
| 10002     | default_cluster | 172.16.184.126 | hadoop02.xt.com | 9500          | 9600   | 8400     | 8600     | 2021-11-16 15:12:41 | NULL          | true  | false                | false                 | 0         | .000             | 277.982 GB    | 393.471 GB    | 29.35 % | 29.35 %        |        |         | {"lastSuccessReportTabletsTime":"N/A"} |
| 10003     | default_cluster | 172.16.184.127 | hadoop03.xt.com | 9500          | 9600   | 8400     | 8600     | 2021-11-16 15:13:14 | NULL          | true  | false                | false                 | 0         | .000             | 327.646 GB    | 393.471 GB    | 16.73 % | 16.73 %        |        |         | {"lastSuccessReportTabletsTime":"N/A"} |
| 11001     | default_cluster | 172.16.184.152 | hadoop07.xt.com | 9500          | 9600   | 8400     | 8600     | NULL                | NULL          | true  | false                | false                 | 0         | .000             | 1.000 B       | .000          | 0.00 %  | 0.00 %         |        |         | {"lastSuccessReportTabletsTime":"N/A"} |
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+

2 配置高可用

通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。

# 通过 mysql 客户端登录 Master FE
mysql -hhadoop01 -P 9300 -uroot
SHOW PROC '/frontends';# 增加 FE 节点
ALTER SYSTEM ADD FOLLOWER "hadoop02:9100";
ALTER SYSTEM ADD FOLLOWER "hadoop03:9100";
ALTER SYSTEM ADD OBSERVER "hadoop07:9100";

在hadoop02的

/opt/module/doris14/fe下执行

./bin/start_fe.sh --helper hadoop01:9100 --daemon

在hadoop03的

/opt/module/doris14/fe下执行

./bin/start_fe.sh --helper hadoop02:9100 --daemon

在hadoop07的

/opt/module/doris14/fe下执行

./bin/start_fe.sh --helper hadoop01:9100 --daemon

使用 mysql-client 连接到任一已启动的 FE,并执行:SHOW PROC ‘/frontends’; 可以查看当前已加入集群的 FE 及其对应角色。

mysql -hhadoop01 -P 9300 -uroot
SHOW PROC '/frontends';+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+
| Name                              | IP             | HostName        | EditLogPort | HttpPort | QueryPort | RpcPort | Role     | IsMaster | ClusterId  | Join | Alive | ReplayedJournalId | LastHeartbeat | IsHelper | ErrMsg | Version |
+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+
| 172.16.184.127_9100_1637052142079 | 172.16.184.127 | hadoop03.xt.com | 9100        | 8300     | 9300      | 9200    | FOLLOWER | false    | 1427440867 | true | true  | 3133              | NULL          | true     |        | NULL    |
| 172.16.184.125_9100_1637046027642 | 172.16.184.125 | hadoop01.xt.com | 9100        | 8300     | 9300      | 9200    | FOLLOWER | true     | 1427440867 | true | true  | 3133              | NULL          | true     |        | NULL    |
| 172.16.184.152_9100_1637052129601 | 172.16.184.152 | hadoop07.xt.com | 9100        | 8300     | 9300      | 9200    | OBSERVER | false    | 1427440867 | true | true  | 3133              | NULL          | false    |        | NULL    |
| 172.16.184.126_9100_1637049113284 | 172.16.184.126 | hadoop02.xt.com | 9100        | 8300     | 9300      | 9200    | FOLLOWER | false    | 1427440867 | true | true  | 3135              | NULL          | true     |        | NULL    |
+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+

3 Broker

  • 拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点上。建议和 BE 或者 FE 目录保持同级。
    • 将编译好的Broker源码复制到每台主机的

/opt/module/doris14/目录下

  • 修改相应 Broker 配置

在相应 broker/conf 目录下对应的配置文件中,可以修改相应配置。此次的从hadoop04/etc/hadoop/conf.cloudera.hdfs目录下获取core-site.xml/hdfs-site.xml放入 broker/conf 目录

  • 启动 Broker

sh bin/start_broker.sh --daemon 启动 Broker。

  • 添加 Broker

要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上,通过 sql 命令添加 Broker 节点列表。

使用 mysql-client 连接启动的 FE,执行以下命令:

ALTER SYSTEM ADD BROKER broker_name "host1:port1","host2:port2",...;

其中 host 为 Broker 所在节点 ip;port 为 Broker 配置文件中的 broker_ipc_port。

ALTER SYSTEM ADD BROKER broker_name "hadoop01:8000","hadoop02:8000","hadoop03:8000","hadoop07:8000";
  • 查看 Broker 状态

使用 mysql-client 连接任一已启动的 FE,执行以下命令查看 Broker 状态:

SHOW PROC "/brokers";

至此Doris全部安装完毕

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

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

相关文章

CF1899B 250 Thousand Tons of TNT

题目链接 题目 题目大意 T T T 组测试数据 每组 n n n 个货物,第 i i i 个货物 的重量是 a i a_i ai​ 用k辆货车按顺序装这些货物,条件是每辆车上的货物个数都一样,也即是说 n n n 必须能被 k k k 整除, 求任意两辆车货物总…

开发中常用的日期转换

一、java中日期转换 场景再现:前端给我们传的日期格式通常为 2023-11-16,而数据库在某些场景下会将时间存为20231106(yyyyMMdd)的格式 1.方法一 使用字符串分隔 String date"2023-11-16"; String newDate date.replace…

对象和数据结构

文章目录 前言一、从链式调用说起二、数据抽象三、数据、对象的反对称性四、得墨忒尔律五、数据传送对象总结 前言 代码整洁之道读书随笔,第六章 一、从链式调用说起 面向对象语言中常用的一种调用形式,链式调用,是一种较受推崇的编码风格&…

Alibaba Nacos注册中心实战

为什么需要注册中心 思考:网络请求,如果服务提供者发生变动,服务调用者如何感知服务提供者的ip和端口变化? // 微服务之间通过RestTemplate调用,ip:port写死,如果ip或者port变化呢? String ur…

【c++】左值和右值

理解 C/C 中的左值和右值 写得很好 简单定义 左值(lvalue, locator value) 表示一个占据内存中某个可识别得位置(地址)得对象右值(rvalue), 不是左值就是右值, 不表示内存中某个可识别位置的对象的表达式。 举例: int var; va…

【学习笔记】Java安全之动态加载字节码

文章目录 什么是Java的字节码利用URLClassLoader加载远程class文件利用ClassLoader#defineClass直接加载字节码利用TemplatesImpl加载字节码利用BCEL ClassLoader加载字节码 最近在学习Phith0n师傅的知识星球的Java安全漫谈系列,随手记下笔记 什么是Java的字节码 J…

CCRC认证是什么?

什么是CCRC认证? 信息安全服务资质,是信息安全服务机构提供安全服务的一种资格,包括法律地位、资源状况、管理水平、技术能力等方面的要求。 信息安全服务资质(CCRC)是依据国家法律法规、国家标准、行业标准和技术规范…

iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法

1.去开发者官网下载安装包 https://developer.apple.com/download/all/?qiOS%2017 使用浏览器下载。 2.打开终端通过命令添加到xcode 命令如下: sudo xcode-select -s /Applications/Xcode.app(输入开始密码)xcodebuild -runFirstLaunch (等待一小会)xcrun simctl…

翻译软件Mate Translate mac中文版介绍说明

Mate Translate mac可以帮你翻译超过100种语言的单词和短语,使用文本到语音转换,并浏览历史上已经完成的翻译。你还可以使用Control S在弹出窗口中快速交换语言。 Mate Translate Mac版软件介绍 Mate Translate 可以在你的所有设备之间轻松同步&#x…

人参果

《人参果》 作者/罗光记 千年灵气结人参, 果似珍珠色艳新。 仙界奇珍谁得享, 只留传说在人心。

2023年首届天府杯数学建模国际大赛问题A思路详解与参考代码:大地测量数据中异常现象的特征和识别

地球变形观测是固体潮汐曲线分析和地震前体研究的重要手段,也是地球观测技术的重要组成部分。基于各种精密科学仪器的变形观测点主要集中在洞穴、地下井等易的自然灾害(雷暴、强降雨、降雪等),人工维护、人工爆破等外部条件&#…

基于Vue+SpringBoot的厦门旅游电子商务预订系统 开源项目

项目编号: S 030 ,文末获取源码。 \color{red}{项目编号:S030,文末获取源码。} 项目编号:S030,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 景点类型模块2.2 景点档案模块2.3 酒…

Zookeeper实战案例(1)

前置知识: Zookeeper学习笔记(1)—— 基础知识-CSDN博客 Zookeeper学习笔记(2)—— Zookeeper API简单操作-CSDN博客 Zookeeper 服务器动态上下线监听案例 需求分析 某分布式系统中,主节点可以有多台&am…

【linux】nmon 工具使用

nmon 介绍 nmon是奈杰尔的性能监视器的缩写,适用于POWER、x86、x86_64、Mainframe和现在的ARM(Raspberry Pi)上的Linux。同样适用于nmon for AIX的工具(与IBM的AIX一起提供)。njmon与之类似,但将数据保存为…

Node.js环境配置级安装vue-cli脚手架

一、下载安装Node.js (略) 二、验证node.js并配置 1、下载安装后,cmd面板输入node -v查询版本、npm -v ,查看npm是否安装成功(有版本号就行了) 2、选择npm镜像(npm config set registry https://registry.npm.taobao.org&…

optee4.0.0 qemu_v8的环境搭建篇(ubuntu20.10)

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈文章目录 前提条件1、拉取代码2、下载工具链3、编译4、运行

kubernetes|云原生| 如何优雅的重启和更新pod---pod生命周期管理实务

前言: kubernetes的管理维护的复杂性体现在了方方面面,例如,pod的管理,服务的管理,用户的管理(RBAC)&#xf…

通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件

与传统证券一样,基于区块链技术发展出来的虚拟资产交易所经历了快速发展而缺乏有效监管的行业早期。除了科技光环加持的各种区块链项目方、造富神话之外,交易所遭到黑客攻击、内部偷窃作恶、甚至经营主体异常而致使投资人血本无归的案例亦令人触目惊心。…

802.11-2020协议学习__专题__TxTime-Calculation__HR/DSSS

802.11-2020协议学习__专题__TxTime-Calculation__HR/DSSS 16.2.2 PPDU format16.2.2.1 General16.2.2.2 Long PPDU format16.2.2.3 Short PPDU format 16.3.4 HR/DSSS TXTIME calculation PREV: TBD NEXT: TBD 16.2.2 PPDU format 16.2.2.1 General 定…

ubuntu 20.04安装 Anaconda教程

在安装Anaconda之前需要先安装ros(防止跟conda冲突,先装ros)。提前安装好cuda 和cudnn。 本博客参考:ubuntu20.04配置ros noetic和cuda,cudnn,anaconda,pytorch深度学习的环境 安装完conda后,输入: pyth…