Bootstrap

Doris 启动失败问题解决


1、报错:
Frontend running as process 3868. Stop it first.

解决方式:
重复启动 fe 服务

2、启动 be 报错
palo_be: error while loading shared libraries: libbfd-2.30-system.so: cannot open shared object file: No such file or directory

或者:

backend[10001] got Exception: org.apache.thrift.transport.TTransportException

解决方式:
编译的 Doris 包有问题。如果编译有问题,最好使用官方提供编译好的安装包。或者使用 Dockers 编译

官方下载地址

https://mp.weixin.qq.com/s/mJCeQzkK-3_htJggFVP4Ag%20http://palo.baidu.com/docs/%E4%B8%8B%E8%BD%BD%E4%B8%93%E5%8C%BA/%E9%A2%84%E7%BC%96%E8%AF%91%E7%89%88%E6%9C%AC%E4%B8%8B%E8%BD%BD/

3、启动 be 报错
logging.h:72] [ClientConfiguration] Retry Strategy will use the default max attempts.
storage_engine.cpp:370] File descriptor number is less than 60000. Please use (ulimit -n) to set a value equal or greater than 60000
storage_engine.cpp:174] check fd number failed, error: Internal error: file descriptors limit is too small
4280 storage_engine.cpp:103] open engine failed, error: Internal error: file descriptors limit is too small
4280 doris_main.cpp:202] fail to open StorageEngine, res=file descriptors limit is too small

解决方式:
系统设置的句柄有问题,使用下面的方式设置:

echo "* soft nofile 204800"  >> /etc/security/limits.conf
echo "* hard nofile 204800"  >> /etc/security/limits.conf
echo "* soft nproc 204800"  >> /etc/security/limits.conf
echo "* hard nproc 204800"  >> /etc/security/limits.conf

修改 /etc/sysctl.conf 文件

echo fs.file-max = 6553560  >> /etc/sysctl

查看是否写入成功:

cat /etc/security/limits.conf
cat /etc/sysctl.conf

注意:执行上面命令之后。必须重启服务器!!!重启服务器之后生效

使用 vim 命令,修改 /etc/profile 文件

vi /etc/profile。添加下面的行:

ulimit -u 204800

使用

source /etc/profile

加载,使其生效。使用 ulimit -a 查看修改的 /etc/profile 文件是否成功

4、连接 MySQL 客户端之后,使用 SQL 命令报错
ERROR 1064 (HY000): errCode = 2, detailMessage = Cluster default_cluster has no available capacity

原因是:未添加 be 节点

解决方式:
alter system add backend "IP地址或者hostname:9050";

5、升级 gcc 版本
详见:Centos7升级gcc版本

Centos7升级gcc版本_如何备份gcc-CSDN博客

6、查看 pe ,be 节点是否正常启动
查看 pe 节点,浏览器地址栏输入:

http://pe节点IP地址:8030/api/bootstrap

返回值:

{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"status":"OK","msg":"Success"}

查看 be 节点,浏览器地址栏输入:

http://be节点IP地址:8030/api/health

返回值:

{"online_backend_num":0,"total_backend_num":0,"status":"OK"}

参考资料

https://doris.apache.org/installing/install-deploy.html#common-questions

7、启动报错
java.net.NoRouteToHostException: No route to host (Host unreachable)

解决方式:
①关闭防火墙(CentOS7):

#停止firewall
systemctl stop firewalld.service

#禁止firewall开机启动     
systemctl disable firewalld.service    

②看 hosts 和 hostname 文件映射名是否一致

;