首页 >> 大全

MacOS 安装Hadoop3.1.1教程

2023-06-18 大全 41 作者:考证青年

本文学自

并对其中一些讲得不清楚,以及版本变化(从2.7到3.1)等问题,做出了修正

首先装这个软件管理工具,具体过程在上一篇文章里

这里插一个链接

然后,用ssh登陆本地

ssh-keygen -t rsa -P "" //这一行运行完后,再出现最后带冒号时按Enter
cat $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 java
You can download from:https://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.

根据提示,我是需要安装Java

因此

brew cask install java

这里吐槽一下速度,就一百多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 input
echo 'hello world' > file1.txt
echo '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文件中。

修改hdfs-site.xml

文件地址:/usr/local///3.1.1//etc//hdfs-site.xml

把原来的



修改为

dfs.replication1

变量dfs.指定了每个HDFS数据库的复制次数。 通常为3, 由于我们只有一台主机和一个伪分布式模式的,将此值修改为1。

运行

hadoop namenode -format
./sbin/start-all.sh

成功后,访问 :9870 打开Hdfs的Web界面,可以查看相关的信息

值得注意的是,在3.0以后的版本中,:50070 变为 :9870 用原先的地址会报错。(取自 )

用示例测试

1.估计圆周率PI的值

hadoop jar ./libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar pi 2 5

运行结果如下:

Estimated value of Pi is 3.60000000000000000000

2.统计数据

把原来用于单机模式的测试input文件上传到hdfs中**(目录仍然是在 …/3.1.1/下,千万不要乱动)**

hadoop fs -put ./input input

运行**(目录仍然是在 …/3.1.1/下,千万不要乱动)**

hadoop jar ./libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount input output

查看的结果文件**(目录仍然是在 …/3.1.1/下,千万不要乱动)**

hadoop fs -tail output/part-r-00000

得到的结果是:

最后关闭伪分布式

./sbin/stop-all.sh

2019.4 补充

过一段时间没碰,再使用,出了以下问题:

Call From red-2.local/192.168.1.100 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

惊了

在网上各种找问题之后,还是 大力出奇迹

命令行输入

hadoop namenode -format

都好了

tags: mac

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了