zoukankan      html  css  js  c++  java
  • airflow分布式部署(四)airflow环境变量与参数配置

    前面三步做完以后,就可以配置airflow的环境变量了

    在此之前,可能需要先安装下依赖包

    yum install mysql-devel gcc gcc-devel python-devel

    之后切换到python36

    conda activate py36

    找到airflow的安装目录,配置到环境变量

    #Airflow环境变量
    export AIRFLOW_HOME=/root/airflow
    export SITE_AIRFLOW_HOME=/root/miniconda3/envs/py36/lib/python3.6/site-packages/airflow
    export PATH=$PATH:$SITE_AIRFLOW_HOME/bin
    #生效环境变量
    source /etc/profile

    这个时候在/root/airflow下就会出现airflow.cfg文件,作如下修改

    executor = CeleryExecutor
    broker_url = redis://:${redis_password}@${redis_ip}:6379/0
    result_backend = db+mysql://${username}:${password}@${mysql_ip}:3306/airflow
    sql_alchemy_conn = mysql://${username}:${password}@${mysql_ip}/airflow
    #这两个默认端口8793,5555被占用了,所以改成了新的netstat -tunlp | grep 5555
    worker_log_server_port = 8795
    flower_port = 5556

    修改完配置文件,执行数据库初始化

    airflow initdb

    不报错就说明成功了,查看下mysql中airflow库下就会有airflow的表生成

    然后启动airflow

    #master服务器可以把如下服务都启动,worker只需要启动worker
    airflow webserver -D
    airflow scheduler -D
    airflow worker -D
    airflow flower -D

    如果启动成功,说明配置没问题,就可以把airflow.cfg同步(rsync)到worker服务器将worker启动起来

    正常情况根据airflow.cfg中的网址base_url 就可以找到airflow的web界面,代表webserver启动成功

    #/root/airflow/airflow.cfg
    base_url = http://localhost:8080
    
    web_server_host = 0.0.0.0
    
    web_server_port = 8080

    根据flower_port,就可以找到flower监控UI,看到已经启动的worker

     一劳永逸解决python找不到airflow自定义模块的问题

    管理员权限修改:/etc/profile。在最后一行加上:

    export PYTHONPATH=$PYTHONPATH:/home/utlis/

    然后运行如下代码,更新立即生效

    source /etc/profile 
  • 相关阅读:
    JQ优化性能
    CSS3 Filter的十种特效
    立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有什么区别?
    EasyUI DateBox
    Java8接口的默认方法
    MySQL -- insert ignore语句
    建数据库表经验总结
    IntelliJ IDEA 实用快捷键
    从 Java 代码到 CPU 指令
    使用ImmutableMap简化语句
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/13925422.html
Copyright © 2011-2022 走看看