精华内容
下载资源
问答
  • 应该在什么时候使用Hadoop

    千次阅读 2013-09-28 00:49:43
    应该在什么时候使用Hadoop作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs有人问我,“你在大数据和Hadoop方面有多少经验?”我告诉他们,我一直在使用Hadoop,但是我处理的数据集很少有大于几个TB...

    应该在什么时候使用Hadoop

    作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

    有人问我,“你在大数据和Hadoop方面有多少经验?”我告诉他们,我一直在使用Hadoop,但是我处理的数据集很少有大于几个TB的。

    他们又问我,“你能使用Hadoop做简单的分组和统计吗?”我说当然可以,我只是告诉他们我需要看一些文件格式的例子。

    他们递给我一个包含600MB数据的闪盘,看起来这些数据并非样本数据,由于一些我不能理解的原因,当我的解决方案涉及到pandas.read_csv文件,而不是Hadoop,他们很不愉快。

    Hadoop实际上是有很多局限的。Hadoop允许你运行一个通用的计算,下面我用伪码进行说明:

    Scala风格的伪码:
    collection.flatMap( (k,v) => F(k,v) ).groupBy( _._1 ).map( _.reduce( (k,v) => G(k,v) ) )

    SQL风格的伪码:
    SELECT G(...) FROM table GROUP BY F(...)

    目标:计算图书馆书籍的数量
    Map:你统计奇数书架上书的数量,我统计偶数书架上书的数量。(人越多,统计越快)
    Reduce:把我们单独统计后的数据加在一起。

    我们所做的只有两个:F(k,v)和G(k,v),除开在中间步骤中的性能优化,一切都是固定的。

    它会迫使你在Map中进行所有的计算,分组和统计,执行运算的方式像是穿上了紧身衣,其实很多计算更适合选用其它模型。穿上紧身衣的唯一原因是这可能会扩展到非常大的数据集上,而大多数情况下,你的数据量可能会小几个数量级。

    但是由于“大数据”和“Hadoop”这两个热门词,即使很多人实际上不需要Hadoop,他们也愿意穿上“紧身衣”。

    一、如果我的数据量是几百兆,Excel可能没法加载它

    对于Excel软件来说的“很大的数据”并非大数据,其实还有其它极好的工具可以使用——我喜欢的Pandas。Pandas构建于Numpy库之上,可以以矢量格式的方式有效地把数百兆的数据载入到内存中。在我购买已3年的笔记本上,它可以用Numpy在一眨眼的功夫把1亿的浮点数乘在一起。Matlab和R也是极好的工具。
    对于几百兆的数据量,典型的做法是写一个简单的Python脚本按行读取文件行,并处理它,向另一个文件写入。

    二、如果我的数据是10GB呢

    我买了个新笔记本,它有16GB的内存和256GB的SSD。如果你要载入一个10GB的CSV文件到Pandas,它占用的内存实际上是很小的——其结果是以数字类型的字符串保存的,如“17284832583”作为4字节货8字节的整数,或存储“284572452.2435723”字符串作为8字节的双精度浮点数。
    最坏的情况是你或许不能把所有的数据都同时载入到内存中。

    三、如果我的数据是100GB、500GB或1TB呢

    买个2TB或4TB的硬盘,在桌面PC或服务器上安装一个Postgre来解决它。

    四、Hadoop远远比不上SQL或Python脚本

    在计算的表达方面,Hadoop弱于SQL,也弱于Python脚本。
    SQL是一个很直接的查询语言,适合做业务分析,SQL的查询相当简单,而且还非常快——如果你的数据库使用了正确的索引,二级查询或多级查询另当别论。
    Hadoop没有索引的概念,Hadoop只有全表扫描,Hadoop有高度泄露抽象——我花了很多时间来处理Java的内存错误、文件碎片以及集群竞争,这些时间远大于我花在数据分析上的时间。
    如果你的数据并不是像SQL表那样的结构化数据(比如纯文本、JSON对象、二进制对象),通常是直接写一个小的Python脚本来按行处理你的数据。把数据存储于文件,处理每一个文件,等等。如果换成是Hadoop就很麻烦。
    相比于SQL或Python脚本,Hadoop要慢的多。正确的使用索引后,SQL查询总是非快——PostgreSQL简单的查找索引,检索确切的键值。而Hadoop是全表扫描的,它会把整个表进行重新排序。通过把数据表分片到多台计算机上后,重排序是很快的。另一方面,处理二进制对象,Hadoop需要重复往返于命名节点,目的是查找和处理数据。这适合用Python脚本来实现。

    五、我的数据超过了5TB

    你应该考虑使用Hadoop,而无需做过多的选择。
    使用Hadoop唯一的好处是可伸缩性非常好。如果你有一个包含了数TB数据的表,Hadoop有一个适合全表扫描的选项。如果你没有这样大数据量的表,那么你应该像躲避瘟疫那样避免使用Hadoop。这样使用传统的方法来解决问题会更轻松。

    六、Hadoop是一个极好的工具

    我并不讨厌Hadoop,当我用其它工具不能很好处理数据时我会选择Hadoop。另外,我推荐使用Scalding,不要使用Hive或Pig。Scalding支持使用Scala语言来编写Hadoop任务链,隐藏了其下的MapReduce。
    展开全文
  • 使用Hadoop运行WorldCount示例

    千次阅读 2017-09-21 19:52:46
    使用Hadoop运行WorldCount示例上一节中我们搭建好了Hadoop的运行环境,虽然还没开始学习Hadoop各个组件的框架原理,但是我先来通过hadoop运行自带的worldcount示例来熟悉一下它的操作流程。 1.首先找到hadoop自带...

    使用Hadoop运行WorldCount示例

    上一节中我们搭建好了Hadoop的运行环境,虽然还没开始学习Hadoop各个组件的框架原理,但是我先来通过hadoop运行自带的worldcount示例来熟悉一下它的操作流程。
    1.首先找到hadoop自带worldcount jar包示例的路径:
    这里写图片描述
    2.准备工作,需要创建输入输出路径以及上传的文件:
    (1)创建目录

     hadoop fs -mkdir -p /data/wordcount 

    这里写图片描述

    hadoop fs -mkdir -p /output/

    这里写图片描述
    (2)新建输入文件inputWord:

    vim /usr/inputWord

    这里写图片描述
    将本地准备的输入文件上传到hdfs中:

    hadoop fs -put /usr/inputWord /data/wordcount

    上传成功后可以通过命令查看hdfs里的文件

    hadoop fs -ls /data/wordcount
    hadoop fs -text /data/wordcount/inputWord

    这里写图片描述
    3.准备工作做完之后就可以运行实例了,执行命令

    hadoop jar hadoop-mapreduce-examples-2.8.0.jar wordcount /data/wordcount /output/wordcountresult
    

    可以看到控制台输出信息如下:
    这里写图片描述

    4.查看执行结果

     hadoop fs -text /output/wordcountresult/part-r-00000
    

    这里写图片描述
    以上hadoop自带的wordcount实例运行结束

    展开全文
  • 使用Hadoop的JAVA API远程访问HDFS

    万次阅读 2018-02-10 10:40:58
    之前分别介绍了使用Hadoop的C API操作HDFS和使用Hadoop的Java API操作HDFS,在介绍Java访问方式时(C API不存在这样的问题),程序是部署在Hadoop安装环境的,这具有一定的局限性,因为客户端不可能总是运行在Hadoop...

    之前分别介绍了使用Hadoop的C API操作HDFS使用Hadoop的Java API操作HDFS,在介绍Java访问方式时(C API不存在这样的问题),程序是部署在Hadoop安装环境的,这具有一定的局限性,因为客户端不可能总是运行在Hadoop安装节点上。本文介绍以Java方式远程访问/操作HDFS。

    在Hadoop安装环境中和远程访问的主要区别在于Hadoop环境配置的获取和程序的执行方式。
    在前续的文章中,将客户端打成jar包后,使用”hadoop jar xx.jar”来运行。而远程访问时,由于客户端运行环境并未安装Hadoop,因此只能以java的方式运行程序。
    在Hadoop安装环境下:

    Configuration conf = new Configuration();  //获取当前的默认环境配置
    FileSystem fs = FileSystem.get(conf);   //根据当前环境配置,获取文件系统访问实例
    

    上述代码,在使用hadoop命令运行时,便可以自动获取hadoop安装环境中的配置,如hdfs-site.xml中配置。
    在未安装Hadoop的客户端上,必须手动配置需要的环境变量才能正确访问,例如在前续文章的单节点环境中,需要手动配置一下环境:

    Configuration conf = new Configuration();
    conf.set("fs.defaultFS", "hdfs://{IP}:9000");
    conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");
    conf.set("dfs.client.block.write.replace-datanode-on-failure.policy", "NEVER");
    FileSystem fs = FileSystem.get(conf);
    

    在获取了FileSystem访问实例后,之后的文件系统操作都和之前相同,在此不再累述。

    程序的运行
    如前所述,不能再以hadoop来运行程序,可以通过:

    java -classpath $RemoteHDFSTest {main class} 

    RemoteHDFSTest是自定义的,程序运行依赖的jar包组成的环境变量,如:RemoteHDFSTest=.:hadoop-common-2.7.3.jar:….

    可能出现的异常:
    1.未配置远程访问地址”dfs.namenode.rpc-address”

    Exception in thread "main" java.net.ConnectException: Call From master/192.168.**.** to master:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:732)
        at org.apache.hadoop.ipc.Client.call(Client.java:1479)
    

    解决方法:在hadoop安装环境,hdfs-site.xml中增加:

    <property>
        <name>dfs.namenode.rpc-address</name>
        <value>192.168.**.**:9000</value>
    </property>

    2.单节点安装,只有一个datanode,默认replace-datanode-on-failure.policy是DEFAULT,如果系统中的datanode大于等于1,它会找另外一个datanode来拷贝。目前机器只有1台,因此只要一台datanode出问题,就一直无法写入成功。需要配置出现此种情况应该采取的策略

    Exception in thread "main" java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[192.168.94.200:50010,DS-a3fffc75-b30f-45c7-b976-86347fe90a10,DISK]], original=[DatanodeInfoWithStorage[192.168.94.200:50010,DS-a3fffc75-b30f-45c7-b976-86347fe90a10,DISK]]). The current failed datanode replacement policy is DEFAULT, and a client may configure this via 'dfs.client.block.write.replace-datanode-on-failure.policy' in its configuration.
        at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.findNewDatanode(DFSOutputStream.java:914)
        at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.addDatanode2ExistingPipeline(DFSOutputStream.java:988)
        at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery

    解决方法:在客户端中增加配置

    conf.set("dfs.client.block.write.replace-datanode-on-failure.policy", "NEVER");

    3.HA配置
    在生产环境中,通常Hadoop的安装都配置了nameservices(参见文章:HDFS HA介绍及配置理解 ),并且开启了主备切换,那么环境的设置可以参考如下:

    Configuration conf = new Configuration();
    conf.set("fs.defaultFS", "hdfs://testcluster"); 
    conf.set("dfs.nameservices","testcluster"); //假设nameservices命名为testcluster
    conf.set("dfs.ha.namenodes.testcluster","nn1,nn2");
    conf.set("dfs.namenode.rpc-address.testcluster.nn1","192.168.**.**:8020");
    conf.set("dfs.namenode.rpc-address.testcluster.nn2","192.168.**.**:8020");
    conf.set("dfs.client.failover.proxy.provider.testcluster","org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider");
    FileSystem fs = FileSystem.get(conf);

    综上,远程客户端访问HDFS的环境配置,应该参考Hadoop安装环境的实际配置,参考安装环境中core-site.xml,hdfs-site.xml…中的配置来设置Configuration。

    展开全文
  • 使用hadoop存储图片服务器

    万次阅读 2015-03-02 17:32:49
    公司的一个服务需要存储大量的图片服务器,考虑使用hadoop的hdfs来存放图片文件.以下是整个架构思路:  使用hadoop作为分布式文件系统,hadoop是一个实现了HDFS文件系统和MapReduce的开源项目,我们这里只是使用了...

    公司的一个服务需要存储大量的图片服务器,考虑使用hadoop的hdfs来存放图片文件.以下是整个架构思路:

        使用hadoop作为分布式文件系统,hadoop是一个实现了HDFS文件系统和MapReduce的开源项目,我们这里只是使用了它的hdfs。

        首先从web页面上上传的文件直接调用hadoop接口将图片文件存入hadoop系统中,hadoop可以设定备份数,这样在hadoop系统中某个datanode死掉并不会造成图片不可能,系统会从其他datanode上拿到数据。

    以下我们编写的一个hadoop的java的访问封装类:

    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FSDataOutputStream;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.FileUtil;
    import org.apache.hadoop.fs.Path;
    import org.apache.log4j.Logger;
    
     
    
    public class HadoopFileUtil {
     static Logger logger = Logger.getLogger(HadoopFileUtil.class);
     /**
      * @param args
      */
     public static void main(String[] args) {
      
       String src=args[0];
       String dst=args[1];
       String tag=args[2];
       HadoopFileUtil util=new HadoopFileUtil();
       if(tag!=null&&tag.equals("1")){
        System.out.println(util.createFile(src, dst));
       }
       else{
        util.deleteFile(dst);
       }
    
     }
    
     /**
      * 拷贝一个本地文件到hadoop里面
      * @param localFile 本地文件和路径名
      * @param hadoopFile hadoop文件和路径名
      * @return
      */
     public  boolean createFile(String localFile,String hadoopFile){
      try {
       Configuration conf=new Configuration();
       FileSystem src=FileSystem.getLocal(conf);
       FileSystem dst= FileSystem.get(conf);
       Path srcpath = new Path(localFile);
       Path dstpath = new Path(hadoopFile);
       FileUtil.copy(src, srcpath, dst, dstpath,false,conf);
      } catch (Exception e) {
       e.printStackTrace();
       return false;
      }  
    
      return true;
     }
     
     
     /**将一个流作为输入,生成一个hadoop里面的文件
      * @param inStream 输入流
      * @param hadoopFile hadoop路径及文件名字
      * @return
      */
     public boolean createFileByInputStream(InputStream inStream,String hadoopFile){
      try {
       Configuration conf=new Configuration();
       FileSystem dst= FileSystem.get(conf);
       Path dstpath = new Path(hadoopFile);
       FSDataOutputStream oStream=dst.create(dstpath);
       byte[] buffer = new byte[400];
       int length = 0;
       while((length = inStream.read(buffer))>0){
        oStream.write(buffer,0,length);
       }
       oStream.flush();
       oStream.close();
       inStream.close();
      } catch (Exception e) {
       e.printStackTrace();
       return false;
      }  
      return true;
     }
     /**
      * 删除hadoop里面的一个文件
      * @param hadoopFile
      * @return
      */
     public  boolean deleteFile(String hadoopFile){
      try {
       Configuration conf=new Configuration();
       FileSystem dst= FileSystem.get(conf);
       FileUtil.fullyDelete(dst,new Path(hadoopFile));
      } catch (Exception e) {
       e.printStackTrace();
       return false;
      }
      
      return true;
     }
     /**
      * 从hadoop中读取一个文件流
      * @param hadoopFile
      * @return
      */
     public FSDataInputStream getInputStream(String hadoopFile){
      FSDataInputStream iStream=null;
      try {
       Configuration conf=new Configuration();
       FileSystem dst= FileSystem.get(conf);
       Path p=new Path(hadoopFile);
       iStream=dst.open(p);
      } catch (Exception e) {
       e.printStackTrace();
       logger.error("getInputStream error:", e);
      }
      return iStream;
     }
    
    }
    通过调用这个类可以将图片存入hadoop 系统。


    当需要访问某个图片时,先访问jsp服务器(如:tomcat)的一个servlet,这个servlet从hadoop里面读出图片,并返回给浏览器。

    以下是我们的servlet:

    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.io.IOUtils;
    import org.apache.log4j.Logger;
    
    import com.tixa.dfs.hadoop.util.HadoopFileUtil;
    
    public class HadoopServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
     static Logger logger = Logger.getLogger(HadoopServlet.class);
     
     public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
    
      PrintWriter out=res.getWriter();
      res.setContentType("image/jpeg");
      java.util.Date date = new java.util.Date();  
      res.setDateHeader("Expires",date.getTime()+1000*60*60*24);  
      String path=req.getPathInfo();
      path=path.substring(1,path.length());
      HadoopFileUtil hUtil=new HadoopFileUtil();
      FSDataInputStream inputStream=hUtil.getInputStream(path);
      OutputStream os = res.getOutputStream();
     
      byte[] buffer = new byte[400];
      int length = 0;
      while((length = inputStream.read(buffer))>0){
         os.write(buffer,0,length);
      }
      os.flush();
      os.close();
      inputStream.close();
     }
       
    }
    另外,为了避免对hadoop的频繁读取,可以再jsp服务器前放一个squid进行对图片的缓存。

    这就是我们图片服务器的架构。

    另外其实这里也可以用一些其他的分布式文件系统,如kfs等,很多分布式文件系统可能会比hadoop更为稳定一些。


    转自:http://luyongfugx.blogbus.com/logs/41105881.html


    展开全文
  • 使用hadoop jar 命令运行jar包: ./bin/hadoop jar ./myapp/HDFSExample.jar 使用linux命令运行jar包 java -jar /myapp/HDFSExample.jar
  • 为什么使用Hadoop

    千次阅读 2021-05-25 23:21:22
    2. 实施成本较低,因为它可以使用普通商用硬件并根据需求伸缩。 3. Hadoop拥有一个处于不断增长状态中的社区,该社区通过频繁提交bug修复和增强功能来支持Hadoop。 4. Hadoop自身的库在构建时充分考虑了可用性,并
  • 使用Hadoop Streaming

    千次阅读 2015-08-02 09:52:32
    之前用java写过MR程序,对Hadoop streaming了解不多,Hadoop streaming是和Hadoop一起发布的实用程序,它允许用户创建和执行使用任何程序或者脚本编写的map或者reduce的mapreducejobs,实际工作中看到不少同学用...
  • 使用Hadoop分析大数据

    千次阅读 2019-05-02 12:35:41
    Hadoop是一个用于存储,分析和处理数据的开源软件框架和平台。本文是Hadoop如何帮助分析大数据的初学者指南。 大数据(Big Data)是一个指大量数据的术语,包括传统数据库中存在的结构化数据以及文本文档,视频和...
  • 一、JDK安装、Hadoop的安装...由于在使用hadoop-2.8.0配置的时候,hdfs总是出现错误,使用了各种方法也没能解决,所以这里使用hadoop-2.7.3二、Eclipse、Hadoop安装(Win下)1、Eclipse使用的是eclipse-jee-neon-3-win3
  • 使用Hadoop shell命令导入和导出数据到HDFS weblog_entries.txt
  • Win10安装使用Hadoop3.0.0

    万次阅读 多人点赞 2018-03-15 22:45:48
    本章将一步一步在win10下安装Hadoop3.0.0,并启动服务进行简单的hdfs操作。准备工作1、Hadoop官方下载地址:http://hadoop.apache.org/releases.html选择最新的3.0.0版本后跳转至下面的页面选择红色框部分链接即可...
  • 创建普通用户登录并使用Hadoop集群遇到的若干问题在Hadoop与Spark集群(包括Hive、Hbase)搭建好以后,需要创建一批普通用户供其他人使用,在创建普通用户与普通用户登录后运行某个模块(如Hive),以及在Hadoop集群...
  • 在之前一篇:Eclipse中使用Hadoop单机模式开发配置及简单程序示例,我们讲了如何在eclipse配置文件信息以及如何执行Map/Reduce程序,本篇基于这篇文章的代码总结一下使用hadoop命令行执行jar包的流程,主要包括生成...
  • 使用hadoop dfsadmin -report命令查看集群运行,结果全为0结果如下: [hadoop@mini1 hadoop-2.4.1]$ hadoop dfsadmin -report DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use ...
  • Hadoop 2.3.0已经发布,编译方式主要还是参考前文:Ubuntu 12.04 上使用Hadoop 2.2.0 三 编译64bit版本不过有一点区别,就是不需要修改pom.xml文件了。jetty的bug已经修复。
  • 2 使用hadoop shell hive>fs -ls / #省去前面的hadoop 后面加上; 3 hive -e 可以执行多条Hql ,中间使用;隔开  hive -S 采用静默的方式执行Hql 结果集不会打印到控制台上,而是会输出到标准输出当中,可以...
  • 最近想学习一下hadoop,但是本人对java不是很熟悉,所以决定用python来进行尝试,以下是整个环境部署及测试: 软件环境:VMware10.0,VMware10,ubuntu15.10桌面版(ubuntukylin-15.10-desktop-i386.iso),Apache ...
  • 使用Hadoop自带的例子pi计算圆周率

    千次阅读 2018-08-05 16:45:12
    Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用pi计算圆周率。若想了解其计算原理,参考:http://thinkinginhadoop.iteye.com/blog/710847。 具体步骤如下: 1. 启动Hadoop  切换到...
  • Linux 安装以及基本使用Hadoop 详解

    千次阅读 2016-12-27 23:03:45
    在 http://archive.apache.org/dist/ 去下载 hadoophadoop运行需要安装 JDK 1> 解压软件到目录 ...2> 删除 hadoop 中的 share/doc 目录,该目录中存放着Hadoop相关文档用的比较少,占用空间有几G且会影
  • Following are the three commands which appears same but have minute differences ...hadoop fs {args} hadoop dfs {args} hdfs dfs {args} hadoop fs FS relates to a generic file system which
  • Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用wordcount实现词频统计。具体步骤如下: 1. 启动Hadoop  切换到Hadoop安装目录下的sbin目录下执行./start-all.sh命令  或执行./start...
  • 使用Hadoop API访问Kerberos 安全HDFS

    万次阅读 2015-05-27 15:41:04
    使用kerberos下安全Hadoop时,通常是在linux系统下使用kinit命令进行身份认证,下面提供一种在java api中认证的方式
  • 使用hadoop取数据按照时间段读取一定量的数据 210105114335631194357pv,20210105114335,9779  上面是数据格式中间的数据是时间 使用hadoop应该怎么做
  • Eclipse下配置使用Hadoop插件

    万次阅读 2012-01-06 22:01:17
    前提,请先配置好Hadoop集群,并启动Hadoop守护进程。 集群搭建参见:... 我使用的软件版本如下: Ubuntu: Ubuntu10.04 JDK: jdk1.6.0_25 Eclipse: Eclipse3.71 HadoopHadoop-0.20.203.0
  • 集群启动Hadoop后,运行后有SecondNameNode和dataNode,但是没有NameNode节点?解决方法:1、先运行stop-all.sh 2、运行hadoop namenode -format 3、运行start-all.sh
  • 使用时已经编译好的,直接添加可用。 1.下载:hadoop-eclipse-plugin-2.5.2.jar 2.放到windows本机某目录下,下载 hadoop安装包 3.将hadoop-eclipse-plugin-2.5.2.jar放到eclipse的“eclipse\plugins”下...
  • 一、JDK安装、Hadoop的安装及单机模式配置具体参见博客:Hadoop安装以及伪分布模式搭建过程 本篇博客的OS版本及软件版本均与上述版本一致。 已安装好的JDK目录:/opt/Java/jdk1.8 已安装好的Hadoop目录:/opt/...
  • 项目一直使用win下面的eclipse进行开发,每次开发的mapreduce都需要打成jar包,然后放到linux系统进行调试。一直以来这个就是噩梦。终于找到了在window下面的eclipse插件,可以直接在windows下面调试mapreduce的方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 674,050
精华内容 269,620
关键字:

怎么使用hadoop