发布时间:2025-06-24 19:58:41  作者:北方职教升学中心  阅读量:965


配置 Hadoop 中的文件

打开 hadoop 文件夹,再打开 /etc/hadoop 文件夹,修改以下文件:

1. 打开 hadoop-env.sh,添加 java_home 的位置:

使用这句话来查询 java_home 的位置:

/usr/libexec/java_home -V

2. 我的 hadoop 文件夹位置是:

/usr/local/Cellar/hadoop/hadoop-3.4.0

使用 terminal,在 hadoop 文件夹中新建几个文件夹:

mkdir /usr/local/Cellar/hadoop/hadoop-3.4.0/tmpmkdir /usr/local/Cellar/hadoop/hadoop-3.4.0/tmp/dfsmkdir /usr/local/Cellar/hadoop/hadoop-3.4.0/tmp/dfs/namemkdir /usr/local/Cellar/hadoop/hadoop-3.4.0/tmp/dfs/data

3. 打开 core-site.xml,添加:

<configuration>  <property>    <name>fs.defaultFS</name>    <value>hdfs://localhost:8020</value>  </property>   <property>    <name>hadoop.tmp.dir</name>    <!--hadoop安装地址+/tmp,刚刚新建的文件夹-->    <value>/usr/local/Cellar/hadoop/hadoop-3.4.0/tmp</value>  </property></configuration>

4. 打开 hdfs-site.xml,添加:

<configuration>   <property>      <name>dfs.replication</name>      <value>1</value>    </property>      <property>       <name>dfs.permissions</name>       <value>false</value>     </property>       <property>       <name>dfs.namenode.name.dir</name>        <!--hadoop安装地址+/tmp/dfs/name,刚刚新建的文件夹-->        <value>/usr/local/Cellar/hadoop/hadoop-3.4.0/tmp/dfs/name</value>    </property>     <property>        <name>dfs.datanode.data.dir</name>        <!--hadoop安装地址+/tmp/dfs/data,刚刚新建的文件夹-->        <value>/usr/local/Cellar/hadoop/hadoop-3.4.0/tmp/dfs/data</value>     </property></configuration>

5. 查看 hadoop classpath, terminal 输入:

hadoop classpath

打开 mapred-site.xml ,添加:

<configuration>  <property>     <name>mapreduce.framework.name</name>     <value>yarn</value>  </property>  <property>     <name>mapred.job.tracker</name>     <value>localhost:9010</value>  </property>    <property>      <name>mapreduce.application.classpath</name>        <!--上面查到的 Hadoop classpath-->      <value>/usr/local/Cellar/hadoop/hadoop-3.4.0/etc/hadoop:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/common/lib/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/common/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/hdfs:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/hdfs/lib/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/hdfs/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/mapreduce/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/yarn:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/yarn/lib/*:/usr/local/Cellar/hadoop/hadoop-3.4.0/share/hadoop/yarn/*</value> </property>    <property>     <name>yarn.app.mapreduce.am.env</name>     <!--hadoop安装地址-->     <value>/usr/local/Cellar/hadoop/hadoop-3.4.0</value>   </property>   <property>     <name>mapreduce.map.env</name>     <!--hadoop安装地址-->     <value>/usr/local/Cellar/hadoop/hadoop-3.4.0</value>   </property>   <property>     <name>mapreduce.reduce.env</name>     <!--hadoop安装地址-->     <value>/usr/local/Cellar/hadoop/hadoop-3.4.0</value>   </property>     </configuration>

6. 打开 yarn-site.xml,添加:

<configuration><!-- Site specific YARN configuration properties -->  <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value>  </property>  <property>    <name>yarn.resourcemanager.address</name>    <value>localhost:9000</value>   </property>      <property>    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>    <value>100</value>  </property>    <property>     <name>yarn.resourcemanager.hostname</name>     <value>127.0.0.1</value>   </property></configuration>

五、启动 Hadoop

1、JDK 安装

JDK 版本高于 JDK 8,可能会导致 Hadoop ResourceManager 打不开,从而导致无法访问 localhost:8088。

3. 打开 terminal:

(1) 如果之前没有生成过密钥,则生成:

ssh-keygen -t rsa

(2) 有密钥后,更改授权,免密登陆:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

三、

一、测试 Hadoop

使用 wordcount 函数测试。启动 Hadoop
1、配置历史服务器
通过历史服务器,可以很好的看到当前执行的job情况,还能回顾历史job的情况,非常方便。

1. 打开 terminal,输入:

vim ~/.bash_profile

2. 在文件中输入:

# Hadoop# 你本机的Hadoop存放地址export HADOOP_HOME=/usr/local/Cellar/hadoop/hadoop-3.4.0export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/binexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"export HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOME

3. 保存后,使之生效,这样便可在全局使用 hadoop 启动命令:

source ~/.bash_profile
2、配置 SSH

配置 SSH,防止后续连接失败。

1. 在 /etc/hadoop 目录下,打开 mapred.xml,添加:

<!--Job History server-->   <property>      <name>mapreduce.jobhistory.webapp.address</name>      <value>localhost:19888</value>   </property>

如图所示:

2. 重新启动 yarn:

start-yarn.sh

3. 启动历史服务器,terminal 输入:

mapred --daemon start historyserver

4. jps 命令查看是否启动:

5. 登陆网页查看:

登陆配置的网页:http://localhost:19888/jobhistory

参考文章

Hadoop 安装教程 (Mac m1/m2版)_m1 安装hadoop-CSDN博客

Mac 安装Hadoop教程(HomeBrew安装)_mac安装hadoop-CSDN博客

terminal 执行:

start-all.sh

执行结果:

2. 查看启动状态:

jps

3. 网页查看是否启动成功:

查看 HDFS 启动情况:http://localhost:9870

查看 YARN 启动情况:http://localhost:8088

4. 关闭 hadoop,输入:

stop-all.sh

六、

1. 在 hdfs 上创建一个文件夹 input,用于存放输入数据源:

hdfs dfs -mkdir -p input

2. 本地创建一个数据源文件 word.txt,将其上传到 hdfs:

hadoop fs -put wordinput/word.txt input/word.txt

3. 执行 wordcount 函数,进行计算:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar wordcount input/ woutput

显示成功:

4. 查看结果:

登陆 HDFS:http://localhost:9870

找到创建的文件夹,选择输出文件夹:

选择 “part-r-00000”: 

可以下载,也可以直接查看结果:

七、初始化

1. terminal 执行:

hdfs namenode -format
2、配置 Hadoop
1、 配置 Hadoop 全局变量:

注意这里是在主terminal配置。

参考这篇文章,觉得写的很好:MAC安装与卸载jdk_mac 卸载jdk-CSDN博客

二、

1. 输入:

ssh localhost

成功则显示:

2. 如果失败,则在本地设置中,搜索“共享”,打开“远程登录”。因此最好的方法,就是准备好 JDK 8 的环境,然后导入到 Hadoop 当中。

四、Hadoop下载

方法一:安装包下载

1. 登陆网址:hadoop安装连接

2. 选择自己要的版本下载,我下的是最新版:

3. 点进去后,选择 tar.gz:

4. 点击,下载到本地,然后解压,放在自己需要的目录中,我放在了

/usr/local/Cellar/hadoop/hadoop-3.4.0
方法二:Homebrew 安装

1. 本地先安装 Homebrew,参考这篇文章:Mac安装Homebrew

2. 安装 Hadoop:

brew install hadoop

PS: 这种安装方式可能会少 lib/native 文件夹,具体原因未知。