阿里云ECS安装airflow
参考博文
主要的安装步骤,这两篇博文说的还是比较详细,博主主要说一下安装中遇到的问题
一、安装环境
博主安装的airflow是1.8版本,搭建环境如下:
- ECS centOS6.9
- python3.6
- pip10.0
- sqlite3.7+
- mysql5.5+
airflow本身安装并不困难,途中出现的问题基本都是软件版本问题(说多了都是泪。。。)
二、安装中‘雷’
首先是pip
pip install airflow
如果pip版本低于10.0可能会报错,升级pip即可
python -m pip install --upgrade pip
如果使用的mysql是低于5.5,可能会出现下面的错误:
错误如下:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1071, ‘Specified key was too long; max key length is 1000 bytes’) [SQL: u’\nCREATE TABLE sla_miss (\n\ttask_id VARCHAR(250) NOT NULL, \n\tdag_id VARCHAR(250) NOT NULL, \n\texecution_date DATETIME NOT NULL, \n\temail_sent BOOL, \n\ttimestamp DATETIME, \n\tdescription TEXT, \n\tPRIMARY KEY (task_id, dag_id, execution_date), \n\tCHECK (email_sent IN (0, 1))\n)\n\n’
根据这篇博文推测可能是utf8编码问题,你可以不更新版本然后更改编码,不指定utf-8,恭喜你,你会获得新的错误。更新吧兄弟。。。
如果报错出现找不到文件`LibmysqlClient_r.so.16'的错误。
首先查找是否存在该文件,不存在就如下步骤:
先在这里(64bit))找到你需要的mysql-lib包,然后你有两个选择,一是直接下载手动安装(博主是失败了。。。),二是
通过yum指定版本更新mysql-libs(推荐)。
如果使用的sqlite版本低于3.7,一样升级吧。不要问我怎么升级的,博主折腾了一下午,遇到各种问题,要不为啥用mysql呢(丢人丢人。。。,等解决了,再回来补上吧)