MHA报错:Checking if super_read_only is defined and turned ...Unknown system variable ‘super_read_only‘

最近在部署mysql环境的时候,用到mha,但是中间遇到了问题,在这记录一下,希望能帮助更多的朋友:


(1)报错信息如下:

Checking if super_read_only is defined and turned on..DBD::mysql::st execute failed: Unknown system variable 'super_read_only' at /usr/share/perl5/vendor_perl/MHA/SlaveUtil.pm line 245.

......

MySQL Replication Health is NOT OK!
 

(2)分析

由于MariaDB没有全局的super_read_only变量,在使用masterha_check_repl做主从状态检查或其他命令做切换的时候会抛出异常,所以需要对源代码进行修改。

(3)解决

修改vim /usr/share/perl5/vendor_perl/MHA/SlaveUtil.pm文件,所有安装MHA的节点都要改(我这里是一个master节点两个slave节点一个manager节点)

第244行:

my $sth = $dbh->prepare("SELECT \@\@global.super_read_only as Value");

改为

my $sth = $dbh->prepare("SELECT 0 as Value");

第262行:

$dbh->do("SET GLOBAL super_read_only=off;");

这一行注释起来就行了。

第275行:

$dbh->do("SET GLOBAL super_read_only=on;");

改为

$dbh->do("SET GLOBAL read_only=on;");

修改完成后,保存。就可以了。

注意:pm文件修改完成后是即时生效的,无需做其他操作。我这里就是重新执行命令:masterha_check_repl --conf=/etc/masterha/app1.cnf

就不会报错了。

### 安装 `flash_attn` 库 为了安装 `flash_attn.modules.mha` 模块,可以按照以下方法操作。通常情况下,`flash_attn` 是一个用于高效实现多头注意力机制的 Python 库,它依赖于 PyTorch 和 CUDA 来加速计算性能。 #### 方法一:通过 pip 安装 如果目标环境支持 GPU 并已正确配置 CUDA,则可以通过以下命令安装最新版本的 `flash-attn`: ```bash pip install flash-attn ``` 此命令会自动下载并安装 `flash_attn` 及其必要的依赖项[^1]。 #### 方法二:从源码编译安装 对于某些特定需求或自定义构建场景,可以从 GitHub 仓库克隆项目并手动编译安装: 1. **克隆仓库** 使用 Git 将官方存储库克隆至本地: ```bash git clone https://github.com/HazyResearch/flash-attention.git cd flash-attention ``` 2. **创建虚拟环境(可选)** 推荐为新项目创建独立的 Python 虚拟环境以避免冲突: ```bash python -m venv env source env/bin/activate # Linux/macOS .\env\Scripts\activate # Windows ``` 3. **安装依赖** 运行以下命令以安装所需的开发工具和运行时依赖: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 pip install -r requirements.txt ``` 4. **编译扩展** 执行以下脚本完成 C++ 和 CUDA 部分的编译工作: ```bash python setup.py install ``` 上述过程完成后即可成功加载 `flash_attn.modules.mha` 中的功能模块[^2]。 #### 注意事项 - 确认当前系统的硬件条件满足最低要求,尤其是 NVIDIA 显卡驱动程序以及对应版本的 CUDA 工具链。 - 如果计划部署到不包含 GPU 的纯 CPU 架构上,请注意部分核心功能可能无法正常运作或者效率低下[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值