zoukankan      html  css  js  c++  java
  • 分布式系统一点探索

           对于分布式系统这样一个复杂领域,首先要清楚其概念,才能从总体角度有个把握,才好深入

    去不断了解。

           google搜索引擎需要对海量数据进行离线实时计算,海量数据单机已经无法进行存储、计算。

    单机不行那就用多台PC构成分布式来应对海量存储、海量计算,想法厉害结果人还实现了。

           应对海量数据存储,海量数据计算,开发了海量分布式文件系统GFS,分布式数据库BigTable

    ,分布式计算程序MapReduce,分布式协调程序Chubby。

           Google在03至06年发表了著名的三大论文——GFS、BigTable、MapReduce,用来实现一个

    大规模的管理计算系统。确实远远领先于业界,真黑科技,三篇论文值得反复看。

           开源界根据google论文实现了,分布式文件系统HDFS对应GFS,分布式数据库HBase对应BigTable,

    分布式计算程序MapReduce对应MapReduce,分布式协调程序Zookeeper对应Chubby。对于这些

    详细架构设计、实现网上解读很多,可以去搜索学习。

            HDFS本身目的是为了分布式存储文件,理解他的话可以把它想象为Ext、NTFS等本地文件系统

    ,有读、写,删除等操作,实际工程中可以从本地文件系统拷贝进HDFS,可以读取数据库写进HDFS

    ,可以接收消息队列数据写进HDFS。

           为了方便不会编程人员使用分析数据,又搞出了Hive通过sql方式访问使用数据,但底层还是HDFS、

    MapReduce。

           排序是互联网程序很重要用途,搜索引擎是将质量最高文档排在前,个性化推荐系统是将与用户

    最相关内容排在最前,MapReduce最早就是Google根据PageRank等多个因素得出文章质量排序。学

    大数据第一个程序一般就是WordCount,WordCount本身就是计算文本出现次数,根据次数排序。

           研究Hadoop不能止于WordCount,要找个实际问题,例如:知乎粉丝最高的是谁?博客园粉丝

    最多是谁?分数最高是谁?这些用单机计算都是很难得,首先抓取知乎、CSDN数据,将数据写入HDFS

    ,写MapReduce程序统计用户粉丝数,按粉丝数、分数排序,将结果写入文件,就可以得出粉丝最多

    是谁,分数最高是谁了。

           大数据学习可以通过一些实际问题,将这些工具用起来,总是看或者只运行下WordCount的话学习

    还是会慢的。每天跟搞大数据的打交道,还是要深入了解下,不然总提些很难或不能实现需求还是挺尴

    尬的。

          

    微信搜索:debugme123

            扫描二维码关注:

  • 相关阅读:
    Python在函数中使用*和**接收元组和列表
    nvidia-smi实时刷新并高亮显示状态
    linux docker
    linux Vue+nginx+django 实现前后端分离
    linux mysql 主从复制
    linux redis
    linux mysql主从复制
    linux python虚拟环境 相关的
    linux dns
    2 linux vim sudo 文件权限
  • 原文地址:https://www.cnblogs.com/freedommovie/p/7865187.html
Copyright © 2011-2022 走看看