百里登风

导航

银河麒麟系统申威cpu 部署airflow2

一、准备Python3环境

通过修改系统的软链接,使默认python版本指向python3,这个方法是利用系统自带的python版本就行修改

1.    whereis python //查看系统自带的python  
2.      
3.    cd /usr/bin  
4.      
5.    rm -rf python //删除默认的python2软链接  
6.      
7.    ln -s /usr/bin/python3.7 python //生成新的软链接指向python3 

 

如果说需要更高的python版本的话,就需要去安装新的包了

1、下载源码并解压

下载地址参考:

淘宝 https://npm.taobao.org/mirrors/python/

华为 https://mirrors.huaweicloud.com/python/

解压

1.	tar -zxf Python-3.9.10.tgz  

  

2、编译

先安装依赖环境

1.    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel  -y  

 

开始编译

1.    cd Python-3.9.10/  
2.      
3.    ./configure prefix=/usr/local/python3 --enable-optimizations --build=aarch64-unknown-linux  
4.      
5.    make && make install //约过了亿万年以后,编译完成  

 

 

 

3、创建软链接

1.    cd /usr/bin  
2.    ln -s /usr/local/python3/bin/python3.9 python  
3.    ln -s /usr/local/python3/bin/pip3 pip3  

 

 

二、安装mysql(前提是已经安装了docker以及docker-compose)

1、拉取mysql镜像

1.    docker pull  leechm/mysql:5.7.33 //拉取mysql镜像

 

 

2、创建mysql的目录,并在该目录下创建docker-compose.yml文件

例如:在/opt/softwares/mysql/目录下创建docker-compose.yml文件

1.    version: '3.1'  
2.    services:  
3.      db:  
4.        # 目前 latest 版本为 MySQL8.x  
5.        image: leechm/mysql:5.7.33  
6.        restart: always  
7.        container_name: mysql  
8.        environment:  
9.          MYSQL_ROOT_PASSWORD: "cetc@2022"  
10.        command:  
11.          --default-authentication-plugin=mysql_native_password  
12.          --character-set-server=utf8mb4  
13.          --collation-server=utf8mb4_general_ci  
14.          --explicit_defaults_for_timestamp=true  
15.          --lower_case_table_names=1  
16.          --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  
17.        ports:  
18.          - 3306:3306  
19.        volumes:  
20.          - ./data:/var/lib/mysql  

 

3、在mysql目录下创建data目录,同时创建my.cnf文件

my.cnf文件内容如下:

1.    [client]  
2.    [mysql]  
3.    [mysqld]  
4.    skip-name-resolve  
5.    skip-grant-tables  //开启无密码登录

 

4、后台启动mysql容器

1.    docker-compose up -d  

 

5、设置mysql的登录密码并开启远程登录权限

1.    docker exec -u root -it mysql bash //进入mysql容器  
2.      
3.    mysql -u root -p //登录mysql,直接回车,这个时候不需要密码  
4.      
5.    mysql> set password for root@localhost = password('cetc@2022');  
6.    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement  
7.    mysql> flush privileges;  
8.    Query OK, 0 rows affected (0.00 sec)  
9.      
10.    mysql> set password for root@localhost = password('cetc@2022');  
11.    Query OK, 0 rows affected, 1 warning (0.00 sec)  
12.      
13.    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cetc@2022';  
14.    Query OK, 0 rows affected, 1 warning (0.00 sec)  
15.      
16.    mysql> flush privileges;  
17.    Query OK, 0 rows affected (0.00 sec)  
18.      
19.    mysql> quit   //退出mysql  
20.    bash-5.0# exit  //退出容器 

 

6、修改配置文件my.cnf

1.    [client]  
2.    [mysql]  
3.    [mysqld]  
4.    skip-name-resolve  
5.    #skip-grant-tables   //取消无密码登录
6.    character_set_server=utf8  
7.    init_connect='SET NAMES utf8'  

 

7、重启mysql容器

1.    docker restart mysql  

 

三、安装airflow

我这里是基于Python3.7来安装最新版本的,因为服务器是申威的,如果缺少依赖包的话,需要下载可以参考:http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/base/sw_64

1、配置环境变量

1.    export AIRFLOW_HOME=/opt/softwares/airflow  
2.    export SLUGIFY_USES_TEXT_UNIDECODE=yes  

 

2、在线安装airflow

1.    pip3 install apache-airflow  
2.      
3.    pip3 install apache-airflow[mysql] 

 

3、修改airflow的配置文件

1.    cd /opt/softwares/airflow/ //这个路径在配置环境变量的时候指定了  
2.      
3.    vim airflow.cfg  

 

1.    executor = LocalExecutor //配置执行模式  
2.      
3.    //配置mysql数据库  
4.    sql_alchemy_conn = mysql://root:cetc2022@10.237.207.14:3306/airflow   
5.      
6.    web_server_host = 10.237.207.14
7.    
8.    //添加这两行,配置登录页需要账号密码  
9.    authenticate = True  
10.   auth_backend = airflow.contrib.auth.backends.password_auth  

 

4、执行命令,设置airflow登录页面用户名和密码

1.    airflow users create  --lastname root --firstname root --username root --email admin@qq.com --role Admin --password root  

 

5、初始化airflow数据库

1.    airflow db init  

6、启动airflow

1.    airflow webserver --port 8080 //启动websever  
2.    airflow scheduler  //启动调度  

 

后台启动参考命令

1.    nohup airflow worker>>$AIRFLOW_HOME/airflow-worker.log 2>&1 &  
2.    nohup airflow scheduler>>$AIRFLOW_HOME/airflow-scheduler.log 2>&1 &  
3.    nohup airflow webserver>>$AIRFLOW_HOME/airflow-webserver.log 2>&1 &

 

7、打开页面输入用户名root、密码root  

 

 

 

posted on 2022-11-11 10:53  百里登峰  阅读(411)  评论(0编辑  收藏  举报