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

一、安装docker 

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

下载到本地后解压

tar -zxf docker-18.09..tgz 

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

cp docker/* /usr/bin/

将docker注册为service

新建文件

vim /etc/systemd/system/docker.service

并添加以下内容

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target [Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd and above support this version.
#TasksMax=infinity
TimeoutStartSec=
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=
StartLimitInterval=60s [Install]
WantedBy=multi-user.target

添加文件权限

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

启动docker

systemctl start docker

验证

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

  

二、安装airflow容器

先在宿主机安装mysql

上传mysql安装包

先卸载自带的mysql相关的包

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

再依次安装

bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-common-5.7.-.el7.x86_64.rpm
warning: mysql-community-common-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-common-5.7.-.e################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-libs-5.7.-.el7.x86_64.rpm
warning: mysql-community-libs-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-libs-5.7.-.el7################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-libs-compat-5.7.-.el7.x86_64.rpm
warning: mysql-community-libs-compat-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-libs-compat-5.7.################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-embedded-compat-5.7.-.el7.x86_64.rpm
warning: mysql-community-embedded-compat-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-embedded-compat-################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-devel-5.7.-.el7.x86_64.rpm
warning: mysql-community-devel-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-devel-5.7.-.el################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-client-5.7.-.el7.x86_64.rpm
warning: mysql-community-client-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-client-5.7.-.e################################# [%]
[bigdata@bigdata mysql]$ sudo rpm -ivh mysql-community-server-5.7.-.el7.x86_64.rpm
warning: mysql-community-server-5.7.-.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:mysql-community-server-5.7.-.e################################# [%]
[bigdata@bigdata mysql]$

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

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

配置msyql

mysql> flush privileges;
Query OK, rows affected (0.00 sec) mysql> set password for root@localhost = password('Admin123!');
Query OK, rows affected, warning (0.00 sec) mysql> create user 'airflow'@'localhost' identified by 'Airflow123!';
Query OK, rows affected (0.05 sec)
mysql> create database airflow;
Query OK, 1 row affected (0.00 sec) mysql> create user 'airflow'@'%' identified by 'AirFlow123!';
Query OK, 0 rows affected (0.02 sec) mysql> GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY 'AirFlow123!';
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]下添加编码配置

character_set_server=utf8
init_connect='SET NAMES utf8'

vim /etc/my.cnf

添加这一句

explicit_defaults_for_timestamp=1

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

三、docker上安装airflow

git clone https://github.com/puckel/docker-airflow.git /root/airflow //下载源码到airflow文件夹

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   //运行容器

/* 我这里把本地的目录映射到容器里面去  通过 -v 参数进行映射**/

进入容器

docker exec -it -u root airflow6 bash

修改配置文件

自动扫描.py文件

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

修改检查新的dag的间隔

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. springboot热部署如果不行

    如果热部署不行先看一眼 Project——>Build Automatically 看这个有没有打对勾,这是热部署的依赖

  2. HTML JS 弹层后底部页面禁止滚动处理

    1.打开新页面时需要禁止鼠标滚轮,禁止页面滑动: 1 2 3 4 在调用显示层时加上这句js代码就可以了: document.documentElement.style.overflow = &quo ...

  3. 字符串匹配问题x

    qwq这个是栈的w   不是树w   qwq我承认我发题很杂啦   字符串匹配问题x [问题描述]        字符串中只含有括号 (),[],<>,{},判断输入的字符串中括号是否匹配 ...

  4. oracle基本使用

    一.数据库 1.1 主流数据库 微软: sql server .access 瑞典MySQL: AB公司mysql IBM公司: db2 美国Sybase公司:sybase 美国oracle公司: o ...

  5. Python数据挖掘-文本挖掘

    文本挖掘概要 搞什么的? 从大量文本数据中,抽取出有价值的知识,并且利用这些知识更好的组织信息的过程. 目的是什么? 把文本信息转化为人们可利用的知识. 举例来说,下面的图表利用文本挖掘技术对库克ip ...

  6. 部署自己的聊天系统 DuckChat(鸭信)

    之前在找一款能自己部署的聊天系统,要求含有手机端APP,最好部署过程能简单点的.看了几款稍嫌麻烦,有的还没有app.今天无意间发现了这款DuckChat,开源免费,有手机APP,部署非常简单.直接上传 ...

  7. 创建express项目(nodejs)

    1.下载nodejs安装包 nodejs官网下载最新版本就行,网址:http://nodejs.cn/download/,点击自己适用的系统,自动下载跟电脑操作系统位数符合的安装包, 2.配置环境 最 ...

  8. Alpha冲刺(6/6)

    队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 协调了一下组内的工作 复习了一下SuffixAutomata 接下来的计划 实现更多的功能 ...

  9. decimal模块 --数字的精度、保留小数位数、取整问题

    开始之前需要注意一点是:精度值为数字的总位数,如:1.23, 精度值为3: 0.123,精度值也为3 1.更改默认精度值后,直接进行计算即可保留对应精度值 from decimal import ge ...

  10. 改进后的socket轮子,欢迎挑战

    运行环境.net core2.1 下载地址