前言
最近在搞一些大数据方面产品的开发工作,运用的都是公司已经搭建好的大数据计算相关环境:比如 hive、hbase、storm等。要想更深入的了解这些计算框架,准备自己搭建一套大数据计算开发环境。
目前的大数据计算相关体系,基本都是建立在hadoop基础上,比如hive、hbase、spark、flume等。所以准备先自己搭建一套hadoop环境。以下是我的搭建流程,以及遇到的问题等。
前期准备
1、hadoop2.7.3 下载地址 http://hadoop.apache.org/releases.html
2.jdk 1.8 linux 版 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3、VMware 虚拟机下载、以及centos 7镜像下载
安装步骤
我是一台笔记本,win7操作系统,内存是8G。准备安装好vmware中虚拟出三台机器,部署1个master、2个slaves的hadoop环境:
1、首先安装好vmware虚拟机,并在虚拟机中安装好centos。注意虚拟机内存一定要设置为2G以上,否则执行MapReduce任务会卡住。
2、在centos中进行jdk1.8安装,参考http://www.cnblogs.com/shihaiming/p/5809553.html
3、通过vmware的clone功能,克隆出另外两台虚拟机
参考:http://jingyan.baidu.com/article/6b97984d9798f11ca2b0bfcd.html
我的创建结果如下:
准备用 CentOS1 作为master,这三台机器的ip分别为:192.168.26.129、192.168.26.130、192.168.26.131
4、安装 hadoop,参考http://www.cnblogs.com/lavezhang/p/5237042.html
特别说明下,他这里安装配置文件(hdfs-site.xml、slaves等几个配置文件)里都是用的ip,需要在三台机器上配置host(ip换成自己的):
192.168.26.129 hadoop1
192.168.26.130 hadoop2
192.168.26.131 hadoop3
否则会出现异常:
2017-01-24 04:25:33,929 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-7673552-127.0.0.1-1485202915222 (Datanode Uuid null) service to /192.168.26.128:9000 Datanode denied communication with namenode because hostname cannot be resolved (ip=192.168.26.129, hostname=192.168.26.129): DatanodeRegistration(0.0.0.0:50010, datanodeUuid=170341fa-ef80-4279-a4a3-dca3663b89b7, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=CID-9bcf1a8a-449a-4238-9c5c-b2bb0eadd947;nsid=506479924;c=0) at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:873) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4529) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1286) at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:96) at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:28752) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
最好 把配置文件(hdfs-site.xml、slaves等几个配置文件)中ip全部替换成 hostname(我的是hadoop1、hadoop2、hadoop3)。
启动hadoop:
bin/hadoop namenode -format sbin/start-hdfs.sh sbin/start-yarn.sh
执行jps查看是否启动成功
5.传入一个本地文件,测试下
bin/hadoop fs -mkdir /test bin/hadoop fs -copyFormLocal README.txt /test bin/hadoop fs -cat /test/README.txt
如果线上出 README.txt中的文件内容,说明成功了。
如果执行:bin/hadoop fs -copyFormLocal README.txt /test,报如下错误:
2017-01-24 01:48:58,282 INFO org.apache.hadoop.ipc.Server: IPC Server handler 5 on 9000, call org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 192.168.26.128:32964 Call#5 Retry#0 java.io.IOException: File /test/README.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1571) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3107) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3031) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:725) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:492) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
说明启动失败了,检查下hadoop的日志,根据日志分析下是哪个配置错了。主要检查几个配置文件,已经host设置。
ok,本机hadoop已经跑起来啦,接下来准备用idea搭建一个win的开发环境,运行mapreduc程序。
<!--[if !supportLists]-->
相关推荐
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价硬件上处理大量数据,是大数据处理领域的重要...通过下载并部署hadoop-2.7.3.tar.gz,用户可以搭建自己的Hadoop集群,从而应对大数据时代的挑战。
总的来说,安装Hadoop 2.7.3在Windows上虽然比在Linux上复杂,但通过理解和解决上述问题,你将能够成功搭建一个本地Hadoop开发环境。在学习和实践中,不断熟悉Hadoop的配置和操作,对于理解分布式计算原理和提升...
总的来说,“hadoop-2.7.3.zip”文件是Hadoop生态系统中不可或缺的一部分,它包含了一整套用于搭建和管理高效、可靠的分布式计算集群的工具和库。通过深入了解其特性和正确使用,你可以充分利用Hadoop的强大功能来...
本文详细介绍了如何在特定的硬件环境下搭建Hadoop 2.7.3 + Hive 1.2.1 + Spark 2.0.1集群,并进行了性能测试。通过上述步骤,不仅可以实现大数据平台的快速部署,还能根据实际业务需求进行针对性的性能调优。这为...
《Hadoop Eclipse Plugin 2.7.3:开启大数据开发之旅》 在大数据处理的世界里,Hadoop无疑是一个核心组件,而Hadoop Eclipse Plugin 2.7.3则是开发者们亲密无间的合作伙伴。这款插件为Eclipse IDE带来了强大的功能...
总结来说,通过这个教程,你将了解如何在虚拟环境中搭建Hadoop 2.7.3集群,包括安装CentOS7、配置Hadoop、启动服务以及进行基本的数据操作。这仅仅是Hadoop世界的一个开端,随着对Hadoop的深入学习,你将能够处理更...
本教程将详细介绍如何在本地机器上搭建 Hadoop 2.7.3 的伪分布式环境,为初学者提供一个实践和学习 Hadoop 的基础平台。 **总体环境** 在搭建 Hadoop 伪分布式环境之前,我们需要一个适合运行 Hadoop 的基础环境。...
hadoop-common-2.7.3搭建fluem1.7所需要包,还有几具包提供
本教程将深入探讨如何利用Hadoop2.7.3、HBase1.2.5和ZooKeeper3.4.6搭建一个完整的分布式集群环境,以支持大规模数据存储和处理。 首先,我们来了解下这三个组件的基本概念: 1. **Hadoop**:Apache Hadoop是一个...
在Ubuntu 16.04上搭建JDK、Hadoop和Spark环境的过程涉及到多个步骤,包括添加软件源、安装软件、配置环境变量、修改配置文件以及启动服务。这个过程中需要注意的是,每个组件的版本应该相互兼容,以确保系统的稳定...
首先,搭建Hadoop-Apache2.7.3和Spark2.0集群之前,需要了解相关硬件和软件的环境要求。在硬件设备方面,单台物理机应至少具备16GB内存,以保证集群运行的流畅性。在Linux版本方面,本例采用的是CentOS 6.7版本,并...
总之,Hadoop 2.7.3的hadoop.dll和winutils.exe是Windows用户成功搭建和运行Hadoop环境的关键。通过正确配置和使用这些组件,开发者可以在Windows平台上体验到Hadoop的大数据处理能力。在实际操作中,还需要对Hadoop...
通过这个资源包,开发者和数据工程师可以深入了解Hadoop的工作原理,搭建自己的Hadoop集群,或对现有集群进行优化和维护。无论是初学者还是经验丰富的专业人士,都能从中获益,提升大数据处理能力。
在大数据处理领域,Hadoop和Spark是两个至关重要的框架,它们在处理...在这个过程中,了解并掌握Hadoop的HDFS和MapReduce、Spark的RDD(弹性分布式数据集)以及PySpark的DataFrame,对于提升大数据处理能力至关重要。
描述中提到了“Hadoop2.7.3,jdk1.8(linux(tar,rpm)),tomcat”。这暗示了实验环境需要用到Java开发工具集(JDK)的1.8版本,而且提供了两种在Linux系统上安装JDK的格式:tar.gz(源码包)和rpm(软件包管理器)。...
在搭建基于Hadoop和Spark架构的大数据平台时,需要掌握一系列技术知识点和操作步骤。以下是对给定文件内容的详细解读。 ### 一、基本信息配置 #### 1. 服务器信息配置 在大数据平台搭建之初,需要知道各服务器的...
为了更好地学习和掌握Hadoop,通常需要在一个分布式环境中对其进行配置。本文将详细介绍如何使用VMware创建一个基于Ubuntu 16.04的Hadoop虚拟机,并配置一个完全分布式的Hadoop环境。 #### 二、准备工作 1. **安装...