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则为海量的数据提供了计算
安装环境:
Windows 10
JDK 1.8.0_181
Hadoop 3.1.2
一、windows
点击 个人电脑 → 属性 → 高级系统设置 → 环境变量
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_181 (这里写的是你本身电脑上JDK的安装路径)
若是查看本机是否已经有Java运行环境了呢?
cmd :java -version
显示以下,则证实已经装好。
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
若是没有的话,则点击 个人电脑 属性 高级系统设置 环境变量, 添加
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_181
二、从Apache官网下载Hadoop,地址是 https://hadoop.apache.org/releases.html ,选择binary版本,下载下来的文件名是hadoop-3.1.2.tar.gz。
在本地解压安装包到自定义的地址,好比个人安装路径是 D:\bigdata\Hadoop\hadoop-3.1.2 。
而后为Hadoop配置windows环境变量。点击 个人电脑 → 属性 → 高级系统设置 → 环境变量:
新添加一个变量名 HADOOP_HOME, 变量值 D:\bigdata\Hadoop\hadoop-3.1.2 (这里使用你本身的安装路径);
在已有变量名Path(若是没有就新添加一个变量名Path)下,加上两个变量值 %HADOOP_HOME%\bin 和 %HADOOP_HOME%\sbin。
在windows自带的Command Prompt (CMD)里输入:hadoop version
显示以下,则证实Hadoop环境变量已经配好。
Hadoop 3.1.2
Source code repository https://github.com/apache/hadoop.git -r 1019dde65bcf12e05ef48ac71e84550d589e5d9a
Compiled by sunilg on 2019-01-29T01:39Z
Compiled with protoc 2.5.0
From source with checksum 64b8bdd4ca6e77cce75a93eb09ab2a9
This command was run using /D:/bigdata/Hadoop/hadoop-3.1.2/share/hadoop/common/hadoop-common-3.1.2.jar
三、这一步须要对Hadoop安装目录下的配置文件进行一些修改,这些修改决定了咱们可否启动Hadoop。
配置hadoop,主要是配置如下三个配置文件(在%HADOOP_HOME%\etc\hadoop\下面):
core-site.xml, -- 是全局配置
hdfs-site.xml, --hdfs的局部配置。
mapred-site.xml -- mapred的局部配置。
刚解压后,这些配置文件都是空的,没有任何configuration,相似这样:
其实他们这些文件的默认配置分别在这三个文件中:
core-default.xml,
hdfs-default.xml,
mapred-default.xml
在前面给出的官网文章连接中,能够找到这三个default文件的配置详情;要注意官网上标识的Hadoop版本,好比如今我看到的是Version: 2.9.2,也就是说是属于这个版本的默认配置。
如今说如何配置。
coresite.xml下的配置:
添加
fs.defaultFS
hdfs://localhost:9000
若是了解HDFS的话,就会知道,若是文件进入到这个系统里,会有属于本身的一个目录,和咱们理解的操做系统磁盘的绝对路径是不同的。好比一个文件a被放到HDFS的根目录下的test目录下,那么它的HDFS路径就是
/test/a,这就是Hadoop服务器本地的绝对路径(它在咱们电脑的操做系统里确定不是相同的绝对路径,具体是哪一个路径,咱们不必知道,只需HDFS知道就行了)。除了用/test/a访问这个文件,咱们若是还想也想经过hdfs://localhost:9000/test/a
的方式访问 ,就须要加上这个配置内容。
启动服务后(一下子的步骤会讲到如何启动服务),
输入 hdfs dfs -ls /
输入 hdfs dfs -ls hdfs://localhost:9000/
输入 hdfs dfs -ls hdfs://10.118.145.33:9000/ (用IP地址是我没试过的,我猜想应该能够成功)
获得的是一样的结果,即Hadoop文件系统(注意:这里指的不是操做系统的文件系统)的根目录下的内容。
或者输入hdfs dfs -df -h
查看磁盘空间,以下是个人空间:
Filesystem Size Used Available Use%
hdfs://localhost:9000 159.7 G 1.1 M 138.7 G 0%
hdfs-site.xml下的配置:
添加
dfs.replication
1
而后在Hadoop3.1.2的安装目录下建个目录/data,再在这个目录下建两个目录,一个叫namenode,一个叫datanode,把两个目录的路径添加到这个配置文件里:
dfs.namenode.name.dir
/D:/bigdata/Hadoop/hadoop-3.1.2/data/namenode
dfs.datanode.data.dir
/D:/bigdata/Hadoop/hadoop-3.1.2/data/datanode
yarn-site.xml下的配置:
添加
yarn.nodemanager.aux-services
mapreduce_shuffle
四、在windows下找到Hadoop的安装目录,进入sbin目录,找到一个文件start-all.cmd
用管理员模式运行它,等待ResourceManager,NameNode和DataNode的启动。
检查Hadoop是否已经启动成功,只需cmd窗口输入:jps
如显示如下五个进程名称,则证实成功。
109824 Jps
29780 ResourceManager
107300 DataNode
107112 NameNode
40316 NodeManager
若是想中止这几个进程,就在同目录下找这个文件stop-all.cmd,而后运行。
其实对于start all 和stop all是不推荐的。更好的作法是先启动start-dfs.cmd,再启动start-yarn.cmd。
刚刚说到的几个命令,如 hdfs dfs -ls hdfs://localhost:9000/,也能够在这个时候查看了。
访问管理GUI
记得先不要关闭那几个cmd窗口,若是启动成功,还能够在浏览器输入
http://localhost:8088 ——查看应用管理界面ResourceManager
http://localhost:9870 ——NameNode界面
这两个端口都是Hadoop支持的默认服务端口。要注意的是,3.0以上和2.0的默认端口有部分是不同的。
转自:
http://www.developcls.com/qa/9b33934224d04e9ab6238a25e86eef7d.html