Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problem beim Konfigurieren von MySql mit Apache Airflow in Hadoop

Befolgen Sie diese Schritte, um Apache Airflow mit MySQL mit Anaconda3

zu installieren

1) Voraussetzungen installieren

yum install gcc gcc-c++ -y
yum install libffi-devel mariadb-devel cyrus-sasl-devel -y
dnf install redhat-rpm-config

2) Installieren Sie Anaconda3 (wird mit Python 3.7.6 geliefert)

yum install libXcomposite libXcursor libXi libXtst libXrandr alsa-lib mesa-libEGL libXdamage mesa-libGL libXScrnSaver
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
chmod +x Anaconda3-2020.02-Linux-x86_64.sh 
./Anaconda3-2020.02-Linux-x86_64.sh

Stellen Sie sicher, dass Sie conda initialize ausführen wenn Sie während der Installation dazu aufgefordert werden. Dadurch wird sichergestellt, dass in den nachfolgenden Schritten die richtige Version von Python und Pip verwendet wird.

3) Installieren Sie Apache Airflow

pip install apache-airflow[mysql,celery]

Sie können bei Bedarf weitere Unterpakete hinzufügen. Ich habe nur die hinzugefügt, die Airflow benötigt, um die MySQL-Datenbank als Backend zu verwenden.

4) Airflow initialisieren

export AIRFLOW_HOME=~/airflow
airflow initdb

Von hier aus habe ich die Schritte nachgeahmt, die Sie befolgt haben, um MySQL Server zu konfigurieren

5) MySQL-Server installieren

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm 
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo 
yum --enablerepo=mysql80-community install mysql-server 
systemctl start mysqld.service

6) Melden Sie sich bei MySQL an und konfigurieren Sie die Datenbank für Airflow

mysql> CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
mysql> CREATE user 'airflow'@'localhost' identified by 'Airflow123'; 
mysql> GRANT ALL privileges on *.* to 'airflow'@'localhost'; 

7) Aktualisieren Sie die Airflow-Konfigurationsdatei (~/airflow/airflow.cfg)

sql_alchemy_conn = mysql://airflow:[email protected]:3306/airflow
executor = CeleryExecutor

8) Airflow initialisieren

airflow initdb