安装、进程-云计算学习笔记---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载-by小雨

本文是一篇关于安装、进程-的帖子

    

 

    

 

    

1、Hadoop简介

    

1、hadoop的生诞

    l  Nutch和Lucene之父Doug Cutting在2006年成完Hadoop目项。

    l  Hadoop并非一个单词,它来源于DougCutting小儿子对所玩的小象具玩牙牙学语的称谓。就像是google也是由小孩子名命一样。

    l  后又经过5年的开辟,hadoop在全部云盘算系统是稳居第一。

    l  Hadoop前目用应最泛广的本版为hadoop-0.20本版。前目最新本版为hadoop-1.03

    l  Hadoop行运在Linux系统中。在windows上安装可用应cgywin模拟linux环境。

    

2、hadoop的成组

    l  hadoop Common – 是hadoop的核心,括包文件系统、远程调用RPC的序列化函数。

    l  HDSF : 供给高吞吐量的牢靠分布式文件系统是 GFS的源开实现。

    •   Hadoop的文件系统。必须通过hadoop  fs 命令来取读。支撑分布式。

    l  MapReduce : 大型分布式数据理处模型,是Google MapReduce的源开实现。

    •   合并/盘算模型。

    l  其他关相成组:

    •    Hbase:结构化分部式数据库。BigTable的源开实现。

    •    Hive:供给摘要和询查功能的数据仓库。

    •    Cassandra:由Facebook开辟分布式数据仓库。前目已捐献给apache。且apache已将Cassandra用应到了各种云盘算系统中。

    

3、hadoop的体系结构

   NameNode  - 主节点主服务器

   SecondaryNameNode– 是帮助nameNode

  DataNode  -数据保存用的

  TaskTracker – 接收任务

       JobTracker  - 分数据 -100M  Datanode1,DataNode2,DataNode3

    Master:主节点,相当于目项经理

    

Slave:从节点相当于PG

    Hadoop只能行运在linux系统上:

    在linux系统上装JVM虚拟机,然后,面上行运了三个进程

    

SecondaryNameNode,Jobtracter,NameNode这三个进程,这三个都是java进程

其中,NameNode是最主要的一个java进程,他定决了主节点,在从节点上没有这个进程

SecondaryNameNode相当于NameNode的秘书,协助NameNode成完作工, Jobtracter任务跟踪进程,用来跟踪任务

并且把任务交给从节点.

    

可以看到常通用应都市有一个主节点和一个从节点,并且从节点中也有两个java进程,因为在装有从节点的服务器上,也装的是linux系统,在linux系统上装有jvm,然后跑了两个java进程,一个是: Jobtracter,另一个是:DataNode数据节点,这个进程用来理处和数据有关的任务.注意在hadoop系统中,只有一个主节点,其他的都属于从节点.

 

      

    l  NameNode:这是hadoop的护守进程(注意是进程JVM)。担任记录文件是如何分割成数据块,以及这些数据块别分存储到哪些数据节点上。对存内停止会合理管。NameNode在整个hadoop中只有一个。一旦NameNode服务器宕机,整个系统将法无行运。

    l  DataNode:群会合的个每从服务器都行运一个DataNode后台程序。这个后台程序担任将HDFS数据块写到当地的文件系统。

    l  Secondary NomeNode:用来监控HDFS态状的帮助后台程序。如保存NameNode的快照。

    l  JobTracker:用户接连用应程序和hadoop。个一每hadoop群会合只一个 JobTracker,一般它行运在Master节点上。

    l  TaskTracker:担任与DataNode停止结合。

    

4、Hadoop的市场

    l  facebook

    l  宝淘

    l  360完整

    l  京东

    l  yahoo

    l  google

    l  狂风

 

    

2、Hadoop的安装

    Core-site.xml:

       官方只供给linux的安装本版:

      

       前目市场上涌现了一种window上的可以安装的本版。是实其将Linux与hadoop整合的物产。的目是简化hadoop的安装。此安装程序用应的是hadoop-0.20本版+cgywin:

      

      

    

1、hadoop的单机安装-hadoop4win的安装法方

       Hadoop的用应括包

    n  安装

    n  格式化NameNode

    n  动启全部节点

 

       Hadoop4win的安装法方非常简略,因为它就是一个setup安装程序,只要会点下一步可即。

      

    择选语言:

    接收:

    择选组件:

    择选安装位置:

    等待安装:

    查看hadoop的安装细节:

    安装细节:

    安装细节:格式化namenode:

    安装细节-测试动启全部节点:

    注意上面的止停次序:

 

    Hadoop安装成完当前的目录:

    hadoop4win是Linux+jdk+hadoop的安装目录。

    Var是namenode格式化当前生成的目录 。即hdfs的目录。

 

 

 

 

 

 

 

    进入hadoop4win:

    

查看hadoop的配置文件:

Hadoop-env.sh:hadoop的环境变量配置文件

 

Core-site.xml:hadoop的核心配置文件

 

Hdfs-site.xml:hadoop的文件系统配置文件

 

Mapred-site.xml:hadoop的map/reduce配置文件。

 

 

    查看面上文件的配置息信,你对懂得hadoop有帮助。

 

    

2、动启hadoop

    

1、直接用应hadoop的start-haoop

    

2、用应jps检查java进程

       如果发现有5个java进程,则说明动启功成:

    

因为这里我们用了一台器机,所以这台器机既充当了主节点,又充当了从节点.

    用jps命令,可以查看动启了哪些java进程.

    或用应ps命令:

    

3、单个动启与止停hadoop

       动启和止停hadoop必要须遵守节点的次序。

       动启时按以下次序动启:(止停时按相反的次序止停)

       Namenode

       Datanode

       Secondarynamenode

       Jobtracker

       Tasktracker

      

       用应hadoop-daemon.sh start 动启各节点:

      

    检查动启否是功成:用应jps命令查看否是动启功成

      

    止停:

       用应hadoop-daemon.sh stop namenode止停个每节点可即

 

    

3、测试问访

       Hadoop动启当前,问访50030端口可以问访jobtracker。

       问访50070端口可以问访hdfs文件系统。

       http://localhost:50030 - Jobtracker

       http://localhost:50070 - hdfs

    以下是50070

 

    

3、hdfs概念与命令

       Hdfs是hadoop Distributed file system的缩写,是hadoop的分布式文件系统。

       Hdfs由hadoop来理管,它不同于普通的文件系统,不能直观的查找文件,必要须通过hadoop命令操作hdfs。

 

       HDFS是一个主从结构的体系,一个HDFS群集是由一个名字节点,它是一个理管文件的名命空间和调节客户端问访文件的主服务器,当然还有的数据节点,一个节点一个,它来理管存储。HDFS暴露文件名命空间和允许用户数据存储成文件。

    内部机制是将一个文件分割成一个或多个的块,这些块存储在一组数据节点中。名字节点操作文件名命空间的文件或目录操作,如打开,关闭,重名命,等等。它同时确定块与数据节点的映射。数据节点来担任来自文件系统客户的读写请求。

    数据节点同时还要执行块的创建,删除,和来自名字节点的块复制指示。

    名字节点和数据节点都是软件行运在普通的器机之上,器机典型的都是linux,HDFS是用java来写的,任何支撑java的器机都可以行运名字节点或数据节点,利用java语言的超轻便型,很容易将HDFS部署到大范围的器机上。典型的部署时将有一个专门的器机来行运名字节点软件,机群中的其他器机行运一个数据节点实例。体系结构排斥在一个器机上行运多个数据节点的实例,但是实际的部署不会有这种情况。

    群会合只有一个名字节点极大地简略化了系统的体系。名字节点是仲裁者和全部HDFS的元数据的仓库。系统设计成用户的实际数据不经过名字节点。

    

1、hadoop下的文件操作命令

    

1 :列出hdfs文件

    ~# hadoop dfs –ls /

    或

    ~# hadoop fs –ls /

    

查看user下的内容

hadoop fs –ls  /user

    这里查看这个文件还有一个法方就是在网页中查看:进入http://127.0.0.1:50070,也就是hdfs的理管系统

    

然后点击相应的文件目录就可以了.

    这里需要注意:当查看hadoop文件系统的时候需要用命令hadoop fs –ls  这样前面加上hadoop fs 因为假如

    

直接用ls的话,那么就是指模拟出来的linux文件系统中的东西

 

 

    

2:将文件上传到hdfs

    

这里演示将windows系统中的一个credream.txt文件上传到hadoop的hdfs分布式系统中,

首先可以通过cd c:进入当地的windows的c盘

然后cd..走到系统的根目录

Ls可以看到当前文件系统的盘符

Cd c

Ls

可以列出c盘中的文件

:

 xiaofeng@xiaofeng-PC/cygdrive/c

 

上面通过命令把当地c盘中的credream.txt文件传到hadoop hdfs文件系统中的user目录下

上面是命令行:

    注意:这里hadoop fs –put credream.txt/user/credream.txt

    就是把c盘的文件上传到hadoop的hdfs文件系统的user目录下.

    hadoop fs –put credream.txt,这个指的是当地c盘,因为可以看到cygdrive/c指的就是c盘了,所以没有另外指定当地的

    

文件目录

    而且可以对文件停止重名命:

    hadoop fs –put credream.txt/user/hadoop.txt就是把当地c盘的credream.txt文件上传到hadoop的hdfs系统并停止

    

重名命.

    echo hello credream > test.txt就是指的是在当地的C盘停止创建一个test.txt文件,但是如果是win7系统的话,那么会有

    

权限问题

    可以看到在c盘不可以,但是在d盘就可以创建test.txt文件了

    

 

这是把当地D盘的test.txt文件上传到hdfs文件系统的/user/目录下不改变文件的名字

    

 

这里是上传整个目录到hdfs文件系统的/user/目录下

mkdirhadooptest 在当地d盘创建一个hadooptest文件夹

cp test.txthadooptest就是把test.txt文件拷贝到hadooptest文件夹中

hadoop fs –put hadooptest/user/

把hadooptest文件夹上传到hdfs文件系统的/user/目录下

 

 

    从上图中可以看到

    用应hadoop fs –copyFromLocaltest.txt /user/testa.txt

    将当地的test.txt文件拷贝一份然后上传到hdfs文件系统中并且重名命为testa.txt文件

    然后通过hadoop fs –ls/user查看hdfs文件系统中user目录下的文件

 

    

3:将hdfs中的文件复制到当地系统中

    通过get命令,可即以操作文件也可以操作文件夹:

    操作一个文件,将hdfs上的文件/wj/a.txt保存到当地,并取名为b.txt

    以下下载整个文件到当前目录下来,注意最后的一个点

    

Get命令例子二:

    通过hadoop fs –get/user/testa.txt testb.txt就是把hdfs中的user/下的testa.txt文件下载到当地并重名命

    hadoop fs –get /user/testa.txt .直接把hdfs中的user/下的testa.txt文件下载到当地 .代表直接到当地不停止重名命

    hadoop fs –get /user/hadooptest . 直接把hdfs中的user/下的hadooptest文件夹下载到当地 .代表直接到当地不停止重名命

    

hadoop fs –get /user/hadooptestcredreamhadoop直接把hdfs中的user/下的hadooptest文件夹下载到当地,并重名命

 

    

4:删除hdsf下的某个文档

    这里是删除当地的文件,和linux下的命令一样

    

删除文件夹的时候要用递归

    这里是删除hdfs文件系统中的文件和文件夹的例子:

    hadoop fs –rm /user/testa.txt删除user文件夹下的testa.txt文件

    hadoop fs –rm /user/*.txt删除user文件夹下全部.txt的文件

    hadoop fs –rm /user/hadooptest这样是不能删除一个文件夹的要用递归

    

hadoop fs –rmr user/hadooptest这个命令可以删除文件夹和文件夹中的文件递归删除

 

 

    

5:其他更多操作,可以通过查帮助获取

 

 

文章结束给大家分享下程序员的一些笑话语录: 联想——对内高价,补贴对外倾销的伟大“民族”企业。

你可能感兴趣的:(hadoop)