首先介绍一下hadoop的作用:
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
hadoop的安装及配置
1. 下载工具
想要使用hadoop肯定需要先下载hadoop:首先去hadoop官网下载自己需要的版本:https://hadoop.apache.org/
可以根据自己的需要下载合适的版本,我这边下载的是3.1.3版本的
点击下载即可。
这样hadoop就下载好了,因为hadoop是linux环境 如果想在windows环境下运行hadoop需要winutils.exe和hadoop.dll文件 而这两个文件也要与你下载的hadoop版本一致,这边我提供一下3.1版本的文件下载地址:下载地址 提取码:4cac
2. 开始配置hadoop
在hadoop路径下创建data文件夹用于数据存储,再在data下创建datanode目录和namenode目录
- 配置环境变量
首先配置hadoop的环境变量:
(我相信你们既然要学hadoop 环境变量应该知道怎么打开的 我这边就不再描述了。)
在环境变量中添加HADOOP_HOME属性:D:\hadoop-3.1.3(值为你hadoop的安装路径 )
然后在path属性中添加:%HADOOP_HOME%\bin
- 修改hadoop配置文件
进入hadoop安装目录D:\hadoop-2.6.0\etc\hadoop目录,分别修改core-site.xml、mapred-site.xml(如果不存在该文件将mapred-site.xml.template重命名为mapred-site.xml)、hdfs-site.xml、yarn-site.xml文件
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
hdfs-site.xml(记得修改文件路径 我这边使用的是3.1.3版本的 如果你使用的也是该版本那就不需要更改)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/D:/hadoop-3.1.3/data/namenode</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/D:/hadoop-3.1.3/data/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>/D:/hadoop-3.1.3/data/snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/D:/hadoop-3.1.3/data/datanode</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
然后编辑“D:\hadoop-3.1.3\etc\hadoop”路径下的“hadoop-env.cmd”文件,将JAVA_HOME用 @rem注释掉,编辑为JAVA_HOME的路径,然后保存。
@rem set JAVA_HOME=%JAVA_HOME%
set JAVA_HOME=D:\Java\jdk1.8.0_45
把我分享的那个bin文件下的hadoop.dll和winutils.exe 复制到"D:\hadoop-3.1.3\bin"目录下
- 运行hadoop
1.运行cmd窗口,执行hdfs namenode -format
执行后,data下的namenode和datanode下会有current等文件,如果没有可能是版本不一致的原因。
2.运行cmd窗口,切换到hadoop的sbin目录,执行start-all.cmd,它将会启动以下4个进程窗口:
这样就启动成功了!
3. 查看hadoop
通过http://127.0.0.1:8088/即可查看集群所有节点状态
访问http://localhost:9870/即可查看文件管理页面:
可以在此对文件进行添加上传
当然也可以使用hadoop命令进行文件操作:
ls命令查看目录文件列表:hadoop fs -ls hdfs://i127.0.0.1:9000/
例如创建一个user文件夹
mkdir命令创建目录:hadoop fs -mkdir hdfs://127.0.0.1:9000/user
在管理页面可以清楚的看到我们创建的文件夹和文件
put命令上传文件:hadoop fs -put D:/1.txt hdfs://127.0.0.1:9000/user/