当前位置:   article > 正文

Doris-0.15 安装_doris windows安装

doris windows安装
doris-0.15 安装包-JDK 8链接(如需JDK 11可自行去官网编译):
链接: https://pan.baidu.com/s/117FCTIvIyoL7cY5qXGmnJw 提取码: 9qmk
官网链接: https://doris.apache.org/zh-CN/installing/compilation.html#%E4%BD%BF%E7%94%A8-docker-%E5%BC%80%E5%8F%91%E9%95%9C%E5%83%8F%E7%BC%96%E8%AF%91-%E6%8E%A8%E8%8D%90
  • Linux 操作系统版本需求
Linux 系统版本
CentOS7.1 及以上
Ubuntu16.04 及以上
  • 软件需求
软件版本
Java1.8 及以上
GCC4.8.2 及以上
  • 操作系统安装要求
设置系统最大打开文件句柄数
vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 65536
  • 1
  • 2
  • 3
时钟同步

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

关闭交换分区(swap)

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区

Liunx文件系统

这里我们推荐使用ext4文件系统,在安装操作系统的时候,请选择ext4文件系统。

注1:

  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。
  3. 一台机器上可以部署多个 BE 实例,但是只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差)
  4. 测试环境也可以仅适用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定了整体查询延迟。
  5. 所有部署节点关闭 Swap。

注2:FE 节点的数量

  1. FE 角色分为 Follower 和 Observer,(Leader 为 Follower 组中选举出来的一种角色,以下统称 Follower,具体含义见 元数据设计文档)。
  2. FE 节点数据至少为1(1 个 Follower)。当部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。
  3. Follower 的数量必须为奇数,Observer 数量随意。
  4. 根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务,建议部署 1 个 Follower 和 1-3 个 Observer。
  • Broker 部署

Broker 是用于访问外部数据源(如 hdfs)的进程。通常,在每台机器上部署一个 broker 实例即可。

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,用于接收请求

注:

  1. 当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
  2. 部署前请确保各个端口在应有方向上的访问权限。
  • IP 绑定

    priority_networks 是 FE 和 BE 都有的一个配置,配置项需写在 fe.conf 和 be.conf 中。该配置项用于在 FE 或 BE 启动时,告诉进程应该绑定哪个IP。示例如下:

    priority_networks=10.1.3.0/24
    
    • 1

    集群部署

    手动部署

    FE 部署
    • 拷贝 FE 部署文件到指定节点

      将源码编译生成的 output 下的 fe 文件夹拷贝到 FE 的节点指定部署路径下并进入该目录。

    • 配置 FE

      1. 配置文件为 conf/fe.conf。其中注意:meta_dir是元数据存放位置。默认值为 ${DORIS_HOME}/doris-meta。需手动创建该目录。

        注意:生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好),测试开发环境可以使用默认配置

      2. fe.conf 中 JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上

    • 启动FE

      bin/start_fe.sh --daemon

      FE进程启动进入后台执行。日志默认存放在 log/ 目录下。如启动失败,可以通过查看 log/fe.log 或者 log/fe.out 查看错误信息。

    • 如需部署多 FE,请参见 “FE 扩容和缩容” 章节

    BE 部署
    • 拷贝 BE 部署文件到所有要部署 BE 的节点

      将源码编译生成的 output 下的 be 文件夹拷贝到 BE 的节点的指定部署路径下。

      注意:output/be/lib/debug_info/ 目录下为调试信息文件,文件较大,但实际运行不需要这些文件,可以不部署。

    • 修改所有 BE 的配置

      修改 be/conf/be.conf。主要是配置 storage_root_path:数据存放目录。默认在be/storage下,需要手动创建该目录。多个路径之间使用英文状态的分号 ; 分隔(最后一个目录后不要加 ;)。可以通过路径区别存储目录的介质,HDD或SSD。可以添加容量限制在每个路径的末尾,通过英文状态逗号,隔开。

      示例1如下:

      注意:如果是SSD磁盘要在目录后面加上.SSD,HDD磁盘在目录后面加.HDD

      storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk2/doris

      说明

      • /home/disk1/doris.HDD,50,表示存储限制为50GB,HDD;
      • /home/disk2/doris.SSD,10,存储限制为10GB,SSD;
      • /home/disk2/doris,存储限制为磁盘最大容量,默认为HDD

      示例2如下:

      注意:不论HDD磁盘目录还是SSD磁盘目录,都无需添加后缀,storage_root_path参数里指定medium即可

      storage_root_path=/home/disk1/doris,medium:hdd,capacity:50;/home/disk2/doris,medium:ssd,capacity:50

      说明

      • /home/disk1/doris,medium:hdd,capacity:10,表示存储限制为10GB, HDD;
      • /home/disk2/doris,medium:ssd,capacity:50,表示存储限制为50GB, SSD;
    • BE webserver_port端口配置

      如果 be 部署在 hadoop 集群中,注意调整 be.conf 中的 webserver_port = 8040 ,以免造成端口冲突

    • 在 FE 中添加所有 BE 节点

      BE 节点需要先在 FE 中添加,才可加入集群。可以使用 mysql-client(下载MySQL 5.7 (opens new window)) 连接到 FE:

      ./mysql-client -h fe_host -P query_port -uroot

      其中 fe_host 为 FE 所在节点 ip;query_port 在 fe/conf/fe.conf 中的;默认使用 root 账户,无密码登录。

      登录后,执行以下命令来添加每一个 BE:

      ALTER SYSTEM ADD BACKEND "be_host:heartbeat-service_port";

      其中 be_host 为 BE 所在节点 ip;heartbeat_service_port 在 be/conf/be.conf 中。

    • 启动 BE

      bin/start_be.sh --daemon

      BE 进程将启动并进入后台执行。日志默认存放在 be/log/ 目录下。如启动失败,可以通过查看 be/log/be.log 或者 be/log/be.out 查看错误信息。

    • 查看BE状态

      使用 mysql-client 连接到 FE,并执行 SHOW PROC '/backends'; 查看 BE 运行情况。如一切正常,Alive 列应为 true

    (可选)FS_Broker 部署

    Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS 、百度云 BOS 及 Amazon S3 的 fs_broker。fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。

    • 拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点上。建议和 BE 或者 FE 目录保持同级。

    • 修改相应 Broker 配置

      在相应 broker/conf/ 目录下对应的配置文件中,可以修改相应配置。

    • 启动 Broker

      bin/start_broker.sh --daemon

    • 添加 Broker

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

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

      ALTER SYSTEM ADD BROKER broker_name "broker_host1:broker_ipc_port1","broker_host2:broker_ipc_port2",...;

      其中 broker_host 为 Broker 所在节点 ip;broker_ipc_port 在 Broker 配置文件中的conf/apache_hdfs_broker.conf。

    • 查看 Broker 状态

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

    扩容缩容

    Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例。

    FE 扩容和缩容

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

    用户可以通过 mysql 客户端登陆 Master FE。通过:

    SHOW PROC '/frontends';
    
    • 1

    来查看当前 FE 的节点情况。

    也可以通过前端页面连接:http://fe_hostname:fe_http_port/frontend 或者 http://fe_hostname:fe_http_port/system?path=//frontends 来查看 FE 节点的情况。

    以上方式,都需要 Doris 的 root 用户权限。

    FE 节点的扩容和缩容过程,不影响当前系统运行。

    增加 FE 节点

    FE 分为 Leader,Follower 和 Observer 三种角色。 默认一个集群,只能有一个 Leader,可以有多个 Follower 和 Observer。其中 Leader 和 Follower 组成一个 Paxos 选择组,如果 Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。Observer 同步 Leader 的数据,但是不参加选举。如果只部署一个 FE,则 FE 默认就是 Leader。

    第一个启动的 FE 自动成为 Leader。在此基础上,可以添加若干 Follower 和 Observer。

    添加 Follower 或 Observer。使用 mysql-client 连接到已启动的 FE,并执行:

    ALTER SYSTEM ADD FOLLOWER "follower_host:edit_log_port";
    
    • 1

    ALTER SYSTEM ADD OBSERVER "observer_host:edit_log_port";
    
    • 1

    其中 follower_host和observer_host 为 Follower 或 Observer 所在节点 ip,edit_log_port 在其配置文件 fe.conf 中。

    配置及启动 Follower 或 Observer。Follower 和 Observer 的配置同 Leader 的配置。第一次启动时,需执行以下命令:

    ./bin/start_fe.sh --helper leader_fe_host:edit_log_port --daemon
    
    • 1

    其中 leader_fe_host 为 Leader 所在节点 ip, edit_log_port 在 Leader 的配置文件 fe.conf 中。–helper 参数仅在 follower 和 observer 第一次启动时才需要。

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

    FE 扩容注意事项:

    1. Follower FE(包括 Leader)的数量必须为奇数,建议最多部署 3 个组成高可用(HA)模式即可。
    2. 当 FE 处于高可用部署时(1个 Leader,2个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE,但几乎是不必要的。
    3. 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求。
    4. helper 不能指向 FE 自身,必须指向一个或多个已存在并且正常运行中的 Master/Follower FE。
    删除 FE 节点

    使用以下命令删除对应的 FE 节点:

    ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";
    
    • 1

    FE 缩容注意事项:

    1. 删除 Follower FE 时,确保最终剩余的 Follower(包括 Leader)节点为奇数。

    BE 扩容和缩容

    用户可以通过 mysql-client 登陆 Leader FE。通过:

    SHOW PROC '/backends';
    
    • 1

    来查看当前 BE 的节点情况。

    也可以通过前端页面连接:http://fe_hostname:fe_http_port/backend 或者 http://fe_hostname:fe_http_port/system?path=//backends 来查看 BE 节点的情况。

    以上方式,都需要 Doris 的 root 用户权限。

    BE 节点的扩容和缩容过程,不影响当前系统运行以及正在执行的任务,并且不会影响当前系统的性能。数据均衡会自动进行。根据集群现有数据量的大小,集群会在几个小时到1天不等的时间内,恢复到负载均衡的状态。

    增加 BE 节点

    BE 节点的增加方式同 BE 部署 一节中的方式,通过 ALTER SYSTEM ADD BACKEND 命令增加 BE 节点。

    BE 扩容注意事项:

    1. BE 扩容后,Doris 会自动根据负载情况,进行数据均衡,期间不影响使用。
    删除 BE 节点

    删除 BE 节点有两种方式:DROP 和 DECOMMISSION

    DROP 语句如下:

    ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";
    
    • 1

    注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!!所以我们强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时,会有对应的防误操作提示。

    DECOMMISSION 语句如下:

    ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
    
    • 1

    DECOMMISSION 命令说明:

    1. 该命令用于安全删除 BE 节点。命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。
    2. 该命令是一个异步操作。执行后,可以通过 SHOW PROC '/backends'; 看到该 BE 节点的 isDecommission 状态为 true。表示该节点正在进行下线。
    3. 该命令不一定执行成功。比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于 isDecommission 为 true 的状态。
    4. DECOMMISSION 的进度,可以通过 SHOW PROC '/backends'; 中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。
    5. 该操作可以通过:
      CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
      命令取消。取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡

    Broker 扩容缩容

    Broker 实例的数量没有硬性要求。通常每台物理机部署一个即可。Broker 的添加和删除可以通过以下命令完成:

    ALTER SYSTEM ADD BROKER broker_name "broker_host:broker_ipc_port";` `ALTER SYSTEM DROP BROKER broker_name "broker_host:broker_ipc_port";` `ALTER SYSTEM DROP ALL BROKER broker_name;
    
    • 1

    Broker 是无状态的进程,可以随意启停。当然,停止后,正在其上运行的作业会失败,重试即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/131490
推荐阅读
相关标签
  

闽ICP备14008679号