hadoop在Mac m1下搭建安装hadoop环境(亲测有效版)
Posted 小松不菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop在Mac m1下搭建安装hadoop环境(亲测有效版)相关的知识,希望对你有一定的参考价值。
概述
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
主要解决,海量数据的存储和海量数据的分析计算问题。
广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。
参考的是 https://blog.51cto.com/u_15294985/5147881 这个链接里的流程,但是有些配置信息还是有所不同,要按照本地的hadoop存放路径在xml里进行配置。
配置流程
- 配置ssh环境
ssh localhost
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
- 安装hadoop
装openjdk
brew install java
装hadoop
brew install hadoop
hadoop version
- 配置xml文件
进入hadoop的目录
cd /opt/homebrew/Cellar/hadoop/3.3.2/libexec/etc/hadoop
修改xml里的信息可以用vim
vim xxx
用i修改,用:wq保存
修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录 自己创建-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/homebrew/Cellar/hadoop/tmp</value>
</property>
</configuration>
修改hdfs-site.xml
新建文件夹
mkdir xxx
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--不是root用户也可以写文件到hdfs-->
<property>
<name>dfs.permissions</name>
<value>false</value> <!--关闭防火墙-->
</property>
<!--把路径换成本地的name坐在位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/Cellar/hadoop/tmp/dfs/name</value>
</property>
<!--在本地新建一个存放hadoop数据的文件夹,然后将路径在这里配置一下-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/Cellar/hadoop/tmp/dfs/data</value>
</property>
</configuration>
修改mapped-site.xml
<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9010</value>
</property>
<!-- 新添加 -->
<!-- 下面的路径就是你hadoop distribution directory -->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.3.2/libexec</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.3.2/libexec</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.3.2/libexec</value>
</property>
</configuration>
启动和关闭
- 启动
cd /opt/homebrew/Cellar/hadoop/3.3.2/libexecs/sbin
./start-dfs.sh
- 在浏览器里输入 http://localhost:9870/
- 停止
./stop-yarn.sh
在Mac下安装Hadoop的坑
参考技术A Hadoop是Apache基金会下的项目,它能够处理非常大的数据集在分布式计算环境,它可以运行在三种模式下:关于mac上安装Hadoop伪分布式可以参考 Mac OS X Yosemite安装Hadoop 2.6记录 和 如何在MacOSX上安装Hadoop(how to install hadoop on mac os x) 。在这些文章中基本的配置及其安装方法都已经写的比较清楚了,但是我在按照步骤安装时仍然遇到了不少的坑,下面来做一些介绍。
软件环境:
使用 brew 命令安装的是Hadoop的最新版本,需要的java最低版本是1.7.0,所以第一个坑在于java的升级。
mac下java的安装有两种方式。
mac中自带的java版本号为1.6.0,link的路径为 /usr/bin ,系统默认java安装路径为:
使用dmg包安装后java的路径为:
这两个包并不冲突,在这种情况下Terminal中的java命令还是系统默认的,需要对新安装的做软链。参考: MAC OSX安装多个版本的JAVA(jdk jre通用) 。
安装Java
正常情况下执行着两个命令会安装成功,但是 brew update 会出现问题。会出现 The following untracked working tree files would be overwritten by merge 错误,这时使用:
如果你没有在管理员或sudo模式下,你也可以在第一个命令中chown
如果版本信息返回的是 java version "1.8.0_74" 式的安装信息表明安装成功。
生成ssh后,使用 ssh localhost 来测试 ssh 是否成功。给出提醒如下:
这是因为mac电脑的共享配置未打开,在 System preferences ->Sharing 中打开如下配置:
从 /usr/local/Cellar/hadoop/2.7.1/sbin 路径进入Hadoop的目录执行启动脚本:
log如下:
在log中会显示警告 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable d的提醒,是关于 Hadoop 本地库的, Hadoop本地库是为了提高效率或者某些不能用Java实现的功能组件库。可以参考 Mac OSX 下 Hadoop 使用本地库提高效率 来做处理。
此时在浏览器中打开 Resource Manager: http://localhost:50070 可以看到如下页面
执行如下启动脚本脚本:
此时在浏览器中打开 JobTracker: http://localhost:8088 、 Specific Node Information: http://localhost:8042 可以分别看到如下界面:
以上是关于hadoop在Mac m1下搭建安装hadoop环境(亲测有效版)的主要内容,如果未能解决你的问题,请参考以下文章
大数据Hadoopmacbookpro m1/m2 arm 编译hadoop-3.3.1
Mac下hadoop,hive, hbase,spark单机环境搭建
如何在Mac使用Intellij idea搭建远程Hadoop开发环境