MacOS 安装Hadoop3.1.1教程

本文学自
并对其中一些讲得不清楚,以及版本变化(从2.7到3.1)等问题,做出了修正
首先装这个软件管理工具,具体过程在上一篇文章里
这里插一个链接
然后,用ssh登陆本地
ssh-keygen -t rsa -P "" //这一行运行完后,再出现最后带冒号时按Entercat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
这样就可以生成ssh公钥,接下来进行测试登录本地是否成功
ssh localhost
若登陆成功,则显示结果如下
Last login: Mon Feb 29 18:29:55 2016 from ::1
但是我的一开始是这样:
ssh: connect to host localhost port 22: Connection refused
经过百度,最终找到问题是在系统偏好设置中:
解决方法是选择系统偏好设置->选择共享->点击远程登录
这样再运行
ssh localhost
结果就出来了
随后,进行安装
brew install hadoop
随后,我并没有成功,而是得到反馈:
hadoop: Java 1.8+ is required to install this formula.JavaRequirement unsatisfied!You can install with Homebrew Cask:brew cask install javaYou can download from:https://www.oracle.com/technetwork/java/javase/downloads/index.htmlError: An unsatisfied requirement failed this build.
根据提示,我是需要安装Java
因此
brew cask install java
【MacOS 安装Hadoop3.1.1教程】这里吐槽一下速度,就一百多Mb的东西,硬是安装了很久很久,如果有人觉得慢可以直接在Java官网上下载最新版本,会快很多 。这里发一下链接:
Java装好后,就终于可以安装啦
brew install hadoop
这次是七百多Mb的东西,很快下载好,大功告成!
测试是否安装成功:
1.测试单机模式
单词计数是最简单也是最能体现思想的程序之一,可以称为版”Hello World”,单词计数主要完成功能是:统计一系列文本文件中每个单词出现的次数
创建input目录和目录
input作为输入目录,目录作为输出目录
cd /usr/local/Cellar/hadoop/3.1.1/mkdir input mkdir output
在input文件夹中创建两个测试文件file1.txt和file2.txt
cd inputecho 'hello world' > file1.txtecho 'hello hadoop' > file2.txt
运行示例检测单机模式(注意目录不要随意变,在3.1.1下)
hadoop jar ./libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount ./input ./output
显示结果(注意目录不要随意变,在3.1.1下)
more output/part-r-00000
结果如下:
2.测试伪分布式模式
测试为分布模式前,需要修改相关的配置文件,把之前的单机模式修改成伪分布式模式
修改Core-site.xml
文件地址:/usr/local///3.1.1//etc//core-site.xml
把原来的

修改为
hadoop.tmp.dir/usr/local/Cellar/hadoop/hdfs/tmpA base for other temporary directoriesfs.default.namehdfs://localhost:9000
fs..name 保存了的位置,HDFS和组件都需要用到它,这就是它出现在core-site.xml 文件中而不是 hdfs-site.xml文件中的原因
修改-site.xml
文件地址:/usr/local///3.1.1//etc//-site.xml.
把原来的

修改为
mapred.job.trackerlocalhost:9010
变量.job. 保存了的位置,因为只有组件需要知道这个位置,所以它出现在-site.xml文件中 。