![f3d13a9093b48701d673080a35750581.png](https://i-blog.csdnimg.cn/blog_migrate/e1d5144dee3d36724448805f1112e513.jpeg)
安装Hadoop之前,需要先检测系统是否已安装Java, 可参考如下链接:
青瓷妈妈:Mac OS Catalina(10.15.4) 安装Javazhuanlan.zhihu.com![08992b2de7b34c8bc341a697876d6a3c.png](https://i-blog.csdnimg.cn/blog_migrate/205caf59922a7cacfd58d1d51b032049.jpeg)
一. 安装Mac系统软件包管理系统Homebrew (已安装的可跳过)
在Terminal终端输入如下命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注: 通过Homebrew安装软件后,软件目录一般位于/usr/local/Cellar,
二. ssh登陆本地
1.在Terminal输入如下两条指令,生成ssh公钥
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
2.测试登陆本地是否成功
ssh localhost
注:可能出现如下错误
connect to host localhost port 22: Connection refused
解决方法:
1) 输入
sudo systemsetup -f -setremotelogin on
2)如果出现如下错误提示,
Turning Remote Login on or off requires Full Disk Access privileges.
解决方法:在“设置”->“共享”中,打开“远程登录”即可,如下图所示
![370717f57969ca0af14653e00435cf62.png](https://i-blog.csdnimg.cn/blog_migrate/698646816439e2a3637f4798287f6364.jpeg)
三. 安装Hadoop
Terminal终端输入如下代码,将会自动安装Hadoop,
brew install hadoop
四. 测试是否安装成功
Hadoop有三种运行模式:单机模式,伪分布模式,分布式模式。这里只测试伪分布模式
1. 修改配置文件
Hadoop安装好以后,默认的是单机模式,测试伪分布模式之前,需要修改相关的配置文件,
1) 修改Core-site.xml
文件地址:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop/core-site.xml
把原来的
<configuration>
</configuration>
修改为:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
fs.default.name 保存了NameNode的位置,HDFS和MapReduce组件都需要用到它,这就是它出现在core-site.xml 文件中而不是 hdfs-site.xml文件中的原因
2) 修改mapred-site.xml
文件地址:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop/mapred-site.xml
把原来的:
<configuration>
</configuration>
修改为:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
</configuration>
变量mapred.job.tracker 保存了JobTracker的位置,因为只有MapReduce组件需要知道这个位置,所以它出现在mapred-site.xml文件中。
3) 修改hdfs-site.xml
文件地址:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop/hdfs-site.xml
把原来的:
<configuration>
</configuration>
修改为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
变量dfs.replication指定了每个HDFS数据库的复制次数。 通常为3, 由于我们只有一台主机和一个伪分布式模式的DataNode,将此值修改为1。
2. 运行
hadoop namenode -format ./sbin/start-all.sh
3. 用示例测试
1) 估计圆周率PI的值
hadoop jar ./libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar pi 2 5
运行结果如下:
Estimated value of Pi is 3.60000000000000000000
2) wordcount统计数据
把原来用于单机模式的测试input文件上传到hdfs中
hadoop fs -put ./input input
运行wordcount
hadoop jar ./libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output
查看output的结果文件
hadoop fs -tail output/part-r-00000
得到的结果是:
hadoop 1
hello 2
world 1
4. 关闭伪分布式 ./sbin/stop-all.sh
参考链接:macOS 安装Hadoop教程-单机-伪分布式配置