赞
踩
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一 [2]。2004年,Google在“操作系统设计与实现”(Operating System Design and Implementation,OSDI)会议上公开发表了题为MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文之后,受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法 。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的顶级项目,包含众多子项目,被应用到包括Yahoo在内的很多互联网公司。
java -version,这里要安装java1.8版本,注意java安装的目录不要有空格
安装包链接:https://pan.baidu.com/s/1UU9rDSxro7ifUv1USsV-6g?pwd=yyds
替换到Hadoop安装目录下
可以发现apache-hadoop-3.1.0-winutils-master这个文件夹解压后里面只有bin这一个文件夹,我们将这个bin文件夹复制到hadoop-3.1.0文件夹中替换原有的bin文件夹
HADOOP_HOME
D:\hadoop-3.1.0
path里面加上 %HADOOP_HOME%\bin
hadoop version
先在 D:/hadoop-3.1.0/data/ 目录下建 tmp 文件夹
配置 core-site.xml 文件,文件路径:\hadoop-3.1.0\etc\hadoop\core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/hadoop-3.1.0/data/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
文件路径:\hadoop-3.1.0\etc\hadoop\mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
文件路径:\hadoop-3.1.0\etc\hadoop\yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hahoop.mapred.ShuffleHandler</value>
</property>
</configuration>
文件路径:\hadoop-3.1.0\etc\hadoop\hdfs-site.xml
<configuration>
<!-- 这个参数设置为1,因为是单机版hadoop -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/D:/hadoop-3.1.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/D:/hadoop-3.1.0/data/datanode</value>
</property>
</configuration>
文件路径:\hadoop-3.1.0\etc\hadoop\hadoop-env.sh
使用查找功能(ctrl+f)查找export JAVA_HOME,找到相应的位置:
JAVA_HOME的具体路径在环境变量中查找到
文件路径:\hadoop-3.1.0\etc\hadoop\hadoop-env.cmd
打开后使用查找功能(ctrl+f),输入@rem The java implementation to use查找到对应行
在set JAVA_HOME那一行将自己的JAVA_HOME路径配置上去
以管理员模式打开命令窗口
在cmd中进入到D:\hadoop-3.1.0\bin路径
或者直接在对应的文件夹里面输入cmd进入
输入命令:
hdfs namenode -format
如果没报错的话,证明配置文件没出问题!
出现类似下图说明成功。如果出错,可能原因有如:环境变量配置错误如路径出现空格,或者winutils版本不对或hadoop版本过高等,或hadoop的etc下文件配置有误
然后再进入到D:\hadoop-3.1.0\sbin路径
输入命令:
start-dfs.cmd
会跳出两个窗口,不要关闭!
再输入命令:
start-yarn.cmd
会跳出两个窗口,也不要关闭!
也可以直接执行下面命令:(以管理员模式打开命令窗口)
start-all.cmd
然后回车,此时会弹出4个cmd窗口,分别是NameNode、ResourceManager、NodeManager、DataNode。检查4个窗口有没有报错。
在CMD执行jps看到这4个进程,启动成功
可以通过访问namenode和HDFS的Web UI界面(http://localhost:9870)
注意:
Hadoop版本是3.xx的是 http://localhost:9870/
Hadoop版本是2.xx的是 http://localhost:50070/
本文演示的hadoop版本是3.1.0,所以是前者
以及resourcemanager的页面(http://localhost:8088)
如果成功出现上面两个界面则代表Hadoop安装和配置完成。
以管理员模式打开命令窗口
进入到hadoop的目录:D:\hadoop-3.1.0\sbin
执行命令:stop-all.cmd
D:\hadoop-3.1.0\sbin>stop-all.cmd
如果:hadoop启动报错“ org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorManager”,
主要是缺少timelineCollectorManager的jar包。
解决方案:
将hadoop3.1.0 版本将share\hadoop\yarn\timelineservice\hadoop-yarn-server-timelineservice-3.1.0.jar放到share\hadoop\yarn\lib 下就可以。
需要将 D:\hadoop-3.1.0\data 的
namenode、datanode、tmp这三个目录下的所有文件删除干净
Problem binding to [0.0.0.0:8030] java.net.BindException: Address already in use: bind;
netstat -ano|findstr "8030"
tasklist|findstr "13336"
如果我们想结束该进程,可以在任务管理器内找到该进程,然后直接右键结束。
也可通过 taskkill 命令的方式结束进程:
#强制
taskkill /pid 13336 -t -f
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。