转载文章:https://zhuanlan.zhihu.com/p/427671213
原文作者:Lionel
如有侵权,请联系删除。

Apache的Hadoop是一个框架,允许跨使用简单的编程模型,计算机集群的大型数据集的分布式处理。

在本文中,我展示了如何在 Macbook M1 特定的 MacOS 上安装 Hadoop,修复可能的错误,并同时配备有Homebrew的中科大源镜像安装步骤。

第 1 步:安装 HomeBrew

首先在终端中使用以下命令,由于homebrew安装环境极不稳定,选择USTC镜像进行替换:

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
brew update

若用户设置了环境变量HOMEBREW_BREW_GIT_REMOTE,则每次运行brewupdate时将会自动设置远程。 推荐将环境变量HOMEBREW_BREW_GIT_REMOTE加入 shell 的 profile 设置中:

# 对于 bash 用户
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >> ~/.bash_profile

# 对于 zsh 用户
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >> ~/.zshrc

bash和zsh是两种不同的shell命令行,在Mac中根据系统不同进行区分,MacOS Big Sur及以后的系统均使用zsh命令。

依次在终端命令行运行如下几条命令设置环境变量:

if [[ "$(uname -s)" == "Linux" ]]; then BREW_TYPE="linuxbrew"; else BREW_TYPE="homebrew"; fi
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/${BREW_TYPE}-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/${BREW_TYPE}-bottles"

之后在命令行运行 Homebrew 安装脚本:

/bin/bash -c "$(curl -fsSL https://github.com/Homebrew/install/raw/HEAD/install.sh)"

若执行卡顿无法加载也可以按Control+C中断退出,使用替代命令执行:

/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/Homebrew/install@HEAD/install.sh)"

第 2 步:使用 HomeBrew 安装 Hadoop

brew install hadoop

打开包含环境变量设置的文档:

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop

然后用任何编辑器打开 hadoop-env.sh,在这里示例使用vim:

vim hadoop-env.sh

请确保在系统上安装了 Java JDK 和 JAVA_HOME 设置。如果还没有安装点击此处(Mac m1安装java jdk maven),可以只进行第一步安装Java JDK。

使用此命令在终端中查找路径:

/usr/libexec/java_home

并将自己电脑中的该路径添加在vim打开的 hadoop-env.sh 中:

01 添加JAVA_HOME别忘了Esc后":wq"进行保存。

第 3 步:更改核心文件

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code core-site.xml

并添加以下配置:

<configuration>
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value>
 </property>
</configuration>

第 4 步:更改 hdfs 文件

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code hdfs-site.xml

添加配置:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

第 5 步:对映射文件进行更改

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code mapred-site.xml

加入配置:

<configuration>
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    <property>
      <name>mapreduce.application.classpath</name>   
      <value>
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*
      </value>
    </property>
</configuration>

第 6 步:更改yarn文件

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code yarn-site.xml

加入配置:

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>  
   <value>
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
  </value>
  </property>
</configuration>

第7步:系统偏好设置

打开“共享”界面,开启远程登录并加入当前用户:

02 第8步:初始化并运行Hadoop

cd /opt/homebrew/Cellar/hadoop/3.3.1/bin
./hdfs namenode -format

初始化完成(只需第一次安装时执行上面命令)。

随便一个路径下输入start-all.sh,待加载完成后,键入 jps 以确认Hadoop的所有部分都已安装并运行:

03 或只需在浏览器地址栏输入http://localhost:9870http://localhost:8088/cluster

均打开成功也就配置成功了。

最后修改:2022 年 03 月 30 日
如果觉得我的文章对你有用,请随意赞赏