Home
Softono

Palo Deploy

Open source Apache-2.0 Shell
11
Stars
3
Forks
0
Issues
1
Watchers
7 years
Last Commit

 About Palo Deploy

使用shell脚本部署Apache Doris (incubating) FE & BE

Platforms

Web Self-hosted

Languages

Shell

Links

Need Help Installing Palo Deploy?

We provide expert installation service for this software. Our team will install, configure, and secure Palo Deploy on your server. plans start at just $30.

Palo Deploy

View on GitHub

palo-deploy

使用shell脚本部署Apache Doris (incubating)(原百度palo,适用版本:0.8.X/ 0.9.X/ 0.10.X)

快速部署

  1. 安装java环境
  • 查询jdk下载地址:
curl -s https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html|grep linux-x64.rpm
  • 复制filepath地址,浏览器中进行访问,完成登录验证后进行下载,下载完毕后进行安装:
rpm -ivh jdk-8u211-linux-x64.rpm 
ls -ld /usr/java/jdk1.8.0_211-amd64/
ln -s /usr/java/jdk1.8.0_211-amd64 /usr/java/jdk
echo "export JAVA_HOME=/usr/java/jdk" >> /etc/profile
echo "export JRE_HOME=/usr/java/jdk/jre" >> /etc/profile
  1. 安装supervisor环境
yum install supervisor -y
echo "files = supervisord.d/*.conf" >> /etc/supervisord.conf
systemctl enable supervisord
systemctl start supervisord.service
systemctl status supervisord.service

注:supervisor主配置文件路径为:/etc/supervisord.conf,子配置目录为:/etc/supervisord.d/,若配置非标准,需要手工修改部署脚本。

  1. 拷贝palo编译完成后output文件至指定目录,如:/usr/local/src/output
cp -rf /your/local/path/incubator-doris-DORIS-x.x.x-release/output /usr/local/src/output

注:在部署集群时,不可能将整个源码+编译文件都拷贝到集群服务器,此时只需打包output目录,拷贝至集群各服务器,解压使用:

# 编译服务器上打包output目录,并上传至ftp
cd /your/local/path/incubator-doris-DORIS-x.x.x-release/
tar zcf output.tar.gz output
curl -s -k -T output.tar.gz output -u <u>:<p> ftp://x.x.x.x//

# 从ftp拷贝打包文件至集群各服务器,并解压
wget -P /usr/local/src/ ftp://<u>:<p>@x.x.x.x:21/output.tar.gz
tar zxf /usr/local/src/output.tar.gz -C /usr/local/src/
  1. 部署Frontendroot环境下执行以下命令:
sh deploy-fe.sh palo /usr/local/src/output /data/palo_fe_log /home/soft/java

注:以下参数必须指定后执行,缺一不可:

  • palo:以该用户执行palo;
  • /usr/local/src/output:palo编译完成后output文件路径;
  • /data/palo_fe_log:指定存放FE日志文件路径;
  • /home/soft/java:指定JAVA_HOME目录;
  1. 部署Backendroot环境下执行以下命令:
sh deploy-be.sh 1 /data1/palo palo /usr/local/src/output /data1/palo_be_log

注:以下参数必须指定后执行,缺一不可:

  • 1:由于同一台服务器有部署多个be的场景,故指定BE ID,注意该id与BE端口相关联,必须在0~9之内;
  • /data1/palo:指定存放BE数据文件路径;
  • palo:以该用户执行palo;
  • /usr/local/src/output:palo编译完成后output文件路径;
  • /data1/palo_be_log:指定存放BE日志文件路径;

验证服务

  • 验证FE集群
mysql -h <fe_ip> -P 9030 -uroot
ALTER SYSTEM ADD FOLLOWER "<fe_ip>:9010";
show proc '/frontends';
  • 验证BE集群
mysql -h <fe_ip> -P 9030 -uroot
ALTER SYSTEM ADD BACKEND "<be_ip>:<be_heartbeat_service_port>";
SHOW PROC '/backends';

升级palo

升级脚本通常用在大版本升级(已验证v0.8.2至v0.9.0),采用了类似重新部署的方式,文件将全部替换;如果是小版本升级,BE只需升级palo_be;而FE只需升级palo-fe.jar

  1. 拷贝新版palo编译完成后output文件至指定目录,如:/usr/local/src/output

  2. 升级Backendroot环境下执行以下命令(各执行参数同部署脚本,不再重复):

sh upgrade-be.sh 3 /data3/palo palo /usr/local/src/output /data3/palo_be_log
  1. 升级Frontendroot环境下执行以下命令(各执行参数同部署脚本,不再重复):
sh upgrade-fe.sh palo /usr/local/src/output /data2/palo_fe_log /home/soft/java
su - palo
cd /home/palo/fe/palo-meta/image/
cp VERSION VERSION.bak
vi VERSION
token=xxx
clusterId=xxx

注:必须指定token及clusterId,否则FE加入集群会失败:ErrMsg: invalid cluster id: xxx

  1. 升级apache_hdfs_brokerroot环境下执行以下命令:
sh upgrade-fs_brokers.sh palo /usr/local/src/output /data/palo_hdfs_broker_log /home/soft/java
  1. BE/FE/broker全部升级完毕后,重启supervisor,使之生效:
supervisorctl reload
supervisorctl status