• 云计算1


    1.概念

    •云计算其实就更大限度的发挥网络的资源

    •那为什么叫云,为什么不到互联网计算?Cloud

      大多数计算的网络拓扑图都用一块“云”来表示互联网。于是就形成了云计算的说法

    狭义:是指IT基础设施的交付和使用模式,是指通过网络以按需、易扩展的方式获取所需要的资源。提供资源的网络被称为“云”。云中的资源在使用者看来是可以无限扩展的,并且可以随时获取。

    广义:是指服务的交付和使用模式,是指通过网络以按需、易扩展的方式获取所需要的服务。

    2.云计算的几大形式

     云计算服务类形
    •基础设施即服务( IaaS)  - 提供硬件设备
    •app - engine
    •软件即服务( SaaS ) -   WebService
    •网络服务
    •平台即服务(PaaS) - hadoop(平台) , Oracle(),MS,
    •管理服务提供商(MSP)
    •商业服务平台
    •云安全

    3.hadoop的组成

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

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

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

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

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

    • 合并/计算模型。

    l  其他相关组成:

    • Hbase:结构化分部式数据库。BigTable的开源实现。
    • Hive:提供摘要和查询功能的数据仓库。
    • Cassandra:由Facebook开发分布式数据仓库。目前已经捐献给apache。且apache已经将Cassandra应用到了各种云计算系统中。

    4.安装

    1)安装cygwin,注意选择ssh,ssl
    2)安装hadoop4win
    3)启动和停止hadoop必须要遵循节点的顺序。

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

           Namenode

           Datanode

           Secondarynamenode

           Jobtracker

           Tasktracker

    检查启动是否成功:jps

    4)Hadoop启动以后,访问50030端口可以访问jobtracker。

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

           http://localhost:50030 - Jobtracker

           http://localhost:50070 - hdfs

     

    5.Hdfs

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

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

    1)hadoop下的文件操作命令(在命令前加hadoop dfs -或者hadoop fs -)

    a :列出hdfs文件

    ~# hadoop dfs –ls /

    ~# hadoop fs –ls /

    b.将文件上传到hdfs

    以下命令,将本地目录下的a.txt上传到hdfs下的wj目录下,并重命名为b.txt

    hadoop fs –put a.txt /wj/b.txt
    也可以使用copyFromLocal命令将本目录下的文件上传到hdfs文件系统中

    c:将hdfs中的文件复制到本地系统中

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

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

    hadoop fs -get /wj/b.txt  a.txt

    d:删除文件

    hadoop fs -rmr /wj/b.txt

     6.Eclipse下的HDFS操作

    package cn.itcast.hadoop;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    /**
     * 上传本地文件到HDFS
     * @author fanyf
     *
     */
    public class TestUploadFiles2HDFS {
        public static void main(String[] args) throws IOException {
            Configuration conf=new Configuration();
            FileSystem hdfs = FileSystem.get(conf);
            Path path1=new Path("D:/abc.txt");
            Path path2=new Path("/user/abc.txt");
            //上传
            hdfs.copyFromLocalFile(path1, path2);
            System.err.println("文件上传成功至:"+conf.get("fs.default.name"));
            //列出服务器上目前拥有的文件
            FileStatus[] fs = hdfs.listStatus(path2);
            for(FileStatus f:fs){
                System.err.println(f.getPath());
            }
            hdfs.close();
        }
    }
    package cn.itcast.hadoop;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataOutputStream;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    /**创建文件或者目录
     * @param fanyf
     */
    public class TestCreateFileOnHDFS {
    
        public static void main(String[] args) throws IOException {
            Configuration conf = new Configuration();
            FileSystem hdfs = FileSystem.get(conf);
            FSDataOutputStream out=hdfs.create(new Path("/user/test/a.txt"));
            hdfs.mkdirs(new Path("/user/test/a/b/c"));
            out.write("hello hadoop!".getBytes());
            out.close();
            hdfs.close();
            
        }
    
    }
    package cn.itcast.hadoop;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    /**
     * 重命名或者移动文件
     * @author fanyf
     *
     */
    public class TestReNameOnHDFS {
    
        public static void main(String[] args) throws IOException {
            Configuration conf = new Configuration();
            FileSystem hdfs = FileSystem.get(conf);
            //hdfs.rename(new Path("/user/abc.txt"), new Path("/user/b.txt"));
            hdfs.rename(new Path("/user/b.txt"), new Path("/user/test/b.txt"));
            hdfs.close();
        }
    
    }
  • 相关阅读:
    求斐波那契数列的第n项
    八大经典排序算法
    [BZOJ 3083] 遥远的国度
    [BZOJ 3306] 树
    [SCOI 2010] 序列操作
    [AHOI 2013] 差异
    [USACO2006 DEC] Milk Patterns
    [JSOI 2007] 字符加密
    [BZOJ 2588] Count on a tree
    [NOIP 2018 Day1] 简要题解
  • 原文地址:https://www.cnblogs.com/fanglove/p/3826400.html
Copyright © 2020-2023  润新知