首先我安装的Python是3.5.2版本的,接下来就是安装的一些步骤:
1、安装python3.5.2
1.0 安装python3.5可能使用的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel lrzsz zlib-devel gcc
1.1 使用rz命令上传本地的安装包到服务器上,这是我之前下好的,大家也可以自己安装,
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
1.2 解压
1.3 进入Python文件夹,然后执行configure文件设置你要安装的路径,我的安装路径是/opt/python35
1.4 增加python3的环境变量
增加一行
export PATH="$PATH:/opt/python35/bin/"
[root@instance-1lm0ywqy Python-3.5.2]# source ~/.bashrc
1.5 验证Python
2、安装airflow
2.1 先测试自己的环境是否有wget命令,没有的话需要进行安装:
sudo yum -y install wget
2.2 看看是否有gcc,没有的话需要进行安装:
yum install gcc (后续安装airflow如果不成功,可以再次执行,它会更新包)
2.3 想安装airflow,需先安装pip3,而安装pip3,需先安装setuptools(如果有,跳过)
以下链接地址皆是python官网https://www.python.org/里的。也可以根据自己的需要安装所需的版本
(1)下载setuptools:
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
解压:tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
编译:python3 setup.py build
安装:python3 setup.py install
(2) 如果没有pip3,需安装pip3
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3 setup.py build
python3 setup.py install
(3)pip3 install paramiko
(4)安装airflow前,还需要安装依赖的环境:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
安装airflow:
pip3 install apache-airflow
出现下面错误,按照提示,是环境变量的问题,所以执行命令
export SLUGIFY_USES_TEXT_UNIDECODE=yes再次执行pip3 install apache-airflow(需要等上一段时间)
2.4 设置变量,初始化数据库
export AIRFLOW_HOME=/opt/airflow
airflow initdb
会在/opt/airflow 目录下生成配置文件
(如果想设置成永久变量,可以在/etc/profile里添加,添加后记得source /etc/profile)
2.5 启动服务
airflow webserver
在浏览器中输入: IP:8080端口进行访问
如果浏览器访问不了,可能你的防火墙端口没看,执行下面命令
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
6.修改数据库配置
可以在/opt/airflow 目录下,修改airflow.cfg配置文件,数据库连接改为本地postgres的URL
先在postgres数据库里新建airflow数据库
然后修改airflow.cfg配置文件:
executor = LocalExecutor
sql_alchemy_conn = postgresql://postgres:[email protected]:5432/airflow
接着重新初始化数据库:
airflow initdb
最后还需在airflow目录下建一个dags包,用来存储使用者编写的脚步
mkdir /opt/airflow/dags
参考:https://blog.csdn.net/yonjarluo/article/details/78422755
2、安装postgres数据库
本文只讲PostgreSQL在CentOS 7.x 下的安装,其他系统请查看:https://www.postgresql.org/download
PostgreSQL 所用版本为:PostgreSQL 10
1.安装存储库
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
2.安装客户端
yum install postgresql10
3.安装服务端
yum install postgresql10-server
4.验证是否安装成功
rpm -aq| grep postgres
输出如下:
4.初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
5.启用开机自启动
systemctl enable postgresql-10
systemctl start postgresql-10
6.配置防火墙
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
7.修改用户密码
su - postgres 切换用户,执行后提示符会变为 '-bash-4.2$'
psql -U postgres 登录数据库,执行后提示符变为 'postgres=#'
ALTER USER postgres WITH PASSWORD 'postgres' 设置postgres用户密码为postgres
\q 退出数据库
8.开启远程访问
vim /var/lib/pgsql/10/data/postgresql.conf
修改#listen_addresses = 'localhost' 为 listen_addresses='*'
当然,此处‘*’也可以改为任何你想开放的服务器IP
9.信任远程连接
vi /var/lib/pgsql/10/data/pg_hba.conf
修改如下内容,信任指定服务器连接
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all all(需要连接的服务器IP,我设置为所有ip) trust
10.重启服务
systemctl restart postgresql-10
11.使用DBMS软件连接
这里使用的是Navicat
连接成功:
参考:http://www.cnblogs.com/stulzq/p/7766409.html
如果用Navicat链接不上,有可能防火墙没有开放端口:
请看我另一篇文章:https://mp.csdn.net/postedit/85169436
注:firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
其中在启动airflow时遇到个错误:
return self.dbapi.connect(*cargs, **cparams)
File "/opt/python35/lib/python3.5/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: Ident authentication failed for user "postgres"
这主要是由于用户密码认证方式引起的,Postgresql数据库安装好后默认采用md5密码加密认证方式。
解决方法:
1). 运行下面的命令编辑pg_hba.conf文件 sudo vim /var/lib/pgsql/10/data/pg_hba.conf
2). 将
# IPv4 local connections:
host all all 127.0.0.1/32 md5
更改为
# IPv4 local connections:
host all all 127.0.0.1/32 trust
3). 保存后重启postgres: systemctl restart postgresql-10