优雅的使用macOS-homebrew-5-安装大数据hadoop环境

心已入冬 提交于 2020-08-08 19:24:18

0前提

1本文章用于macos快速安装一个单机版hadoop,目的为了方便开发和测试。

2本文的安装高度依赖homebrew,个人认为这是macos同其他操作系统例如linux,windows的最大区别和优势之一。

homebrew可帮助我们自动升级相关组件和配置环境变量和参数,并免于反复操作的烦恼。

3本文档不会讲解伪分布式和真分布式的搭建(没必要也没意义,当然你是买的最新的mac pro高配版,就想安装集群,那没我啥事了 )

4注意你安装的hadoop的版本号,不然copy我的命令可能会失效

5前提是了解linux或者mac 或者Unix的命令和基本使用

1安装

1.1步骤

话不多说

 brew install hadoop

查看安装情况

$ brew list hadoop

1.2重要背景知识点

1配置文件位置

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop

2使用脚本位置

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/sbin

启动,关闭。小学英语水平就可以看懂,我不一一介绍了。

3依赖的位置

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/share/hadoop/common/lib

4日志的位置

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/logs

5 默认访问地址

Resource Manager: http://localhost:9870

JobTracker: http://localhost:8088
Specific Node Information: http://localhost:8042

6 hadoop是基于jdk1.8的 所以如果你本地没jdk1.8赶紧装一个

 

 

2配置

2.0必要条件

非hadoop配置部分

1ssh无密码登录配置

2jdk8的安装和配置

3homebrew安装和配置

2.1基础配置

进入配置文件目录

(注意你的hadoop版本)

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop
ls

2.1.1编辑core-site.xml

<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>
nano core-site.xml

2.1.2修改配置文件 mapred-site.xml

nano mapred-site.xml

 

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9010</value>
    </property>
</configuration>

修改配置文件hdfs-site.xml

nano hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

 

3格式hdfs

cd /usr/local/Cellar/hadoop/3.2.1_1/bin/

格式化hdfs

hadoop namenode -format

进入可执行目录

cd /usr/local/Cellar/hadoop/3.2.1_1/sbin

 

4启动和调试

4.1启动

./start-all.sh

 

4.2检查启动情况

我们jps一下看看启动的如何

jps

正常会启动了这些java进程

然后可以访问如下几个管理页面

Resource Manager:http://localhost:9870

JobTracker:http://localhost:8088

Specific Node Information:http://localhost:8042

完成了环境搭建

4.3异常分析

如果缺少那就要去看看为啥没启动起来

例如我一开始是这样的

 

resource manager没启动起来

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/logs

nano hadoop-hutiefang-resourcemanager-hutiefangdeMacBook-Pro.local.log

如果懒得反复打开 可以开一个新的窗口

tail -f  hadoop-hutiefang-resourcemanager-hutiefangdeMacBook-Pro.local.log

这样可以实时查看问题

4.3.1-  com.sun.xxx 各种sun开头的jar包没找到

背景知识:1java是sun公司发明的,然后sun公司倒闭被oracle收购,新版本jdk删除了sun的私有api

2 open jdk也是没有sun的一些私有api的,(为了避免版权纠纷)

所以原因是jdk不对,jdk1.8是最后一个保留sun私有api的jdk了。

由于我还在玩jdk14肯定不能把系统环境变量直接设置成1.8

brew info java

所以我手动指定hadoop的环境变量

cd /usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop

nano hadoop-env.sh

4.3.2错误 activation jar找不到

我们去hadoop依赖目录去看下是不是没这个包

/usr/local/Cellar/hadoop/3.2.1_1/libexec/share/hadoop/common/lib

我并没找到,那我们去互联网找一下有没有相关的包

(特别装逼一下alfred)

https://mvnrepository.com/search?q=javax%2Factivation%2FDataSource

复制到hadoop依赖目录中

/usr/local/Cellar/hadoop/3.2.1_1/libexec/share/hadoop/common/lib

都弄好了,我们重启试试吧

日志也没错了。。

重启

 

本人不属于任何培训机构,也不是培训老师,并不赚一分钱,如果你觉得本文不错,麻烦帮忙分享或者点赞留言下,满足我小小的虚荣心。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!