博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
云计算1
阅读量:4625 次
发布时间:2019-06-09

本文共 3645 字,大约阅读时间需要 12 分钟。

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文件系统。

       - Jobtracker

       - 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();    }}

 

 

 

转载于:https://www.cnblogs.com/fanglove/p/3826400.html

你可能感兴趣的文章
详解如何让Android UI设计性能更高效
查看>>
使用KNN算法对鸢尾花数据集进行分类处理
查看>>
java排序-按照实体的多种属性值进行排序(ComparableComparator/ComparatorChain)
查看>>
Django模板语言
查看>>
Django路由系统
查看>>
提高生产性工具(四) - XML数据库的尝试
查看>>
ural 1005 Stone Pile DP
查看>>
day15—jQuery UI之widgets插件
查看>>
使用ssh和putty操控远程的linux server
查看>>
BZOJ1499: [NOI2005]瑰丽华尔兹
查看>>
过滤器
查看>>
Redis是什么?
查看>>
JavaScript 学习总结
查看>>
iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期...
查看>>
多线程(四)线程生命周期和线程池
查看>>
如何屏蔽国内IP访问我们的网站的一些方法!
查看>>
起与伏
查看>>
2.网络编程-udp
查看>>
Handlebars.js 模板引擎
查看>>
MySQL体系结构
查看>>