前置工作
安装 HomeBrew
参考官方文档进行安装
配置本机 ssh 免密登录
hadoop 运行过程中需要 ssh localhost
,需要做一些配置保证可以执行成功
允许远程登录
偏好设置 -> 共享 -> 勾选「远程登录」
配置 SSH
- 通过
ssh-keygen
生成 ssh key ssh-copy-id -i [key 文件] localhost
配置免密登录ssh localhost
也只能正配置是否成功
安装 Hadoop
brew install hadoop
hadoop 安装成功
配置
配置环境变量
-
brew info hadoop
查看 hadoop 安装目录 -
定义 HADOOP_HOME 变量并添加到 PATH 中
# Hadoop export HADOOP_HOME=/usr/local/Cellar/hadoop/3.3.4/libexec export PATH=$PATH:HADOOP_HOME
-
source ~/.zshrc
使变量生效
配置 core-site$HADOOOP_HOME/etc/hadoop/core-site.xml
文件中配置临时文件目录及 hdfs 文件访问地址
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置 mapped-site$HADOOOP_HOME/etc/hadoop/mapped-site.xml
中配置
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
</configuration>
配置 hdfs-site$HADOOOP_HOME/etc/hadoop/hdfs-site.xml
中配置副本数
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置 hadoop-env$HADOOOP_HOME/etc/hadoop/hadoop-env.sh
中配置 JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home
初始化 HDFS NameNode
hdfs namenode -format
namenode 初始化
测试与验证
启动 hdfs
cd $HADOOP_HOME
../sbin/start-dfs.sh
浏览器输入 http://localhost:9870
,出现下面界面则代表启动成功
hdfs 管理界面
查看 hdfs report
hdfs dfsadmin -report
hdfs 报告
启动 yarn
cd $HADOOP_HOME
../sbin/start-yarn.sh
浏览器输入 http://localhost:8088
,出现下面界面则代表启动成功
yarn 管理界面
遇到问题及解决
-
初始化 namenode 时提示
ERROR: JAVA_HOME @@HOMEBREW_JAVA@@ does not exist.
在$HADOOOP_HOME/etc/hadoop/hadoop-env.sh
中配置JAVA_HOME
,和系统保持一致即可 -
提示
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 从 GitHub 下载相应的 native 库
- 将 lib/native 复制到
$HADOOP_HOME
目录内 ~/.zshrc
添加下面配置并使用source
令其生效
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"
参考资料
【hadoop】在Mac m1下搭建安装hadoop环境(亲测有效版)_mac部署hadoop_小松不菜的博客-CSDN博客
https://monday.blog.csdn.net/article/details/88189753
hadoop3.2.3 编译 native库(超详细,亲测成功)_hadoop native_兔帮大人的博客-CSDN博客
Index of /apache/hadoop/common/stable
Mac M1芯片本地安装 hadoop 集群填坑之路_喵王叭的博客-CSDN博客
mac安装Hadoop3.2.1教程(超详细)_http://localhost:9870/dfshealth.html_liemozhu的博客-CSDN博客
GitHub - healchow/hadoop-native-macos: The Hadoop native libraries for macOS
Mac下SSH免密登录localhost,error:Permission denied (publickey,password,keyboard-interactive). - 爱码网