Hadoop安装教程 Mac版


一、JDK环境安装

1. 下载JDK1.8

Oracle官网下载JDK1.8版本
按照系统提示安装

2. 配置JDK环境变量

在terminal中输入 vi ~/.bash_profile ,按 i 进入编辑模式:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

esc 退出编辑,输入 :wq 保存并退出。
在terminal中输入 source ~/.bash_profile ,使配置的环境变量生效。

二、Hadoop安装

1. 设置ssh免密码登录

因为Hadoop是分布式平台,需要多个机器之间协作,设置ssh免密码登录可以减少每次登陆主机输入密码的繁琐流程。

1) 在Mac的系统偏好设置–>共享中打开远程登录:
2) 在terminal中输入 ssh-keygen -t rsa ,生成rsa公钥,接下来一路按回车键或者输入y就行了:
3) 在terminal中输入 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ,将公钥的内容写入到authorized_keys文件中。
4) 在terminal中输入 ssh localhost ,不需要密码也能登录,说明设置成功。

2. Hadoop下载与配置

1) 下载Hadoop

方法一:brew install hadoop
方法二:Hadoop官网下载
方法三:百度网盘下载(链接: https://pan.baidu.com/s/19JoUU_GTxBlqpEvaB51nyA 提取码: 74vc)
Note:推荐使用方法三,并将Hadoop文件解压到 /Library/Hadoop 文件夹下,以达到和笔者配置相同的效果。

2) 配置Hadoop环境变量

在terminal中输入 vi ~/.bash_profile ,按 i 进入编辑模式:

HADOOP_HOME=/Library/Hadoop/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

esc 退出编辑,输入 :wq 保存并退出。
在terminal中输入 source ~/.bash_profile ,使配置的环境变量生效。

3) 修改Hadoop配置文件

打开 /Library/Hadoop/hadoop-3.2.2/etc/hadoop 文件夹:

a. 配置 core-site.xml 文件

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://0.0.0.0:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
    	<!-- 配置到hadoop目录下temp文件夹 -->
        <value>/Library/Hadoop/hadoop-3.2.2/tmp</value>
    </property>
</configuration>

b. 配置 hdfs-site.xml 文件

<configuration>
    <property>
	<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
	<!--伪分布式模式,此值必须为1-->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <!-- name node 存放 name table 的目录 -->
        <value>file:/Library/Hadoop/hadoop-3.2.2/tmp/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <!-- data node 存放数据 block 的目录 -->
        <value>file:/Library/Hadoop/hadoop-3.2.2/tmp/hdfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>localhost:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

c. 配置 mapred-site.xml 文件

<configuration>
    <property>
	<!--指定mapreduce运行在yarn上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

d. 配置 yarn-site.xml 文件

<configuration>
    <property>
	<name>yarn.resourcemanager.hostname</name>
	<value>localhost</value>
    </property>
    <property>
	<!--NodeManager获取数据的方式-->
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
    </property>
    <property>
         <name>yarn.application.classpath</name>
         <value>/Library/Hadoop/hadoop-3.2.2/etc/hadoop:/Library/Hadoop/hadoop-3.2.2/share/hadoop/common/lib/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/common/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/hdfs:/Library/Hadoop/hadoop-3.2.2/share/hadoop/hdfs/lib/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/hdfs/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/mapreduce/lib/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/mapreduce/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/yarn:/Library/Hadoop/hadoop-3.2.2/share/hadoop/yarn/lib/*:/Library/Hadoop/hadoop-3.2.2/share/hadoop/yarn/*</value>
    </property>
</configuration>

3. 启动Hadoop

1) 初始化

在terminal输入 hdfs namenode -format
(只初次启动需要)

2) 启动Hadoop集群

在terminal输入 start-all.sh (或者分别输入 start-dfs.shstart-yarn.sh
使用 jps (JavaVirtualMachineProcessStatus) 命令查看Hadoop是否已启动,运行的java进程中应包含以下几种:

4050 Jps
3956 NodeManager
3653 SecondaryNameNode
3414 NameNode
3852 ResourceManager
3518 DataNode

3) 查看NameNode和Yarn

访问 http://localhost:9870/dfshealth.html#tab-overview

m1mac搭建hadoop macbook安装hadoop_spark


访问 http://localhost:8088/cluster

m1mac搭建hadoop macbook安装hadoop_hadoop_02

4) 运行Hadoop自带的wordcount程序

a. 新建一个 word.txt 文件并输入几个单词
b. 在hdfs文件系统上创建input文件夹 hdfs dfs -mkdir /input
c. 将word.txt放入input文件夹 hdfs dfs -put words.txt /input
d. 查看是否已放入文件 hdfs dfs -ls /input
e. 运行wordcount程序 hadoop jar /Library/Hadoop/hadoop-3.2.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar wordcount /input /output
(Note:输出目录必须是一个不存在的目录,输出结果无法存放在已有目录中)
f. 查看程序输出 hdfs dfs -ls /output
g. 打开输出文件 hdfs dfs -cat /output/part-r-00000

5) 关闭Hadoop集群

在terminal输入 stop-all.sh

三、Spark安装

1. 安装Scala

1) 下载Scala

方法一:Scala官网下载
方法二:百度网盘下载(链接: https://pan.baidu.com/s/19JoUU_GTxBlqpEvaB51nyA 提取码: 74vc)
将Scala文件解压,并移动到 /usr/local/scala 文件夹下

cd ~/Downloads/
tar -zxvf scala-2.12.13.tgz
mv scala-2.12.13 /usr/local/scala

2) 配置Scala环境变量

在terminal中输入 vi ~/.bash_profile ,按 i 进入编辑模式:

SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin

esc 退出编辑,输入 :wq 保存并退出。
在terminal中输入 source ~/.bash_profile ,使配置的环境变量生效。

2. 安装Spark

1) 下载Spark

方法一:brew install apache-spark
方法二:Spark官网下载
方法三:百度网盘下载(链接: https://pan.baidu.com/s/19JoUU_GTxBlqpEvaB51nyA 提取码: 74vc)
Note:推荐使用方法三,并将Spark文件解压到 /Library/Hadoop 文件夹下,以达到和笔者配置相同的效果。

2) 配置Spark环境变量

在terminal中输入 vi ~/.bash_profile ,按 i 进入编辑模式:

SPARK_HOME=/Library/Hadoop/spark-3.1.1-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin

esc 退出编辑,输入 :wq 保存并退出。
在terminal中输入 source ~/.bash_profile ,使配置的环境变量生效。

3) 修改Spark配置文件

3. 启动Spark

首先启动Hadoop集群 start-all.sh

1) 启动master

在terminal输入 cd $SPARK_HOME 进入Spark文件夹
./sbin/start-master.sh

访问 http://localhost:8080,获取master的URL信息。

m1mac搭建hadoop macbook安装hadoop_spark_03

2) 启动slave

复制上图红框圈出的URL,替换下面命令的URL部分(spark://—)
./sbin/start-worker.sh spark://—

3) 同时启动master和slave

使用以下命令可以同时启动master和slave
./sbin/start-all.sh
使用 jps 命令查看Spark是否已启动,运行的java进程中应包含以下几种:

3956 NodeManager
3653 SecondaryNameNode
3414 NameNode
7881 Jps
7819 Master
3852 ResourceManager
3518 DataNode
7871 Worker

4) 关闭Spark

./sbin/stop-all.sh