参考资料
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 2
cd /opt/homebrew/Cellar/hadoop/3.3.4/libexec/etc/hadoop vim log4j.properties
向
log4j.properties
配置文件中追加1
log4j.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
层级如下
随后在命令行输入
1
hadoop checknative -a
查看本地库是否被正确加载
1 2 3 4 5 6 7 8
Native 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 了