Skip to content

Latest commit

 

History

History
129 lines (87 loc) · 5.05 KB

安装部署记录.md

File metadata and controls

129 lines (87 loc) · 5.05 KB

1、centos7.9安装

2、python3.11安装

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

进入容器:docker exec -it 容器ID /bin/bash

curl -sSL install.astronomer.io | sudo bash -s
astronomer/astro-cli info installed /usr/local/bin/astro

初始化astro项目:astro dev init 修改airflow web服务端口号:astro config set webserver.port 18080 修改airflow 元数据库端口号:astro config set postgres.port 15445

启动项目:astro dev start (带环境变量启动: astro dev start --env .env ) 停止项目:astro dev stop
重启项目:astro dev restart

查看 airflow schedule的运行日志: astro dev logs -s

修改airflow默认的时区参数:
1)首先分别进入airflow webserver 和 airflow scheduler容器
执行 astro dev bash -w 进入 airflow webserver
执行 astro dev bash -s 进入 airflow scheduler

2)然后分别在webserver和scheduler容器内修改时区参数

sed -i 's/default_timezone = utc/default_timezone = Asia\/Shanghai/g' "$AIRFLOW_HOME"/airflow.cfg 
sed -i 's/default_ui_timezone = UTC/default_ui_timezone = Asia\/Shanghai/g' "$AIRFLOW_HOME"/airflow.cfg

3)重启webserver和scheduler容器,使时区生效

airflow重跑task1任务历史数据:airflow dags backfill dag_name -s 2024-05-01 -e 2024-05-03 -t task1 (注:时间区间是左闭右开)

如需通过docker容器连接sql server, 需在容器上安装ODBC驱动。容器构建时会根据脚本自动安装,如果安装失败,则需进入 scheduler 上手动安装 odbc驱动

airflow默认账号密码:admin/admin

宿主机通过回环IP地址能访问docker里的airflow web应用(google-chrome "http://127.0.0.1:8080"),但是通过本机的IP地址就无法访问(google-chrome "http://本机IP地址:8080")。 原因是docker端口映射的问题:docker映射到本机的默认监听 127.0.0.1:8080 ,限制了其它地址的访问,此时通过本机的IP是无法访问成功的,需要修改本机监听地址为 0.0.0.0:8080才能在外网成功访问。 具体解决方案是:在项目的docker-compose.override.yml文件里添加任意IP端口映射,同时把端口改为18080:

ports:

  • "18080:8080"

5、postgresql安装

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql15-server

初始化:/usr/pgsql-15/bin/initdb -D /data/pgdata

设置自启动 sudo systemctl enable postgresql-15 sudo systemctl start postgresql-15

安装成功后,会自动创建操作系统用户:postgres(无密码)

alter user postgres with password 'hufw97fwfewwe';

修改端口号后,通过psql连接数据库: psql -p 15432

查看端口号: netstat -tlunp |grep 15432

创建用户和分配权限: create user datadev with password 'datadev331';

grant CONNECT on DATABASE sfydw to datadev;

\c sfydw

grant "pg_read_all_data" TO datadev;

grant usage on schema ads to datadev;

grant SELECT ON TABLE ads.ads_pm_zone_income_expend_m to datadev;

create user dataprd with password 'dataprdfwf98937f323';

ALTER ROLE "dataprd" SUPERUSER;

   git clone --depth=1 https://github.com/airbytehq/airbyte.git  
   cd airbyte   
   bash run-ab-platform.sh

重启项目:docker compose restart

启动项目:docker compose up

关闭项目:docker compose down

airbyte数据同步方式: Full Refresh | Overwrite : 全量采集 | 覆盖更新

Full Refresh | Append : 全量采集 | 追加更新

Incremental | Append : 增量采集(cdc或时间戳增量字段)| 追加更新

Incremental | Append + Deduped : 增量采集(cdc或时间戳增量字段)| upsert更新

初始化dbt项目:dbt init dtb_project

整个项目debug:dbt debug

整个项目编译:dbt compile

整个项目执行:dbt run

执行某一个dbt模型代码: dbt run --select tab123

带参数执行某一个dbt模型: dbt run --select tab123 --vars 'etl_date: 2023-11-11'