Doris的安装部署(三台:hadoop1、hadoop2、hadoop3)
系统:CentOS 7.1及以上
软件: Java 1.8及以上
1.下载百度Palo预编译版本,不需要编译源码,直接安装就行。Palo下载地址 2.下载Apache Doris源码用docker进行编译。
一、安装JDK(每个节点)
1.在官网下载需要的jdk。
2.在Linux系统创建/usr/local/java/ 目录,将安装包上传至此目录。
3.利用传输工具(xshell等)将下载好的jdk上传至Linux系统。
在此之前可能需要执行以下命令
yum -y install lrzsz
4.使用命令进入 /usr/local/java/ 目录,并解压安装包到此目录。
cd /usr/local/java/
tar -zxvf jdk-11.0.8_linux-x64_bin.tar.gz
5.配置JDK
使用 命令编辑 /etc/profile文件.
vi /etc/profile
在/etc/profile文件最末尾,添加如下内容:
export JAVA_HOME=/usr/local/java/jdk-11.0.8
export JRE_HOME=/usr/local/java/jdk-11.0.81/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
6.JDK配置生效
source /etc/profile
用 java -version 命令测试JDK安装和配置是否成功.
java -version
JDK安装成功。
二、部署doris
一、 安装 Docker 环境编译doris(hadoop1)
1.1安装docker
1)Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先查看系统内核版本是否满足
uname -r
2)使用 root 权限登录系统,确保 yum 包更新到最新
sudo yum update -y
3)假如安装过旧版本,先卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine
4)安装 yum-util 工具包和 devicemapper 驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5)设置 yum 源(加速 yum 下载速度)
sudo yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
如果连接超时,可以使用 alibaba 的镜像源:
sudo yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6)查看所有仓库中所有 docker 版本,并选择特定版本安装,一般可直接安装最新版
yum list docker-ce --showduplicates | sort -r
7)安装 docker
(1)安装最新稳定版本的方式:
sudo yum install docker-ce -y #安装的是最新稳定版本.
(2)安装指定版本的方式:
sudo yum install <FQPN> -y
8)启动并加入开机启动
sudo systemctl start docker #启动 docker
sudo systemctl enable docker #加入开机自启动
9)查看 Version,验证是否安装成功
docker version
若出现 Client 和 Server 两部分内容,则证明安装成功。
1.2 使用 Docker 开发镜像编译
1)下载源码并解压
通过 wget 下载(或者手动上传下载好的压缩包)。
wget
https://dist.apache.org/repos/dist/dev/incubator/doris/0.15/0.15.
0-rc04/apache-doris-0.15.0-incubating-src.tar.gz
解压到/opt/software/
tar -zxvf apache-doris-0.15.0-incubating-src.tar.gz -C
/opt/software
2)下载 Docker 镜像
docker pull apache/incubator-doris:build-env-for-0.15.0
可以通过以下命令查看镜像是否下载完成。
docker images
3)挂载本地目录运行镜像
以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主机中,不会因为镜像退出而消失。同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。
docker run -it \
-v /opt/software/.m2:/root/.m2 \
-v /opt/software/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
apache/incubator-doris:build-env-for-0.15.0
4)切换到 JDK 8
alternatives --set java java-1.8.0-openjdk.x86_64
alternatives --set javac java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
5)准备 Maven 依赖
编译过程会下载很多依赖,可以将我们准备好的 doris-repo.tar.gz 解压到 Docker 挂载的对应目录,来避免下载依赖的过程,加速编译。
tar -zxvf doris-repo.tar.gz -C /opt/software
也可以通过指定阿里云镜像仓库来加速下载:
vim /opt/software/apache-doris-0.15.0-incubating-src/fe/pom.xml
在标签下添加:
<repository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
vim /opt/software/apache-doris-0.15.0-incubating-src/be/pom.xml
在标签下添加:
<repository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
6)编译 Doris
sh build.sh
如果是第一次使用 build-env-for-0.15.0 或之后的版本,第一次编译的时候要使用如下命令:
sh build.sh --clean --be --fe --ui
因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过–clean 命令强制.
2.3
如果选择下载了百度Palo预编译版本,(查看cpu是否支持avx2指令,下载对应版本)下载好后上传至服务器/opt/software目录,每台服务器都需要上传。
1)上传后解压,主要关注be,fe。
2)把fe挪到/opt/module/doris/目录下去,需要提前创建该目录。
mkdir /opt/module/doris
二、安装FE(Hadoop1)
2.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.2 部署 FE 节点
1)创建 fe 元数据存储的目录
mkdir /opt/module/apache-doris-0.15.0/doris-meta
2)修改 fe 的配置文件
vim /opt/module/apache-doris-0.15.0/fe/conf/fe.conf
#配置文件中指定元数据路径:
meta_dir = /opt/module/apache-doris-0.15.0/doris-meta
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.8.101/24
3)启动 hadoop1 的 FE
/opt/module/apache-doris-0.15.0/fe/bin/start_fe.sh --daemon
2.3 配置 BE 节点
1)分发 BE
scp -r /opt/module/apache-doris-0.15.0/be hadoop2:/opt/module
scp -r /opt/module/apache-doris-0.15.0/be hadoop3:/opt/module
2)创建 BE 数据存放目录(每个节点)
mkdir /opt/module/apache-doris-0.15.0/doris-storage1
mkdir /opt/module/apache-doris-0.15.0/doris-storage2
3)修改 BE 的配置文件(每个节点)
vim /opt/module/apache-doris-0.15.0/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path = /opt/module/apache-doris-0.15.0/dorisstorage1;/opt/module/apache-doris-0.15.0/doris-storage2
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.8.101/24
这里看可以使用:set nu查看行数大概在60行,修改前可以yyp复制源代码。
2.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.5 启动 BE
1)启动 BE(每个节点)
/opt/module/apache-doris-0.15.0/be/bin/start_be.sh --daemon
2)查看 BE 状态
mysql -h hadoop1 -P 9030 -uroot -p
SHOW PROC '/backends';
Alive 为 true 表示该 BE 节点存活
2…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";
Alive 为 true 表示该 broker 节点存活