Doris_manager 自动升级
1、产生第一个错误:
解决方法:通过删除DORIS_HOME下的upgrade文件(所有升级节点均要删除),目录权限是doris的,但是他的报错是没有权限将upgrade更名为upgrade+timestamp,实际权限是给了的,此处bug应该为doris自身的bug所在。
2、产生的第二个错误
解决方法:
1、怀疑是安装包的问题导致传输失败,报错显示是传输文件时出现了buff问题,通过一下方式排除问题所在
1)查看系统盘内存是否足够—>经检测,三台节点的内存空余都在20%以上,内存导致的传输失败问题排除
2)是否是安装包的问题—>为排除该问题,在官网重新下载了新的安装包,再进行更新,问题依然存在
3)最后在手动更新doris之后,怀疑是ssh线程数不够导致的(未能验证),如果后期遇到类似的问题可以通过这三种方法逐一排查
Doris_manager 手动升级(由于自动升级产生错误,且报错给予的信息十分有限,固选择选取原始的手动升级方法)
通过替换新版本中be中的bin、lib目录,fe中的bin、lib、mysql_ssl_default_certificate目录完成逐一更新,最后更新fe的master
恢复集群副本同步和均衡(参照官方网址升级流程:
https://doris.apache.org/zh-CN/docs/2.0/install/cluster-deployment/k8s-deploy/doris-cluster-upgrade?_highlight=fe&_highlight=%E5%8D%87%E7%BA%A7#%E5%8D%87%E7%BA%A7-fe)
在确认各个节点状态无误后,执行以下 SQL 恢复集群均衡和副本修复:
admin set frontend config(“disable_balance” = “false”);
admin set frontend config(“disable_colocate_balance” = “false”);
admin set frontend config(“disable_tablet_scheduler” = “false”);
Fe和be都升级完毕,但是在测试阶段出现了fe和be挂掉的问题,其中测试内容为:
1、DS调度ads任务
报错:
此处报错就应该意识到是线程数的问题了,包括以下的的四种报错都是围绕在线程数不够的基础上展开的,有效排除方法:
1、ulimit -a查看当前用户的最大线程数,如果过低则通过ulimit -u 65555来更改,
2、 但是通过此方法修改发现这个值没有改变,又通过修改sudo vim /etc/security/limits.conf这个文件中增加当前用户的句柄数来修改max值
3、最后是通过修改这个文件中的参数最终完成修改vi /etc/security/limits.d/20-nproc.conf
报错1:通过ssh命令跳转至其他服务器报错
报错2:启动be,查看be.out报错
报错3:从root切换doris用户报错
报错4:在SHOW PROC ‘/backends’ \G;都正常的情况下,查看fe节点的情况报错
最后排除bug升级成功,ods数据采集正常,ds调度任务正常,fe、be状态正常。
doris 安装注意事项
1、更改数据储存位置
2、内存注意事项,预留40%的compaction存储空间,默认是LZ4压缩,压缩比在0.3-0.5之间
3、CPU和内存的选取规格,内存是CPU核数的4倍以上是性能最佳的
4、设置系统最大打开文件句柄数(一般在这里设置了没啥用,还需要max_process设置一下)
vi /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000
5、修改虚拟内存区域数量为(这一步基本你没设置也没事,会报错的)
sysctl -w vm.max_map_count=2000000
6、在 fe.conf 中,默认 Java 最大堆内存为 8GB,建议生产环境调整至 16G 以上。在 JAVA_OPTS 参数中指定 -Xmx 选项可以调整 Java 最大堆内存。
JAVA_OPTS=“-Xmx16384m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:
D
O
R
I
S
H
O
M
E
/
l
o
g
/
f
e
.
g
c
.
l
o
g
.
DORIS_HOME/log/fe.gc.log.
DORISHOME/log/fe.gc.log.DATE”
7、通过此次问题了解到 用户可创建的最大线程数 = min (max user processes, threads-max, pid_max);
max user processes 对应 ulimit -a
threads-max 对应 /proc/sys/kernel/threads-max
pid_max 对应 /proc/sys/kernel/pid_max