文件管理 · 2023年11月15日

分布式系统教程|怎样从零开始学习linux

① 请问有没有学习过龙果学院推出的那套《基于Dubbo分布式系统架构视频教程》,不知道讲得怎么样

这个视频含金量比较高,视频实践性比较强,不像其他有些学院讲得都是一些理论上的东西,不过很多东西单靠看视频还是不行的,最主要的还是要自己多实践,视频能给你的只是一个思路

② 如何在ubuntu14.04配置分布式hadoop

我的环境是:Ubuntu14.04+Hadoop2.6.0+JDK1.8.0_25官网2.6.0的安装教程:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html为了方面配置,我在每台机器上都使用了hadoop用户来操作,这样做的确够方便。结点信息:(分布式集群架构:master为主节点,其余为从节点)机器名 IP 作用master 122.205.135.254 NameNode and JobTracker slave1 122.205.135.212 DataNode and TaskTracker 1.JDK的安装首先Hadoop运行需要java的支持,所以必须在集群中所有的节点安装JDK,jdk1.8.0_25的详细安装见我的另一篇文章:http://www.linuxidc.com/Linux/2015-01/112030.htm 注意:最好将集群中的JDK都安装在同一目录下,便于配置。实践中,笔者一般将JDK安装在/usr/java这个目录,但并不是必须的。2.配置hosts文件修改集群中所有机器的/etc/hosts,打开该文件的命令如下:sudo gedit /etc/hosts添加:122.205.135.254 master122.205.135.212 slave1如图所示:注意:这里的master、slave1、slave2等等,指的是机器的机器名(使用命令hostname可以查看本机的机器名),切记,如果不是机器名的话会出问题的,并且集群中所有结点的机器名都应该不一样。3.SSH无密码登录Hadoop主从节点无密码登录的安装配置详细见我的另一篇章:点击打开链接4.Hadoop的安装与配置(1).下载解压Hadoop稳定版我用的是hadoop-2.6.0,下载地址:http://mirrors.hust.e.cn/apache/hadoop/common/stable/将下载后的Hadoop 拷贝到hadoop目录下,解压到master服务器的/hadoop目录下(配置好master结点后再将其复制到其它的服务器上,一般来说,群集中所有的hadoop都安装在同一目录下):解压命令如下:tar xzfv hadoop-2.6.0.tar.gz(2).配置Hadoop1.修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持:export JAVA_HOME=/usr/java/jdk1.8.0_25如果不知道你的JDK目录,使用命令echo $JAVA_HOME查看。2.修改hadoop-2.6.0/etc/hadoop/core-site.xml注意:必须加在<configuration></configuration>节点内<configuration><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-2.6.0/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property></configuration>3.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml<property> <name>dfs.name.dir</name> <value>/home/hadoop/hadoop-2.6.0/dfs/name</value> <description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description></property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/hadoop-2.6.0/dfs/data</value> <description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description></property><property> <name>dfs.replication</name> <value>1</value></property>4.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml<property> <name>mapred.job.tracker</name> <value>master:9001</value> <description>Host or IP and port of JobTracker.</description></property>5. 修改hadoop-2.6.0/etc/hadoop/masters列出所有的master节点:master6.修改hadoop-2.6.0/etc/hadoop/slaves这个是所有datanode的机器,例如:slave1slave2slave3slave47.将master结点上配置好的hadoop文件夹拷贝到所有的slave结点上以slave1为例:命令如下:scp -r ~/hadoop-2.6.0 [email protected]:~/安装完成后,我们要格式化HDFS然后启动集群所有节点。5.启动Hadoop1.格式化HDFS文件系统的namenode(这里要进入hadoop-2.6.0目录来格式化好些):cd hadoop-2.6.0 //进入hadoop-2.6.0目录bin/hdfs namenode -format //格式化2.启动Hadoop集群启动hdrs命令如下:sbin/start-dfs.sh //开启进程

③ 安装分布式模式cloudera有哪些步骤

1 Hadoop的安装注意事项最近云计算在中国极为火爆,但看了云计算的那些云山雾罩的概念后,实在让人望而却步。还好不是所有的东西都摸不着头脑,Hadoop就是实实在在的技术之一。不才最近仔细品读了Hadoop的基础资料,特别是如何部署Hadoop的相关技术文档,发现其中有许多不为人注意的东西,在此整理一下。Hadoop 开发者入门专刊(pdf) 是目前比较权威的文档;有什么与Hadoop相关的技术问题也可以到专业的Hadoop技术论坛上去讨论。1.1 Hadoop 集群的组成成份Hadoop的核心功能有两个:HDFS与MapRece 。与HDFS相关的服务有NameNode 、SecondaryNameNode 及DataNode ;与MapRece 相关的服务有JobTracker 和TaskTracker 两种。Hadoop集群中有两种角色:master与slave,master又分为主master与次master。其中:主 master同时提供NameNode 、SecondaryNameNode 及JobTracker 三种服务;次master只提供SecondaryNameNode 服务;所有slave可以提供DateNode 或TaskTracker 两种服务。1.2 Hadoop有三种集群方式可以选择:Local (Standalone) Mode(无集群模式)Pseudo-Distributed Mode(单机集群模式)Fully-Distributed Mode(多机集群模式)一个Hadoop集群由多台电脑组成,每台电脑可作为一种或多种角色存在。当使用Pseudo-Distributed Mode创建Hadoop集群时,一台电脑同时完成主master和slave两种角色的任务。在Fully-Distributed Mode下,如果只有一台电脑作为master,则此电脑完成主master的任务;如果有多台电脑作为master存在,则第一台电脑完成主 master的任务,其它电脑完成次master的任务。1.3 实际部署Hadoop集群在实际操作中,集群中的电脑名字都是通过/etc/hosts文件指定的。集群中主master是核心,担任这种角色的电脑在其/etc/hosts中保存有集群中所有电脑的名字。次 master与所有的slave只负责与主master联系,所以在这些计算机上的/etc/hosts中只要保存自身和主master的计算机别名即可。集群模式的选择主要靠主master上$HADOOP_HOME /conf /目录下的masters与slaves两个文件配置完成。如果需要Pseudo-Distributed Mode,则masters与slaves两个文件的内容同时指向主master电脑名字即可。如果需要Fully-Distributed Mode,则masters文件中第一行记录的是主master电脑名字,其它行记录的是次master电脑名字。无密码SSH 登录启动Hadoop的方式是在主master上调用下面的命令:$HADOOP_HOME /bin/start-all.sh此调用过程中,Hadoop依次启动以下服务:在主master上启动NameNode 服务;在主master上启动SecondaryNameNode 服务;在次master上启动SecondaryNameNode 服务;在所有slave上启动DataNode 服务;在主master上启动JobTracker 服务;在所有slave上的TaskTracker 服务。 部署Hadoop过程中Hadoop需要启动服务,在此需要注意以下几点:(1) 启动NameNode 与JobTracker 服务不需要SSH授权;(2) 需要通过SSH登录之后才能启动SecondaryNameNode 、DataNode 以及TaskTracker 服务,因此:因为需要启动SencondaryNameNode服务,所以要为主master提供SSH授权;因为需要启动SencoddaryNameNode 服务,所以要为所有的次master提供SSH授权;因为需要启动DataNode 和TaskTracker 服务,所以要为所有的slave提供SSH授权。总而言之,要为Hadoop集群中的所有计算机提供SSH授权。为什么要提供无密码SSH登录方式呢?为的是图省事儿。试想在启动 Hadoop集群过程中,要手动输入每一台电脑的SSH密码将是一件多么烦人的事!SSH授权的方法在这里不做详细的描述。无密码SSH登录技术也是相对成熟的技术。但有一个环节需要注意,那就是文件的访问权限问题。表现为:Linux系统中$HOME目录下的.ssh目录为用户所有,权限必须为700(只有用户自己可以全权访问);.ssh目录下的授权文件“authorized_keys”为用户所有,权限必须为644。本节有关部署Hadoop应该注意的事项介绍完毕。 2 三种安装模式的说明2.1 本地安装模式HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。当前最新版本是hadoop0.20.1。下面就hadoop0.20.1为蓝本,介绍在UbuntuLinux9.10下hadoop本地安装的方法。支持的平台:Linux,可作为开发和产品部署的平台;Windows,可作为开发平台。事先需要的软件:1.JavaTM1.6.x,必须安装,建议选择Sun公司发行的Java版本;2.ssh必须安装,并保证sshd运行,hadoop将以ssh进行通讯;3.如果是windows,则需要装Cygwin,用以支持shell命令。本地模式安装步骤:1.将hadoop安装包解压缩到某目录下;2.修改conf/hadoop-env.sh文件,exportJAVA_HOME=那行设置正确的JAVA_HOME位置,当然如果事先在操作系统已经set完JAVA_HOME,可以忽略此步骤;Hadoop本地模式安装完了测试一下运行效果:$mkdirinput$cpconf/*.xmlinput$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'$catoutput/*这个示例程序是hadoop自带的,用于把conf下的xml文件拷贝到input目录下,并且找到并显示所有与最后一个参数的正则表达式相匹配的行,output是输出文件夹。本节关于Hadoop本地安装介绍到这里,希望你有所收获。2.2 伪分布式模式下面就hadoop0.20.1为蓝本,介绍在UbuntuLinux9.10下hadoop伪分布安装的方法。支持的平台:Linux,可作为开发和产品部署的平台;Windows,可作为开发平台。事先需要的软件:1.JavaTM1.6.x,必须安装,建议选择Sun公司发行的Java版本;2.ssh必须安装,并保证sshd运行,hadoop将以ssh进行通讯;3.如果是windows,则需要装Cygwin,用以支持shell命令。安装步骤1.将hadoop安装包解压缩到某目录下;2.修改conf/hadoop-env.sh文件,exportJAVA_HOME=那行设置正确的JAVA_HOME位置3.修改conf/core-site.xml,改为: <configuration><property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property></configuration><configuration><property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property></configuration> 4.修改conf/hdfs-site.xml,改为: <configuration><property><name>dfs.replication</name><value>1</value></property></configuration><configuration><property><name>dfs.replication</name><value>1</value></property></configuration> 5.修改conf/mapred-site.xml,改为:<configuration><property><name>mapred.job.tracker</name><value>localhost:9001</value></property></configuration><configuration><property><name>mapred.job.tracker</name><value>localhost:9001</value></property></configuration> 6.设置本机ssh本机无密码先测试一下,输入命令sshlocalhost,如果提示密码,则需要进行以下操作:$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys7.格式化namenode:$bin/hadoopnamenode-format8.启动Hadoop:$bin/start-all.sh至此,hadoop伪分布模式安装完毕!2.3 完全分布式模式Hadoop完全分布模式安装步骤(这里的步骤只让hadoop能跑,不带任何调优步骤):1.下载并解压hadoop到集群中某台服务器目标目录。2.配置/etc/hosts文件2.1确认集群中所有服务器均有hostname,并记录IP2.2每一台服务器的/etc/hosts文件里配置hostname和IP对应关系,加快解析速度。3.配置SSH免密码登陆3.1每台服务器上运行:$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys3.2把各台服务器的~/.ssh/authorized_keys文件内容合并到一个总的authorized_keys文件;3.3把那个总的authorized_keys文件scp到每台服务器,替换原有的authorized_keys文件;3.4互相SSH对方机器,确认SSH登陆不需要密码4.配置各台服务器时间,确保每台服务器时间相同;Hadoop完全分布模式安装过程中还要配置Hadoop。 5.配置hadoop5.1配置conf/hadoop-env.sh文件。配置JAVA_HOME一行,配置正确的路径。5.2配置conf/core-site.xml文件<configuration><property><name>fs.default.name</name><value>hdfs://host:9000</value></property></configuration><configuration><property><name>fs.default.name</name><value>hdfs://host:9000</value></property></configuration>注:这里的host必须改为对应的namenode的hostname5.3配置conf/hdfs-site.xml文件,如果不修改使用默认设置也可以。5.4配置conf/mapred-site.xml文件<configuration><property><name>mapred.job.tracker</name><value>localhost:9001</value></property></configuration><configuration><property><name>mapred.job.tracker</name><value>localhost:9001</value></property></configuration>注:这里的host必须改为对应的namenode的hostname6.配置conf/slaves和conf/master文件。slaves文件里写datanode的hostname或IP,master里写namenode、secondarynamenode的hostname或IP,每行写一个服务器,以#开头的行视为注释。7.分发hadoop直接通过scp,把hadoop整个目录复制到各台服务器的相同目录即可。8.格式化hadoop的namenode执行命令:$bin/hadoopnamenode-format9.启动hadoop执行命令:$bin/start-all.sh至此,Hadoop完全分布模式安装完毕,通常启动到所有服务器完全识别出来需要一定的时间(我这里是5分钟左右),要耐心等待,在namenode节点上,打开浏览器,输入http://localhost:50070/即可看到整个hadoop情况,JobTracker情况可以看每一个服务器的http://localhost:50030/。3 Hadoop环境搭建JDK的安装:要求必须安装jdk1.5.07以上的版本。3.1 硬件环境我们采用了3台机器来构建,都安装的是RedHat4.1.2-42系统,并且都有一个名为“mingjie“的帐号,如下:主机名称:hdfs1ip:192.168.0.221功能:NameNode,JobTracker主机名称:hdfs2ip:192.168.0.227功能:DataNode,TaskTracker主机名称:hdfs3ip:192.168.0.228功能:DataNode,TaskTracker重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析127.0.0.1localhost192.168.0.37hdfs1192.168.0.43hdfs2192.168.0.53hdfs3 内容来自dedecms3.2 安装java环境每台机器都要安装java环境,我们的路径统一为“/opt/moles/jdk1.6“,并添加到系统环境变量sudovi/etc/profileJAVA_HOME=/opt/moles/jdk1.6PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/binCLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jarexportJAVA_HOME3.3 下载系统下载hadoop0.17.1,将hadoop解压到/home/mingjie/,建议最好也将hadoop的目录添加到环境变量里面去:HADOOP_HOME=/home/mingjie/hadoop-0.17.1#这是hadoop的主目录exportHADOOP_HOMEHADOOP_CONF_DIR=$HADOOP_HOME/conf#这是hadoop的配置文件目录exportHADOOP_CONF_DIRHADOOP_LOG_DIR=/home/mingjie/hadoop-0.17.1/log#存放运行日志目录exportHADOOP_LOG_DIRexportPATH=$PATH:$HADOOP_HOME/bin。Hadoop环境搭建过程中还需要安装SSH。3.4 安装ssh,并生成公钥和私钥安装ssh,并生成公钥和私钥.运行ssh-keygen-trsa,根据屏幕提示直接选择“回车”,会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pubcat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys以上配置完成后,执行一下sshlocalhsot,确认你的每台机器都可以使用ssh 织梦内容管理系统3.5 复制SSH的key将master服务器上的authorized_keys的内容加到slave两台机器的authorized_keys文件中。让master也可以不需要密码访问2台slave服务器。Sudo scpauthorized_keyshdfs2:/home/mingjie/.ssh/sudoscpauthorized_keyshdfs3:/home/mingjie/.ssh/ssh hdfs2ssh hdfs33.6 修改主机和从机文件我们要修改hadoop的[conf/masters]、[conf/slaves]这2个文件:Master设置(<HADOOP_HOME>/conf/masters):hdfs1Slave设置(<HADOOP_HOME>/conf/slaves):hdfs2hdfs33.7 修改配置文件修改[conf/hadoop-env.sh]:exportJAVA_HOME=/opt/jdk1.6.0_033.8 修改配置文件修改[conf/hadoop-site.xml],这里只是几个常用的属性配置,有关hadoop的性能优化调整,需要研究hadoop-default.xml。3.9 hadoop的整体环境拷贝然后将hadoop的整体环境拷贝到hdfs2、hdfs3上面去scp-r/home/mingjie/hadoop.0.17.1hdfs2:/home/mingjie/hadoop.0.17.1scp-r/home/mingjie/hadoop.0.17.1hdfs3:/home/mingjie/hadoop.0.17.13.10 名称节点实始化在hdfs1这个namenode上面格式化一个新的分布式文件系统HDFS,就是hadoop-site.xml文件中指定的hadoop.tmp.dir路径<HADOOP_HOME>/bin/hadoopnamenode–format到此大致上就完成了hadoop环境搭建3.11 系统启动与停止启动hadoop:<HADOOP_HOME>/bin/start-all.sh停止hadoop:<HADOOP_HOME>/bin/stop-all.sh说明:(1)执行启动Hadoop进程后,在master服务器会启动3个java进程,分别的NameNode,SecondNameNode,JobTracker,在LOG目录下会产生2个文件,分别对应NameNode的运行日志和JobTracker的运行日志,在slave服务器会启动2个java进程,分别为DataNode,TaskTracker,,在LOG目录下会产生2个文件,分别对应DataNode的运行日志和TaskTracker的运行日志,可以通过查看日志分析hadoop的启动是否正确。(2)通过IE浏览分布式文件系统中的文件访问http://hdfs1:50030可以查看JobTracker的运行状态。访问http://360quan-1:50060可以查看TaskTracker的运行状态。

④ 什么是分布式综合管理平台

分布式系统背景说分布式系统必须要说集中式系统,集中式系统中整个项目就是一个独立的应用,整个应用也就是整个项目,所有的东西都在一个应用里面。如一个网站就是一个应用,最后是多个增加多台服务器或者多个容器来达到负载均衡的避免单点故障的目的,当然,数据库是可以分开部署的。集中式很明显的优点就是开发测试运维会比较方便,不用为考虑复杂的分布式环境。集中式很明显的弊端就是不易扩展,每次更新都必须更新所有的应用。而且,一个有问题意味着所有的应用都有问题。当系统越来越大,集中式将是系统最大的瓶颈。什么是分布式系统?分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。以上定义摘自<<分布式系统原理与范型>>一书。也就是说分布式系统背后是由一系列的计算机组成的,但用户感知不到背后的逻辑,就像访问单个计算机一样。说的有点绕,我们可以来简单看下分布式系统图。分布式系统利弊在分布式系统中:1、应用可以按业务类型拆分成多个应用,再按结构分成接口层、服务层;我们也可以按访问入口分,如移动端、PC端等定义不同的接口应用;2、数据库可以按业务类型拆分成多个实例,还可以对单表进行分库分表;3、增加分布式缓存、搜索、文件、消息队列、非关系型数据库等中间件;很明显,分布式系统可以解决集中式不便扩展的弊端,我们可以很方便的在任何一个环节扩展应用,就算一个应用出现问题也不会影响到别的应用。随着微服务Spring Cloud & Docker的大热,及国内开源分布式Dubbo框架的重生,分布式技术发展非常迅速。分布式系统虽好,也带来了系统的复杂性,如分布式事务、分布式锁、分布式session、数据一致性等都是现在分布式系统中需要解决的难题,虽然已经有很多成熟的方案,但都不完美。分布式系统也增加了开发测试运维成本,工作量增加,分布式系统管理不好反而会变成一种负担。如果你对分布式技术有更好的见解,或者对本文有异议,欢迎在下方留言。关注Java技术栈微信公众号,在后台回复:架构,获取栈长整理的更多的架构教程,都是实战干货,以下仅为部分预览。

⑤ 怎样从零开始学习linux

1. 基本功要扎实学习任何一种语言,必备的基本功是必须要有的,一方面可以提高效率,另一方面可以拓宽思路。对于Linux基本知识的学习,对一些初学者来说是枯燥乏味的,可以通过理解再背诵的方式先进行代码及语法的学习,然后进行实践操作,必须手动输入命令行,不要借助工具,这样可以更快速有效的掌握Linux。2. 学以致用Linux学习的目的是应用,Linux基本知识是一些零散的技术,当没有应用在项目上时,我们无法理解他的真实价值,所以打好基本功之后,最紧迫的是多做几个完整的项目,刚开始可以是功能简单的项目,之后可以选择稍微复杂的项目,勤于动手,敢于实践,一定能学好Linux。3. 学会使用Linux联机帮助任何一种教材都不会完全讲述Linux知识,一般讲的都是比较常用的或者是比较有代表性的知识,但是,我们在项目应用中往往有些功能的实现是需要一些生僻知识和技能的,那么,如何查找我们所需的知识呢,推荐查阅Linux帮助文档,主流的Linux都自带详细的帮助文档,很方便解决问题!4. 在网上找资源在Linux的学习和应用中,难免会遇到一些没有思路、不知道如何解决的问题,这时就要借助网络力量,可以通过搜索引擎搜索查找,也可以咨询资深技术人员,最终实现问题的解决,这是Linux知识积累的一个重要的途径!5. 查阅英文技术文档如果想深入学习Linux,查阅英文技术文档是十分必要的,往往最新的技术都是采用英文文档的方式发布的,而且更全面,因此,对于Linux人员来说,多看一些Linux技术文档,对于掌握前沿技术和加深知识是十分有必要的!Linux学习是一个需要长期坚持不懈的过程,新的技术不断的产生,要想成为Linux大牛,必须要时刻关注Linux发展动态,掌握最新技术,才能走在行业前列!

⑥ hadoop安装及speak安装

掌握在Linux虚拟机中安装Hadoop和Spark的方法,熟悉HDFS的基本使用方法,掌握使用Spark访问本地文件和HDFS文件的方法。进入Linux系统,参照本教程官网“实验指南”栏目的“Hadoop的安装和使用”,完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,再安装Spark(Local模式)。使用hadoop用户名登录进入Linux系统,启动Hadoop,参照相关Hadoop书籍或网络资料,或者也可以参考本教程官网的“实验指南”栏目的“HDFS操作常用Shell命令”。Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

⑦ 如何实现分布式计算

你那是在创建小型办公网络我们不如把问题简单点买一个陆游器,接上N个电脑 刷新好上网帐户密码就OK了也可以重新定义一下 IP就和网吧一样了求采纳为满意回答。

⑧ 有人知道龙果学院 www.roncoo.com讲的那套《基于Dubbo分布式系统架构视频教程》讲得怎么样

这个视频讲得挺好,都是实践型教程,关键是售后服务好,讲师定期为学院解答问题

⑨ 分布式计算的基本信息

广义定义所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。中国科学院的定义分布式计算是一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:1、稀有资源可以共享。2、通过分布式计算可以在多台计算机上平衡计算负载。3、可以把程序放在最适合运行它的计算机上。其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。 分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。下面,我们看看它是怎么工作的:首先, 要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为著名的是: 解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。 研究寻找最为安全的密码系统,例如:RC-72(密码破解)。 生物病理研究,例如:[email protected](研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。 各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。 信号处理,例如:[email protected](在家寻找地外文明)。 在以前,这些问题都应该由超级计算机来解决。但是, 超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生——分布式计算!随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现, 使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。当然,这看起来也似乎很原始、很困难,但是随着参与者和参与计算的计算机的数量的不断增加, 计算计划变得非常迅速,而且被实践证明是的确可行的。目前一些较大的分布式计算项目的处理能力已经可以达到甚而超过目前世界上速度最快的巨型计算机。您也可以选择参加某些项目以捐赠Cpu的内核处理时间,您将发现您所提供的 中央处理器 内核处理时间将出现在项目的贡献统计中。您可以和其他的参与者竞争贡献时间的排名,您也可以加入一个已经存在的计算团体或者自己组建一个计算小组。这种方法很利于调动参与者的热情。随着民间的组队逐渐增多, 许多大型组织(例如公司、学校和各种各样的网站)也开始了组建自己的战队。同时,也形成了大量的以分布式计算技术和项目讨论为主题的社区,这些社区多数是翻译制作分布式计算项目的使用教程及发布相关技术性文章,并提供必要的技术支持。那么谁可能加入到这些项目中来呢? 当然是任何人都可以! 如果您已经加入了某个项目,而且曾经考虑加入计算小组, 您将在中国分布式计算总站及论坛里找到您的家。任何人都能加入任何由我站的组建的分布式计算小组。希望您在中国分布式总站及论坛里发现乐趣。参与分布式计算——一种能充分发挥您的个人电脑的利用价值的最有意义的选择——只需要下载有关程序,然后这个程序会以最低的优先度在计算机上运行,这对平时正常使用计算机几乎没有影响。如果你想利用计算机的空余时间做点有益的事情,还犹豫什么?马上行动起来吧,你的微不足道的付出或许就能使你在人类科学的发展史上留下不小的一笔呢! BOINC是Berkeley Open Infrastructure for Network Computing的简称,即伯克利开放式网络计算平台。BOINC是不同分布式计算可以共享的分布式计算平台。不同分布式计算项目可以直接使用BOINC的公用上传下载系统、统计系统等,这样不仅可以发挥各个分布式计算之间的协调性,也能使分布式计算的管理、使用更加方便易用。BOINC项目由美国加州大学伯克利分校(U.C.Berkeley)主持发起。BOINC项目由美国国家科学基金会(National Science Foundation)赞助。BOINC有自己的积分系统,因为在BOINC上可以运行的项目千差万别,比如项目A的任务包(Workunit,简称WU)在某台机器里需要3个小时完成,而项目B的任务包在这台机器里需要30个小时才能完成,显然用WU的数目来衡量工作量是不可行的;类似的,机器性能也有差别,用CPU时间来衡量工作量更是不行的。积分系统只能通过一定的算法得到用户实际完成的计算量,这篇文章对BOINC中积分的计算方法进行了说明。 据中国互联网信息中心(CNNIC)的统计信息,中文网民人数占世界的比重已经增长到了12%左右,并且还在快速增长着。这里所说的中文网民是包括大陆、香港、澳门、台湾和海外华人的。相比于互联网在中国的快速发展,中国的分布式计算却发展缓慢。就我看来,网民数量的统计并不能十分客观地反映一个国家信息化程度的高低,而参与分布式计算网民的数量或比例却可以明显地看出这个国家科学普及化的水平。在这方面,毋庸置疑,欧美国家是十分领先的。在北欧国家,几乎一半的电脑参加了分布式计算项目,这是一个惊人的数字。再让我们来看看我们中国和印度,尽管我们拥有了不少最新科技,且看上去在网络普及化进程中有不错表现,但是在分布式计算方面却很薄弱。让我们来看些例子:[email protected]是世界上最大的分布式计算项目。从中国的参与人数来看,它在中国也是最著名的项目。它通过使用联网的计算机下载程序分析射电望远镜所收到的讯号,来搜索地球外的生命迹象。尽管中国在分布式计算中取得了进步,中国的国际排名从29上升到了24,但是我们中国用户却仍然只完成了日本用户完成的工作数的十分之一,而日本,这个高度发达的国家网民人数却少于中国。看来,提高网民素质、提高科学普及化程度也是十分重要的。印度和一些中东国家也有相似的问题,而中欧国家明显在这方面作得比较好,不少独联体国家所完成的数据量已经超过了俄罗斯联邦的总合。[email protected]是一个研究蛋白质折叠,误解,聚合及由此引起的相关疾病的分布式计算工程。它使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引我们对由折叠引起的疾病的一系列研究。中国参加这个项目的人数在不断增多,截至2011年3月底,中国3213团队的用户数达到3025人,活跃用户有190人左右。参与该项目Climateprediction工程是把最新的气候预测模型通过家庭、学校、办公室的计算机来进行计算。这些计算完成的结果将会组成世界最大的气象预测模型。气候改变了,而我们对此的行动已经是全球重要的话题。这将影响到人类的农业生产、水资源量、生态系统、能源需求、保险花费和很多其他与人类息息相关的方面。确凿的科学依据表明,地球在在接下来的几个世纪可能会变得温暖,但是我们无法估计到底变化会有多大。如果您参加,这将能有助与21世纪的气候科学预测。中国已经有了很多计算机,其中不乏性能极其先进的。而他们中的大多数仅仅是打字、播放幻灯而已。这不能不说是一种资源的浪费。从另外一个角度看,我们不难发现发达国家和发展中国家的差距。我们把这种现象称为数字鸿沟。另一个现象同样令人痛心疾首,所有的分布式计算项目都是由发达国家,如:美国、德国、英国、日本等发起的,这一方面也加深了科学鸿沟。斯坦福大学化学系的戈尔哈姆·理查德·切尔曼教授说,分布式计算将加快整个人类的科学进程。科学家们可以完成以前从来想不到要去完成的,或者要花几十年几百年才能完成的计算任务。这是的确是千真万确的,但是这种计算从一定程度上助长了发达国家的科学垄断。中国有关部门也开始意识到分布式计算的重要性,一些大学教授和科学家也开始钻研分布式计算科学,比如:中科院[email protected]和清华大学的“清水计划”。