银河麒麟系统申威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 | 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2021-11-11 docker方式安装FastDFS