前置工作
安装 HomeBrew
参考官方文档进行安装
配置本机 ssh 免密登录
hadoop 运行过程中需要 ssh localhost
,需要做一些配置保证可以执行成功
允许远程登录
偏好设置 -> 共享 -> 勾选「远程登录」
配置 SSH
- 通过
ssh-keygen
生成 ssh key -
ssh-copy-id -i [key 文件] localhost
配置免密登录 -
ssh localhost
也只能正配置是否成功
安装 Hadoop
brew install 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
测试与验证
启动 hdfs
cd $HADOOP_HOME
../sbin/start-dfs.sh
浏览器输入 http://localhost:9870
,出现下面界面则代表启动成功
查看 hdfs report
hdfs dfsadmin -report
启动 yarn
cd $HADOOP_HOME
../sbin/start-yarn.sh
浏览器输入 http://localhost:8088
,出现下面界面则代表启动成功
遇到问题及解决
初始化 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"