Cloudera sandbox 2.6.5升级sqlite后版本重置及airflow配置方案问询
SQLite版本重置问题及Airflow部署解决方案
一、永久保留SQLite 3.37版本的操作方法
版本重置的核心原因通常是升级操作仅在当前SSH会话生效,没有写入全局/用户的持久化配置,按以下步骤操作即可:
- 确认SQLite 3.37的编译安装路径:如果你之前是源码编译安装,确保已经安装到非临时目录,比如
/usr/local/sqlite3.37,完整编译命令参考:# 解压源码包后进入目录 ./configure --prefix=/usr/local/sqlite3.37 make && make install - 修改全局环境变量:编辑
/etc/profile文件,在末尾追加以下两行配置,让系统优先加载新版SQLite:
执行export PATH=/usr/local/sqlite3.37/bin:$PATH export LD_LIBRARY_PATH=/usr/local/sqlite3.37/lib:$LD_LIBRARY_PATHsource /etc/profile让配置立即生效,所有用户登录后都会默认使用3.37版本,断开重连不会重置。 - 如果沙箱开启了系统层还原导致
/etc/profile修改被重置,可以把上述两行配置写入当前用户的家目录下的.bashrc文件(路径为~/.bashrc),执行source ~/.bashrc生效即可,当前用户每次登录都会自动加载配置。
二、Airflow部署的替代解决方案
Airflow 2.x及以上版本要求SQLite版本≥3.15.0,不想调整SQLite版本的情况下可以选择以下方案:
- 更换元数据库:不用SQLite作为Airflow的元数据存储,改用Cloudera Sandbox 2.6.5默认预装的MySQL。先为Airflow创建专用的数据库和账号,再修改
airflow.cfg文件中的sql_alchemy_conn参数为MySQL连接串即可,完全绕过SQLite版本限制。 - 临时指定版本启动:每次启动Airflow服务前,先执行一次新版SQLite的环境变量导入命令,再启动Airflow进程即可正常运行,不需要修改全局配置。
- 降级Airflow版本:如果你只需要使用基础调度功能,可以安装Airflow 1.10.x版本,该版本兼容SQLite 3.7,无需调整系统SQLite版本即可直接部署。
内容的提问来源于stack exchange,提问作者James Kim
相关产品推荐
相关产品推荐

