zoukankan      html  css  js  c++  java
  • airflow安装文档

    通过pip 包方式安装 airflow

    pip3 install apache-airflow -i http://mirrors.aliyun.com/pypi/simple/
    

    python3的话需要有pymysql包, 没有的话安装:

    pip3 install pymysql -i http://mirrors.aliyun.com/pypi/simple/
    

    在MySQL上配置airflow相关表

    --创建数据库
    create database airflow;
    --将数据库airflow的所有权限授权airflow用户,密码''且该用户可在任何IP段登录操作
    GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY '你的密码';
    --刷新权限
    FLUSH PRIVILEGES;
    --不配会报错: Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql
    use airflow;
    set global explicit_defaults_for_timestamp = 1;
    

    vim ~/airflow/airflow.cfg 修改airflow配置文件, 修改以下两项:

    # 改为本地调度器(默认并发调度16)
    executor = LocalExecutor 
    # 配置mysql
    sql_alchemy_conn = mysql+pymysql://airflow:你的密码@127.0.0.1:3306/airflow
    

    初始化数据库

    • 若之前没有初始化

      • airflow initdb
    • 若之前初始化过

      • airflow resetdb

    遇到的一个Bug

    sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1050, "Table 'dag_stats' already exists")
    [SQL: 
    CREATE TABLE dag_stats (
    	dag_id VARCHAR(250) NOT NULL, 
    	state VARCHAR(50) NOT NULL, 
    	count INTEGER NOT NULL, 
    	dirty BOOL NOT NULL, 
    	PRIMARY KEY (dag_id, state), 
    	CHECK (dirty IN (0, 1))
    )
    
    • dag_stats表已经存在

    • 解决方案:

      use airflow;
      drop table dag_stats;
      
      • 然后再airflow resetdb
  • 相关阅读:
    lombok介绍
    idea 离线安装 lombok插件
    Java中Lambda表达式的使用
    接口里的default,static方法
    Maven多环境配置实战 filter
    redis lua脚本学习
    redis的安装
    jdbc插入或查询数据库时间总是比实际时间少8小时原因
    [设计模式]单件模式
    [设计模式]命令模式
  • 原文地址:https://www.cnblogs.com/ronnieyuan/p/12668485.html
Copyright © 2011-2022 走看看