本人的环境是基于centos7下来安装的

一、安装docker 

下载docker安装包,下载地址:https://download.docker.com/linux/static/stable/x86_64/

下载到本地后解压

  1. tar -zxf docker-18.09..tgz 

将解压出来的docker文件内容移动到 /usr/bin/ 目录下

  1. cp docker/* /usr/bin/

将docker注册为service

新建文件

vim /etc/systemd/system/docker.service

并添加以下内容

  1. [Unit]
  2. Description=Docker Application Container Engine
  3. Documentation=https://docs.docker.com
  4. After=network-online.target firewalld.service
  5. Wants=network-online.target
  6.  
  7. [Service]
  8. Type=notify
  9. # the default is not to use systemd for cgroups because the delegate issues still
  10. # exists and systemd currently does not support the cgroup feature set required
  11. # for containers run by docker
  12. ExecStart=/usr/bin/dockerd
  13. ExecReload=/bin/kill -s HUP $MAINPID
  14. # Having non-zero Limit*s causes performance problems due to accounting overhead
  15. # in the kernel. We recommend using cgroups to do container-local accounting.
  16. LimitNOFILE=infinity
  17. LimitNPROC=infinity
  18. LimitCORE=infinity
  19. # Uncomment TasksMax if your systemd version supports it.
  20. # Only systemd and above support this version.
  21. #TasksMax=infinity
  22. TimeoutStartSec=
  23. # set delegate yes so that systemd does not reset the cgroups of docker containers
  24. Delegate=yes
  25. # kill only the docker process, not all processes in the cgroup
  26. KillMode=process
  27. # restart the docker process if it exits prematurely
  28. Restart=on-failure
  29. StartLimitBurst=
  30. StartLimitInterval=60s
  31.  
  32. [Install]
  33. WantedBy=multi-user.target

添加文件权限

  1. chmod +x /etc/systemd/system/docker.service
  2. systemctl daemon-reload

启动docker

  1. systemctl start docker

验证

  1. systemctl status docker #查看Docker状态
  2. docker -v #查看Docker版本

  

二、安装airflow容器

先在宿主机安装mysql

上传mysql安装包

先卸载自带的mysql相关的包

  1. rpm -qa|grep mariadb
  2. mariadb-libs-5.5.-.el7_5.x86_64
  3. $ rpm -e --nodeps mariadb-libs-5.5.-.el7_5.x86_64
  4. error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)
  5. $ sudo rpm -e --nodeps mariadb-libs-5.5.-.el7_5.x86_64
  6. $ rpm -qa|grep mariadb

再依次安装

  1. bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-common-5.7.-.el7.x86_64.rpm
  2. warning: mysql-community-common-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  3. Preparing... ################################# [%]
  4. Updating / installing...
  5. :mysql-community-common-5.7.-.e################################# [%]
  6. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-libs-5.7.-.el7.x86_64.rpm
  7. warning: mysql-community-libs-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  8. Preparing... ################################# [%]
  9. Updating / installing...
  10. :mysql-community-libs-5.7.-.el7################################# [%]
  11. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-libs-compat-5.7.-.el7.x86_64.rpm
  12. warning: mysql-community-libs-compat-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  13. Preparing... ################################# [%]
  14. Updating / installing...
  15. :mysql-community-libs-compat-5.7.################################# [%]
  16. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-embedded-compat-5.7.-.el7.x86_64.rpm
  17. warning: mysql-community-embedded-compat-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  18. Preparing... ################################# [%]
  19. Updating / installing...
  20. :mysql-community-embedded-compat-################################# [%]
  21. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-devel-5.7.-.el7.x86_64.rpm
  22. warning: mysql-community-devel-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  23. Preparing... ################################# [%]
  24. Updating / installing...
  25. :mysql-community-devel-5.7.-.el################################# [%]
  26. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-client-5.7.-.el7.x86_64.rpm
  27. warning: mysql-community-client-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  28. Preparing... ################################# [%]
  29. Updating / installing...
  30. :mysql-community-client-5.7.-.e################################# [%]
  31. [bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-server-5.7.-.el7.x86_64.rpm
  32. warning: mysql-community-server-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  33. Preparing... ################################# [%]
  34. Updating / installing...
  35. :mysql-community-server-5.7.-.e################################# [%]
  36. [bigdata@bigdata mysql]$

skip-grant-tables #添加这句话,这时候登入mysql就不需要密码

登录mysql,输入密码处直接回车就可以

配置msyql

  1. mysql> flush privileges;
  2. Query OK, rows affected (0.00 sec)
  3.  
  4. mysql> set password for root@localhost = password('Admin123!');
  5. Query OK, rows affected, warning (0.00 sec)
  6.  
  7. mysql> create user 'airflow'@'localhost' identified by 'Airflow123!';
  8. Query OK, rows affected (0.05 sec)
  9.  
  1. mysql> create database airflow;
  2. Query OK, 1 row affected (0.00 sec)
  3.  
  4. mysql> create user 'airflow'@'%' identified by 'AirFlow123!';
  5. Query OK, 0 rows affected (0.02 sec)
  6.  
  7. mysql> GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY 'AirFlow123!';
  8. Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> GRANT all privileges on airflow.* TO 'root'@'172.17.0.2' IDENTIFIED BY 'Admin123!';
Query OK, 0 rows affected, 1 warning (0.04 sec)

//172.17.0.2 是我的docker容器的地址

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置

  1. character_set_server=utf8
  2. init_connect='SET NAMES utf8'

vim /etc/my.cnf

添加这一句

  1. explicit_defaults_for_timestamp=1

编辑保存完 重启mysql服务: sudo systemctl restart mysqld.service

三、docker上安装airflow

  1. git clone https://github.com/puckel/docker-airflow.git /root/airflow //下载源码到airflow文件夹
  2.  
  3. docker run --name airflow6  -v /usr/local/airflow/dags:/usr/local/airflow/dags -v /usr/local/airflow/airflowSql:/usr/local/airflow/airflowSql  -v /home/airflow/airflow.cfg:/usr/local/airflow/airflow.cfg -d -p 8086:8080 --privileged puckel/docker-airflow   //运行容器
  4.  
  5. /* 我这里把本地的目录映射到容器里面去 通过 -v 参数进行映射**/

进入容器

  1. docker exec -it -u root airflow6 bash

修改配置文件

自动扫描.py文件

修改scheduler线程数控制并发量(这个通常在性能调优方面)

修改检查新的dag的间隔

  1. airflow initdb // 初始化数据库

出现错误:

airflow.exceptions.AirflowException: Could not create Fernet object: Incorrect padding

解决办法:

python -c "from cryptography.fernet import Fernet;

print(Fernet.generate_key().decode())"

export AIRFLOW__CORE__FERNET_KEY=oNu9XwewQNyx9mAJT2vZvtm3qzPRZIWRqwk9hSVch4A=

airflow initdb // 重新运行初始化数据库

打开浏览器

在docker容器下安装airflow的更多相关文章

  1. Centos7环境下Docker容器的安装与卸载

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  2. Elasticsearch Docker环境下安装

    Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...

  3. 在Docker容器中安装jdk和spark

    在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...

  4. Docker容器编译安装Redis

    Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...

  5. Docker容器手动安装oracle19C

    Docker容器手动安装oracle19C docker容器体积小,与宿主机共用内核参数,因此修改宿主机的内核参数即是修改容器的内核参数 1.修改宿主机内核参数 [root@localhost ~]# ...

  6. docker容器里面安装ssh

    docker容器里面安装ssh https://blog.csdn.net/chengxuyuanyonghu/article/details/76619097

  7. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集

    docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh ...

  8. Docker容器的安装和使用

    Docker容器的安装和使用 安装: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 或国内:curl -sSL ...

  9. Docker容器编译安装Nginx

    Docker容器编译安装Nginx,最简单的Nginx配置. 创建容器&进入容器 宿主机2080映射容器的80端口 [root@localhost ~]# docker run -i -d - ...

随机推荐

  1. IDEA Java

    目录 1 配置 2 常用快捷键 3 安装插件 4 使用Maven创建web项目 5 使用Maven导入依赖 6 Maven创建项目后缺少文件夹 7 Tomcat LocalHost Log消失 8 E ...

  2. Luogu P2824 [HEOI2016/TJOI2016]排序 线段树+脑子

    只会两个$log$的$qwq$ 我们二分答案:设答案为$ans$,则我们把$a[i]<=ans$全部设成$0$,把$a[i]>ans$全部设成$1$,扔到线段树里,这样区间排序(升序)就是 ...

  3. luogu 2279 [HNOI2003]消防局的设立 树形dp

    就是细节多一些,思路都非常常规. Code: #include <bits/stdc++.h> #define N 1005 #define inf 1061109567 #define ...

  4. [Luogu] 计算系数

    https://www.luogu.org/problemnew/show/P1313#sub Answer = a ^ n * b ^ m * C(k, min(n,  m)) 这里用费马小定理求逆 ...

  5. 【CUDA 基础】6.2 并发内核执行

    title: [CUDA 基础]6.2 并发内核执行 categories: - CUDA - Freshman tags: - 流 - 事件 - 深度优先 - 广度优先 - 硬件工作队列 - 默认流 ...

  6. 7.20T1

    排序(sort) [问题描述] 有 n 个人依次站在小 A 面前.小 A 会依次对这 n 个人进行 m 次操作. 每次操作选择一个位置 k,将这 n 个人中的所有身高小于等于当前 k 位置的 人的身高 ...

  7. 2017 ZSTU寒假排位赛 #7

    题目链接:https://vjudge.net/contest/149498#overview. A题,水题,直接按照题意模拟一下即可. B题,我用的是线段树.大力用的差分标记(上次听zy说过,下次再 ...

  8. 手把手教你在Linux系统下安装MongoDB

    1. 下载最新的stable版MongoDB [root@spirit-of-fire ~]# wget http://downloads.mongodb.org/linux/mongodb-linu ...

  9. 2018-2019-2 20165330《网络对抗技术》Exp10 Final 基于PowerShell的渗透实践

    目录 实验内容 实验步骤 实验中遇到的问题 实验总结与体会 实验内容 PoweShell简介 PowerShell入门学习 PowerShell渗透工具介绍 相关渗透实践分析 ms15-034之Pow ...

  10. 单调队列优化dp(捡垃圾的机器人)

    /************************************************************************* > File Name: a.cpp > ...