mac搭建hadoop

前言:网上看了很多mac安装hadoop的教程,自己亲自来实际操作一遍。
前提:要已经安装了Java,mac安装java很简单,下载完直接傻瓜式安装就可以,安装完环境变量都设置好,也不用操心啥。
接下来进入安装hadoop:

1.首先要配置ssh,开启mac远程登陆,并将当前用户加入到允许用户登录列表。

1.1选择系统偏好设置–共享,然后如下操作:
在这里插入图片描述

1.2避免使用hadoop命令时,多次输入密码。
以下命令一直按回车即可,最后如果报一个警告,直接yes即可。

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 验证ssh 
ssh localhost

在这里插入图片描述

2.下载hadoop

https://archive.apache.org/dist/hadoop/core/hadoop-2.7.2/
2.1在本地创建存放安装hadoop的目录

mkdir /Users/qinlong/App

创建存放数据文件的目录

mkdir /Users/qinlong/Data

将下载完成的hadoop解压到本地目录下

tar -zxvf hadoop-2.7.2.tar.gz -C /Users/qinlong/App

2.2添加环境变量
cd 回到终端

vim ~/.bash_profile

进入编辑模式

export HADOOP_HOME=/Users/qinlong/App/hadoop-2.7.2
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

退出编辑模式,执行如下操作:

source ~/.bash_profile

2.3设置完成查看一下hadoop版本号:
因为我hadoop没从官网下载,会出现一个unknown。

hadoop version

出现以下
Hadoop 2.7.2 Subversion Unknown -r Unknown Compiled by root on 2017-05-22T10:49Z Compiled with protoc 2.5.0 From source with checksum d0fda26633fa762bff87ec759ebe689c This command was run using /Users/qinlong/App/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

2.4接下来修改hadoop配置文件,配置文件都在Users/qinlong/App/hadoop-2.7.2/etc/hadoop下:
hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
2.4.1修改hadoop-env.sh
如果配置文件中没有设置JAVA_HOME路径,则需要设置:
mac查看jdk:在终端输入:/usr/libexec/java_home -V
在配置文件目录下:vim hadoop-env.sh

export JAVA_HOME=Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home

如果已经设置了,则加入hadoop路径:

export HADOOP_HOME=/Users/qinlong/App/hadoop-2.7.2

2.4.2修改core-cite.xml文件:
正常情况下,数据被保存在/tmp下,当你重启系统,则会被清理掉,因此需要创建一个专门用来存放数据的目录。
在之前创建的Date目录下:创建hadoop和tmp,如下:
Date/hadoop/tmp
进入配置文件目录:vim core-cite.xml

<property>
     <name>fs.defaultFS</name>
     <value>hdfs://localhost:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录  自己创建-->
<property>
     <name>hadoop.tmp.dir</name>
     <value>file://Users/qinlong/Data/hadoop/tmp</value>
</property>
<property>
     <name>fs.trash.interval</name>
     <value>1440</value>
</property>

在这里插入图片描述
2.4.3配置文件系统hdfs-site.xml
该文件指定与 HDFS 相关的配置信息。需要修改 HDFS 默认的块的副本属性,因为 HDFS 默认 情况下每个数据块保存 3 个副本,而在伪分布式模式下运行时,由于只有一个数据节点,所 以需要将副本个数改为 1;否则 Hadoop 程序会报错。

vim hdfs-core.xml
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
<!--不是root用户也可以写文件到hdfs-->
<property>
     <name>dfs.permissions</name>
     <value>false</value>    <!--关闭防火墙-->
</property>
<!-- name node 存放 name table 的目录 -->
<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/Users/qinlong/Data/hadoop/tmp/dfs/name</value>
</property>
<!-- data node 存放数据 block 的目录 -->
<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/Users/qinlong/Data/hadoop/tmp/dfs/data</value>
</property>

2.4.4配置计算框架mapred-site.xml
文件夹中没有这个文件,如下操作:

mv mapred-site.xml.template mapred-site.xml

然后进入进行配置

vim mapred-site.xml
<property>
      <!--指定mapreduce运行在yarn上-->
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>

2.4.5配置文件系统yarn-site.xml

vim yarn-site.xml
<property>
<!-- mapreduce 执行 shuffle 时获取数据的方式 -->
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
</property>
<property>
      <name>yarn.resourcemanager.address</name>
      <value>localhost:18040</value>
</property>
<property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>localhost:18030</value>
</property>
<property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
       <value>localhost:18025</value>
</property>
<property>
       <name>yarn.resourcemanager.admin.address</name>
       <value>localhost:18141</value>
</property>
<property>
       <name>yarn.resourcemanager.webapp.address</name>
       <value>localhost:18088</value>
</property>

2.5 hadoop Namenode格式化
在终端输入:hdfs namenode format
会进行初始化格式操作,结束即可。
2.6 启动hadoop,进入/Users/qinlong/App/hadoop-2.7.2/sbin

./start-all.sh

遇到yes/no?输入yes即可。
2.7 查看5个进程是否启动成功:终端输入jps。
在这里插入图片描述

出现五个即可。
2.8在浏览器输入查看集群是否启动成功。

http://localhost:50070/dfshealth.html#tab-overview
http://localhost:18088/cluster

分别出现如下即可:
在这里插入图片描述
在这里插入图片描述

这样就说明搭建成功了。

总结:

1.搭建环境真的是一件很折磨人的事情,因为你不知道你会出现什么样的问题,因此一步步一定要小心,慢慢来,寻找一个安静的环境,争取一次成功,遇到问题,要去寻找问题出现在哪里,然后去网上寻找答案。
2.走完整个流程,在我电脑上没有出现其他问题,就是第一次我没看到hadoop-env.sh 已经设置了java路径,我在里面又export了一个,然后在进行hdfs格式化时,报了一个:no file的错。基本只要改一下自己的路径就可以成功安装了。

借鉴于大佬,原文很详细,感谢:https://blog.csdn.net/b_aihe/article/details/96650866

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值