二、安装步骤 2.4.1 创建目录并拷贝编译后的文件 1)创建目录并拷贝编译后的文件 mkdir /opt/module/apache-doris-0.15.0 cp -r /opt/software/apache-doris-0.15.0-incubating-src/output /opt/module/apache-doris-0.15.0 2)修改可打开文件数(每个节点) sudo vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535 重启永久生效,也可以用 ulimit -n 65535 临时生效。 2.4.2 部署 FE 节点 1)创建 fe 元数据存储的目录 mkdir -p /data/doris-fe/doris-meta 2)修改 fe 的配置文件 vim /opt/doris-fe-1.1.5/fe/conf/fe.conf #配置文件中指定元数据路径: meta_dir = /data/doris-fe/doris-meta #修改绑定 ip(每台机器修改成自己的 ip) priority_networks = 192.168.8.101/24 注意: ⚫ 生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果 有 SSD 最好)。 ⚫ 如果机器有多个 ip, 比如内网外网, 虚拟机 docker 等, 需要进行 ip 绑定,才能正确识 别。 ⚫ JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。 3)启动 hadoop1 的 FE /opt/module/apache-doris-0.15.0/fe/bin/start_fe.sh –daemon 注意:检查JDK是否安装 2.4.3 配置 BE 节点 1)分发 BE scp -r /opt/module/apache-doris-0.15.0/be hadoop2:/opt/module 2)创建 BE 数据存放目录(每个节点) mkdir -p /data/doris-be/doris-storage1 3)修改 BE 的配置文件(每个节点) vim /opt/doris-be-0.15.0/be/conf/be.conf #配置文件中指定数据存放路径: storage_root_path = /data/doris-be/doris-storage1 #修改绑定 ip(每台机器修改成自己的 ip) priority_networks = 192.168.8.101/24 注意: ⚫ storage_root_path 默认在 be/storage 下,需要手动创建该目录。多个路径之间使用英文状 态的分号;分隔(最后一个目录后不要加)。 ⚫ 可以通过路径区别存储目录的介质,HDD 或 SSD。可以添加容量限制在每个路径的末 尾,通过英文状态逗号,隔开,如: 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 ⚫ 如果机器有多个 IP, 比如内网外网, 虚拟机 docker 等, 需要进行 IP 绑定,才能正确识 别。 2.4.4 在 在 FE 中添加所有 BE 节点 BE 节点需要先在 FE 中添加,才可加入集群。可以使用 mysql-client 连接到 FE。 1)安装 MySQL Client (1)创建目录 mkdir /opt/software/mysql-client/ (2)上传相关以下三个 rpm 包到/opt/software/mysql-client/ ➢ mysql-community-client-5.7.28-1.el7.x86_64.rpm ➢ mysql-community-common-5.7.28-1.el7.x86_64.rpm ➢ mysql-community-libs-5.7.28-1.el7.x86_64.rpm (3)检查当前系统是否安装过 MySQL sudo rpm -qa|grep mariadb #如果存在,先卸载 sudo rpm -e --nodeps mariadb mariadb-libs mariadb-server (4)安装 rpm -ivh /opt/software/mysql-client/* 2)使用 MySQL Client 连接 FE mysql -h hadoop1 -P 9030 -uroot 默认 root 无密码,通过以下命令修改 root 密码。 SET PASSWORD FOR 'root' = PASSWORD('000000'); 3)添加 BE ALTER SYSTEM ADD BACKEND "hadoop1:9050"; ALTER SYSTEM ADD BACKEND "hadoop2:9050"; ALTER SYSTEM ADD BACKEND "hadoop3:9050"; 4)查看 BE 状态 SHOW PROC '/backends'; 2.4.5 启动 BE 1)启动 BE(每个节点) /opt/module/apache-doris-0.15.0/be/bin/start_be.sh --daemon 错误解决方案: [root@localhost bin]# ./start_be.sh --daemon Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'. [root@localhost bin]# sysctl -w vm.max_map_count=2000000 vm.max_map_count = 2000000 [root@localhost bin]# ./start_be.sh --daemon Please set the maximum number of open file descriptors to be 65536 using 'ulimit -n 65536'. [root@localhost bin]# ulimit -n 65536 [root@localhost bin]# ./start_be.sh --daemon 2)查看 BE 状态 mysql -h hadoop1 -P 9030 -uroot -p SHOW PROC '/backends'; Alive 为 true 表示该 BE 节点存活。 [root@localhost bin]# ./start_be.sh --daemon Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'. [root@localhost bin]# sysctl -w vm.max_map_count=2000000 vm.max_map_count = 2000000 [root@localhost bin]# ./start_be.sh --daemon Please set the maximum number of open file descriptors to be 65536 using 'ulimit -n 65536'. [root@localhost bin]# ulimit -n 65536 [root@localhost bin]# ./start_be.sh --daemon 2.4.6 部署 FS_Broker (可选) Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要 部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker。 fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。 1)编译 FS_BROKER 并拷贝文件 (1)进入源码目录下的 fs_brokers 目录,使用 sh build.sh 进行编译 (2)拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点 上,改名为: apache_hdfs_broker。建议和 BE 或者 FE 目录保持同级。 方法同 2.2。 2)启动 Broker /opt/module/apache-doris- 0.15.0/apache_hdfs_broker/bin/start_broker.sh --daemon 3)添加 Broker 要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上,通过 sql 命令添加 Broker 节 点列表。 (1)使用 mysql-client 连接启动的 FE,执行以下命令: mysql -h hadoop1 -P 9030 -uroot -p ALTER SYSTEM ADD BROKER broker_name "hadoop1:8000","hadoop2:8000","hadoop3:8000"; 其中 broker_host 为 Broker 所在节点 ip;broker_ipc_port 在 Broker 配置文件中的 conf/apache_hdfs_broker.conf。 4)查看 Broker 状态 使用 mysql-client 连接任一已启动的 FE,执行以下命令查看 Broker 状态: SHOW PROC "/brokers"; 注:在生产环境中,所有实例都应使用守护进程启动,以保证进程退出后,会被自动拉 起,如 Supervisor(opens new window)。如需使用守护进程启动,在 0.9.0 及之前版本中, 需要修改各个 start_xx.sh 脚本,去掉最后的 & 符号。从 0.10.0 版本开始,直接调用 sh start_xx.sh 启动即可