StarRocks部署常见问题排查

部署场景问题梳理

FE

1.进程查不到

查看fe.warning日志,查找是否有以下报错:

1.1 端口占用

关键字:port xxx is used

解决方法:修改fe.conf中相应被占用端口为闲置端口,重启即可。

1.2 缺少meta目录

关键字:meta not exist

解决方法:在fe安装目录下新建meta目录,然后重启

1.3 jdk环境错误

关键字:Could not initialize class org.apache.doris.rpc.BackendServiceProxy

解决方法:检查是否使用的是jre,如果使用的jre换成jdk即可,推荐使用oraclejdk版本1.8+。

2.fe进程存在,但是fe状态false

查看fe.warning日志,查找是否有以下报错:

2.1 Fe身份识别失败

关键字:Fe type:unknown ,is ready :false

2.1.1 是否没有add相应节点到集群里。

关键字: current node is not added to the cluster, will exit

解决方案:非第一台启动的fe节点首次加入集群时需要在集群中add相应节点信息,

使用MySQL客户端连接已有的FE, 添加新实例的信息,信息包括角色、ip、port:

mysql> ALTER SYSTEM ADD FOLLOWER "host:port";

mysql> ALTER SYSTEM ADD OBSERVER "host:port";

2.1.2 集群有add信息,但是ip识别出错

关键字:backend ip saved in master does not equal to backend local ip xxx vs 127.0.0.1

解决方案: 检查机器是否多网卡多ip,需要在fe.conf中配置priority_networks为xxx,然后重启

2.1.3 服务器同步超时

关键字:this replica exceeds max peimissible delta:5000ms

故障分析:fe.warning一直刷Fe type:unknown ,is ready :false,没其他信息时,查看jbd信息是否有所示错误。路径/xx/StarRocks-xxx/fe/meta/bdb/je.info.0

解决方案:

需要同步集群机器时间,默认超过5s认为同步失败,建议开启utc校准后重启fe。

2.1.4 网络故障,连接失败

关键字:connection refused

解决方案:确认集群间http_port时互相能ping通的。有权限问题联系集群运维人员开通后重启。

2.2 FE transfer成功,但是show frontends显示false

2.2.1 Fe type:master,is ready :true,但是连接其他fe节点show forntends显示状态false

是因为非第一台启动的fe节点首次加入集群时需要加上--helper启动,第一次启动不加--helper会把自己当作master启动,与其他节点通信失败,此时需要清空meta目录。然后加上--helper参数重新启动。

./bin/start_fe.sh --helper host:port --daemon

host为helper节点的IP,如果有多个IP,需要选取priority_networks里的IP。port为edit_log_port,默认为9010。

当FE再次启动时,无须指定--helper参数,因为FE已经将其他FE的配置信息存储于本地目录, 因此可直接启动:

./bin/start_fe.sh --daemon

2.2.2 Fe type:follower,is ready :true,但是连接其他fe节点show forntends显示状态false

查看bdb文件大小,若内存使用超过机器内存的60%,则不会做checkpoint,bdb文件夹会增大,然后初次启动读取bdb文件过长,这个过程会导致fe状态false不可用,此时需要调整fe 的jvm大小,修改fe.conf中的JAVA_OPTS,然后重启。

BE

1.进程查不到

查看be.warning日志,查找是否有以下报错:

1.1 端口占用

关键字1:port xxx is used;fail to report disk state to xxx:9030,err=-1

 解决方法:修改be.conf中相应被占用端口为闲置端口,重启即可。

1.2 缺少storage目录

关键字:storage not exist

解决方法:在be安装目录下新建storage目录,然后重启

1.3 http_service启动失败

关键字:Be http service did not start correctly,exiting

解决方法:该问题是be webservice端口被占用,可以尝试修改be.conf中的相关端口并重启。如果多次修改没有被占用的端口也重复报错,检查是否装有yarn等程序,确认监听端口选择修改监听规则,或者be的端口选取范围绕过即可。

1.4 jdk环境错误

关键字:Could not initialize class org.apache.doris.rpc.BackendServiceProxy

解决方法:检查是否使用的是jre,如果使用的jre换成jdk即可,推荐使用oraclejdk版本1.8+。

2.be进程存在,但是be不可用

2.1 是否没有add相应节点到集群里。

关键字: show backends 显示empty

解决方案:通过mysql客户端添加BE节点:

mysql> ALTER SYSTEM ADD BACKEND "host:port";

这里IP地址为和priority_networks设置匹配的IP,portheartbeat_service_port,默认为9050

2.2 网络故障,连接失败

关键字:connection refused

解决方案:确认集群间http_port时互相能ping通的。有权限问题联系集群运维人员开通后重启。

2.3 磁盘不足

关键字:Failed to get scan range, no queryable replica found in tablet: 11903

解决方案:定位磁盘不足,需要修改be.conf中的storage_root_path,可以指定多个目录,用;隔开。

<think>好的,用户想了解在特定的服务器环境下搭建StarRocks。首先,我需要明确他们的硬件和虚拟化环境:x86_64架构,Intel Core i5-11400处理器,使用KVM虚拟化。接下来,我得考虑StarRocks的系统要求,比如操作系统、依赖库、内存和存储配置。 用户可能已经有一定的Linux和虚拟化经验,但可能需要详细的步骤指导。首先,应该建议他们准备一个合适的Linux发行版,比如CentOS 7+或者Ubuntu 18.04+,因为StarRocks官方支持这些系统。然后,安装Java环境,因为StarRocks依赖JDK 8+,这里需要确认用户是否已经安装了正确版本的Java。 接下来是下载和安装StarRocks。用户需要从官网或GitHub获取安装包,解压并配置。配置部分可能需要根据他们的硬件进行调整,比如内存分配和存储路径的设置。特别是KVM虚拟化环境下,需要确保虚拟机的资源分配足够,比如CPU核心数和内存大小,避免性能瓶颈。 启动服务后,用户可能需要通过MySQL客户端连接StarRocks进行验证。这里需要提供示例命令,确保他们能够正确连接并执行基本操作。此外,性能优化部分也很重要,比如调整并行度、内存参数和存储优化,尤其是在虚拟化环境中可能存在的I/O开销问题。 用户可能还会遇到一些常见问题,比如端口冲突或资源不足,需要给出排查建议。最后,生成的相关问题可以帮助用户进一步了解集群部署、监控和备份恢复策略,这些都是实际应用中可能需要的扩展知识。 需要确保所有步骤清晰,命令准确,并且考虑用户可能的环境差异,比如不同的Linux发行版可能导致依赖安装命令不同。同时,提醒用户注意虚拟化环境下的资源分配,避免因配置不当导致的性能问题。最后,引用官方文档和社区资源,增加回答的可信度,帮助用户进一步查阅资料。</think>### 基于x86_64架构、KVM虚拟化环境搭建StarRocks的步骤 #### 1. 环境准备 - **操作系统**: 选择CentOS 7+或Ubuntu 18.04+(推荐使用CentOS 7.9)[^1] - **硬件配置**: - CPU: 至少4核(Intel Core i5-11400满足要求) - 内存: 建议16GB以上(BE节点需更高) - 存储: SSD硬盘,预留至少50GB空间 - **虚拟化检查**: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo # 输出应大于0,确认虚拟化支持 ``` #### 2. 依赖安装 ```bash # CentOS sudo yum install -y java-1.8.0-openjdk-devel python3 # Ubuntu sudo apt-get install -y openjdk-8-jdk python3 ``` #### 3. 下载StarRocks ```bash wget https://releases.starrocks.io/starrocks/StarRocks-3.2.4.tar.gz tar -zxvf StarRocks-3.2.4.tar.gz cd StarRocks-3.2.4 ``` #### 4. 节点配置 **FE节点配置** (`fe/conf/fe.conf`): ```properties JAVA_OPTS = "-Xmx8g" meta_dir = /path/to/metadata ``` **BE节点配置** (`be/conf/be.conf`): ```properties JAVA_OPTS = "-Xmx16g" storage_root_path = /data1/starrocks;/data2/starrocks ``` #### 5. 服务启动 ```bash # 启动FE(首个节点) ./fe/bin/start_fe.sh --daemon # 启动BE ./be/bin/start_be.sh --daemon ``` #### 6. 集群验证 ```bash mysql -h 127.0.0.1 -P 9030 -u root SHOW PROC '/frontends'\G # 查看FE状态 SHOW PROC '/backends'\G # 查看BE状态 ``` #### 7. 性能优化建议 - 调整KVM虚拟机CPU分配模式为`host-passthrough` - 使用virtio磁盘驱动提升I/O性能 - 关闭NUMA平衡: `echo 0 > /proc/sys/kernel/numa_balancing`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值