参考资料
YouTube - Install Hadoop on MacOS (Macbook M1) | HDFS
YouTube - Install Java JDK on macbook M1 / M2
文字版
Install Hadoop on MacOS (Macbook M1)
安装 HomeBrew
安装脚本
| |
GitHub可能需要配合科学上网,速度无法保证,可以改使用下方镜像
| |
安装 Java JDK
下载 zulu 维护的 Java8 JDK:Zulu Java8 JDK
本人环境安装的 Java11,也可以正常使用
安装完成后输入
| |

查看 Java 安装路径,并配置环境变量 JAVA_HOME
| |
在末尾追加:
| |
路径是上方指令输出的安装路径
安装 Hadoop
| |
也可以配置下
HADOOP_HOME,路径是/opt/homebrew/Cellar/hadoop/{版本号}/libexec
| |
版本可能有所不同,brew 安装的库都在
/opt/homebrew/Cellar/下,可以直接进入文件夹一层一层查看,也可以输入hadoop version查看版本号根目录下文件默认是隐藏的,macOS 下按下
Command+Shift+.可以切换显示隐藏文件
通过 open . 或 code .(VSCode 命令行指令) 进入当前文件夹
修改 core-site.xml
| |
修改 hdfs-site.xml
| |
修改 mapred-site.xml
| |
修改 yarn-site.xml
| |
修改 hadoop-env.sh
取消 export JAVA_HOME= 所在行的注释,并将 Java 路径补全(同上 JAVA_HOME)

开启 SSH 远程登录
生成 SSH 密钥对
如本地已有密钥对可忽略此步
| |
| |
输入
| |
如果没有报错则表示成功
开启远程登录
新版本:设置 => 通用 => 共享 => 远程登录


老版本如下

Hadoop 安装完成
输入
| |
启动集群,访问 http://localhost:9870,如有页面则说明启动成功
安装 HBase
| |
| |
修改 hbase-env.sh 文件
同上,取消 export JAVA_HOME= 所在行的注释,并将 Java 路径补全(同上 JAVA_HOME)

配置 hbase-site.xml
| |
在启动
HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。可以自行指定位置
输入
| |
启动 HBase 服务,访问 http://localhost:16010,如有页面说启动成功
输入 jps 查看服务状态,如下为 hadoop 和 hbase 都启动完成的状态:

(可选)安装 IntelliJ IDEA
Jetbrain 的开发包可以凭 edu 邮箱学生认证全部免费使用,直接官网下载即可
官网:IntelliJ IDEA – the Leading Java and Kotlin IDE
学生认证:Free Educational Licenses - Community Support
安装激活成功后需要手动导入 hadoop jre 包
新建项目后,点击左上角工具栏 File -> Project Structure

进入 Modules 栏,点击加号,选择 JARs or Directories 项

选择 /opt/homebrew/Cellar/hadoop/3.3.4/libexec/share/hadoop 目录下的所有文件夹,如下所示六个文件夹

即可正常调用 jar 包
(可选)替代本地库
本地库用于提升一些操作的性能(Java 不够快),并且弥补 Java 类库的不足,Hadoop 为某些组件提供了自己的本地实现,保存在一个独立的动态链接的库里,在 类 Unix 平台上名为 libhadoop.so
使用 homebrew 安装不会带上本地库,因此每次执行 hdfs 操作时都会提示警告

有两种解决方式:
忽略Warning提示
1 2cd /opt/homebrew/Cellar/hadoop/3.3.4/libexec/etc/hadoop vim log4j.properties向
log4j.properties配置文件中追加1log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR以忽略 ERROR 以下级别的提示
下载对应版本编译好的本地库
下载地址:healchow/hadoop-native-macos: The Hadoop native libraries for macOS

点击
Code下的Download Zip下载仓库,选择ARM目录下的对应版本,将文件复制到${HADOOP_HOME}/lib/native目录下这里的
HADOOP_HOME就是/opt/homebrew/Cellar/hadoop/{版本号}/libexec层级如下

随后在命令行输入
1hadoop checknative -a查看本地库是否被正确加载
1 2 3 4 5 6 7 8Native library checking: hadoop: true /opt/homebrew/Cellar/hadoop/3.3.4/libexec/lib/native/libhadoop.dylib zlib: false zstd : false bzip2: false openssl: false build does not support openssl. ISA-L: false libhadoop was built without ISA-L support PMDK: false The native code was built without PMDK support.在 hadoop 后显示了
true,说明加载成功了,其他的本地库也同理可以按需安装加载成功之后就不会再显示 Warning 了

