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

Apache-doris-2.0.2部署帮助手册

校验时间:2023年10月11日


版权声明:本文为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,增加以下配置

vm.swappiness=0
vm.overcommit_memory=1
vm.zone_reclaim_mode = 0

配置完毕后,执行sysctl -p命令使其生效。

# 查看交换区
free -m
网络需求

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

su - doris;
cd  /home/doris/software/doris/be;
sh bin/stop_be.sh
这个错误是由于环境变量设置不正确引起的。在配置文件`/opt/software/apache-doris-0.15.0-incubating-src/env.sh`的第96行,使用了`/usr/lib/jvm/java-1.8.0/bin/javap`这个路径,但是该路径下没有`javap`这个文件或目录,导致出现了"No such file or directory"的错误信息。 要解决这个问题,你可以按照以下步骤进行操作: 1. 首先,确认你的机器上已经安装了Java 8版本。可以使用命令`java -version`来查看当前的Java版本。 2. 如果你的机器上没有安装Java 8,那么你需要先安装Java 8,并将其添加到环境变量中。你可以通过访问Java官方网站下载并安装Java 8。 3. 安装完Java 8后,你需要将Java 8的路径添加到环境变量中。可以通过编辑`/opt/software/apache-doris-0.15.0-incubating-src/env.sh`文件,在第96行的`/usr/lib/jvm/java-1.8.0/bin/javap`路径修改为Java 8的正确路径。 4. 保存文件并退出编辑器。 5. 然后,执行`source /opt/software/apache-doris-0.15.0-incubating-src/env.sh`命令,使环境变量生效。 6. 最后,再次运行你的程序,应该就不会再出现该错误了。 通过以上步骤,你应该能够解决`/opt/software/apache-doris-0.15.0-incubating-src/env.sh: line 96: /usr/lib/jvm/java-1.8.0/bin/javap: No such file or directory`的错误。如果仍然有问题,请检查Java 8的安装和环境变量配置是否正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [超强总结,用心分享丨大数据超神之路(七):Apache Doris上篇](https://blog.csdn.net/Mrxuchen/article/details/126187392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顧棟

若对你有帮助,望对作者鼓励一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值