mac2019环境 Airflow+hive+spark+hadoop本地环境安装

1 环境介绍

本地安装可分为两个部分,mac软件环境, python开发环境
ps: 安装过程参考chatgpt、csdn文章
在这里插入图片描述

1.1 mac软件环境

目标安装的的软件是hive、apache-spark、hadoop,但是这三个软件又依赖java(spark依赖)、ssh(从warn日志看到,具体作用不明,可能是提交计算任务的时候依赖做权限验证)、数据库(hive依赖,postgres 实测问题较少)。zsh命令行解释器,用于执行指令, homebrew软件包管理器,安装卸载软件非常方便。接下来介绍各种软件情况。

1.1.1 环境变量

.zprofile 用来配置mac 用户登录时的环境变量,安装完软件后需要进行配置。 文档末尾提供一个参考示例。环境变量配置后才能方便的通过软件指令来进行操作。 同时python运行pyspark的时候也会使用到java的环境变量,配置错误会导致pyspark运行失败。
我都是把变量放.zprofile的,会比较省事

1.1.2 home-brew

安装过程涉及安装和删除,使用homebrew能解决很多不必要的问题。比如启动postgres

1.1.3 java

macos-sonoma 14.6.1自带hotspot 23版本,但是不满足spark运行环境要求,实测安装java openjdk 1.8 的版本可以使用。

1.1.4 ssh

目测是提交任务时候依赖,需要在~/.ssh 下面创建公钥、密钥同时把公钥备份重新命名才能让hadoop或spark使用到。

1.1.5 hive、spark、hadoop

需要解决的是账号密码、端口等配置,配置正确才能建立通讯。

1.2 Python 环境

1.2.1 miniforge3

python虚拟环境管理,因为公司不允许使用conda,所以用这个代替。 这个软件可以解决版本依赖冲突问题,同时管理python环境也很方便。 python开发环境和airflow 需要使用相同的python环境。

1.2.2 airflow

相当于python的一个组件,调用命令以后就能运行服务。python 代码里也会引用到这个组件。
写好的代码放到 airflow 组件的根目录下的 dags目录下就能被airflow识别。 代码文件复制过去后就会自动刷新调度任务。 可以在airflow上触发调度任务,验证执行结果。

1.2.3 python 开发环境

调试过程就能直接读到airflow的变量数据, 也可以调用pythonspark功能做调试。但是调试airflow不会把任务提交到airflow上。
所以验证要分两个阶段。

  1. 单独测试调度任务的逻辑 ,如果使用到了python 函数做任务的,参数需要自己设置一下传入。对使用xcom_push的还没实践过。
  2. 测试airflow dag代码逻辑。 验证就是运行有没有报错,变量取值是否正确。 任务依赖关系还得在airflow页面上查看。

2 安装步骤

经过反复调试成功,可能有些细节忘了。
如有遇到问题可以评论回复。或自行chat-gpt
有些服务启动会导致终端不能再输入指令了,command + T 创建新终端执行新指令,然后 source ~/.zprofile 更新环境变量即可

2.1 mac环境

2.1.1 homebrew

没有安装就用下面指令安装,打开终端
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
安装成功以后终端运行brew 有下面提示即可
在这里插入图片描述

2.1.2 ssh

  • cd ~/.ssh
  • ssh-keygen -t rsa -b 4096 -C “your_email@example.com” 创建公钥
  • cat id_rsa.pub >> authorized_keys 复制公钥
  • sudo systemsetup -setremotelogin on 启动ssh服务

2.1.3 安装java 1.8

  • 执行指令 brew install openjdk@8
  • export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) >> ~/.zprofile #这种方式不用自己去找java的目录
  • source ~/.zprofile
  • java -version #如果有打印java信息就安装成功了

2.1.4 安装postgres

  • brew install postgresql@14 #指定版本吧,其他版本没试过
  • 目录可能是/usr/local/var/postgresql@14、/opt/homebrew/opt/postgresql@14、/usr/local/opt/postgresql@14 验证一下即可,也可能没有@14,确认以后修改环境变量
  • export PATH=“/opt/homebrew/opt/postgresql@14/bin:$PATH” >> ~/.zprofile
  • source ~/.zprofile
  • initdb /opt/homebrew/var/postgresql@14 初始化数据库, 可能没有@14,我装的都没有@14结尾
  • brew services start postgresql@14 启动服务
  • brew services list 验证服务是否启动
  • psql postgres 登录数据库
  • 创建hive用户信息
  • CREATE DATABASE hive;
  • CREATE USER hiveuser WITH PASSWORD ‘hivepassword’;
  • GRANT ALL PRIVILEGES ON DATABASE hive TO hiveuser;
  • \q 或者control
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GDRetop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值