第一种,多台单独的服务器,那么这种安装管理软件,就可以选择管理。
第二种,虚拟机(云服务器),那么虚拟化的管理软件就能管理多个虚拟服务器。
你可以去服务器厂商,比如国内的正睿、浪潮、联想、曙光,国外的惠普、戴尔等,看看一些服务器管理软件就清楚了。不管是数据库服务器还是一台普通的文件服务器,即然作为一台服务器,往往存储该企业某此应用的重要信息,如企业机密文件、客户资料、研发中所涉及的重要技术文档等等。每一家企业的管理人员都非常重视这些存储在服务器的重要数据,一旦数据损坏或丢失,对企业造成的损失往往难以估算。 作为服务器的数据存储部件:硬盘,往往是一种高精密的电子设备。不管是最新的Sata接口硬盘还是IDE接口硬盘或是中高端的SCSI硬盘,由于服务器对读写性能的要求,高达每秒万转的硬盘盘片转速,一点细小的因素往往会造成硬盘发生物理故障。同时,一些 *** 作的原因,如误删除、格式化等等也会造成数据丢失。在此,笔者针对中小型企业的数据存储特点,谈谈就如何针对服务器的数据的维护、管理以及后期数据丢失的应急措施,为大家提供一份参考:服务器磁盘维护管理1、采用RAID技术增强服务器磁盘的容错能力,RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。 简单地说,就是通过将多块硬盘组建磁盘阵列,提高性能与容错性能力。如Raid1,Raid5等阵列就充许硬盘阵列组的某一个硬盘出错而不会造成数据丢失。虽然在初期会增加了投入,但我认为,采用Raid技术增强服务器数据的安全性,还是非常值得的。2、除了Raid硬盘容错外,对于一些非常重要的数据要使用其它设备时时进行备份,推荐企业用户、商务用户架构的网络服务器,选用磁带机配合专业备份软件(Veritas Netbackup、CA Arcserver),定期定时做相对完善的备份方案。如果是个人用户的话,建议采用经济的CD-ROM/DVD光盘做为备份方式。3、 对于一些简单的误删除或格式化,针对文件不多,个人技术不错的情况下,可在网上下载一些恢复软件(Data Recove,Easyrecove等)尝试来进行恢得,当然,做之前可以先用Ghost软件做个磁盘全备份,同时在恢复时最好是接从盘。当然,如果你个人恢复的结果不满意,请需要寻求专业的数据恢复公司进行 *** 作了。4、如果发现服务器数据丢失,千成不要再盲目 *** 作,减小数据恢复机率。可通过电话寻找正规的数据恢复公司技术支持,听取专有建议或请专业技术人员检查。此时,你可以关机停止硬盘读写数据。不再往丢失数据的分区或硬盘里写入数据。减少二次破坏。5、时刻注意服务器硬盘的运行状况,对于服务器硬盘指示灯多多观察。一般来讲,服务器外观都有每一块硬盘指示灯,正常情况下一般会是绿色,指示灯出现特殊情况时,就需要采用相关措施,仔细检查硬盘设备是否正常。 一旦硬盘受损或数据丢失,请不要惊谎,一定要保持冷静的头脑。以下是关于计算机常见硬盘故障情况与用户采用的建议措施:硬盘受损或数据丢失采取的应急措施:1、 硬盘出现异声,此时磁头已不正常寻址,为防止打伤盘体,需立即断电不可拆解硬盘,需交有超净间的专业公司拆开检查 。2、BIOS不认盘,找不到硬盘,先请计算机工程师仔细检察,需先告知内有重要数据,需小心处理。 以免再次被误 *** 作而导致硬盘损伤。3、硬盘正常但突然读不到数据:勿执行重建分区表或格式化等会破坏数据的动作,虽然还有救,但已无法100 %救回所有数据,万一受损是重要的文件就得不偿失。先判断正确,勿任意重装Windows *** 作系统或用恢复盘进行 *** 作,很容易将数据区覆盖, 而且通常覆盖区是几百M计算引导时如自动执行Scandisk、Vrepair时,请按Esc或空格键取消动作, 先检查出受损原因,以免内部档案遭大量破坏4、当然,如果确认服务器数据硬盘存在特理故障时,需要进行开盘处理时!这个时候,选择一家专业的数据恢复公司变得非常重要。数据恢复由于技术门槛含量高,相对于一般的计算机维修公司来讲要少,但少并不代表没有。一些技术实力差、环境有限、甚至一些只管接单再转其它公司 *** 作的JS随处可见!这个时候,请需要仔细识别。避免上当受骗,造成无法估算的后期损失。1,首先你的ADSL是动态获得IP地址,所以你要找个动态郁闷解析提供商
2,到解析提供商哪注册一个用户,然后管理域名
3,点你的域名。可以查看你的IP,这个功能也可以和直接下载客户端获得,它会自动更新
4,下载客户端,安装好了以后,填写帐号密码,增加到列表中,方便下次启动不用重输
5,接下来就是改数据库了,
只改一项,其它不变动打开数据库 选择realmd 下面的realmlist打开
编辑里面的address就是你的域名,最后退出,启动magosexe大功告成
既然是公司网建议使用NAT地址转换
需要一台路由器来实现NAT地址转换 还要虚拟主机 交换机和防火墙
有一台服务器要架设的至少要两个公网IP地址 一个给外网人访问服务器用 另一个给公司内部人员访问外网用 具体的部署还要看公司的结构 规模 和架设服务器的类型 你给的信息太少 无法一一作答
有问题留言给我楼上那位兄弟说的对, 点击开始==》运行,输入mstsc就d出远程桌面管理了。 然后输入你的用户名和密码就可以了。
还有一点不知道你是否搞清楚了, 看一下是拿到的FTP帐号密码还是服务器管理帐号密码。 如果是FTP帐号密码的话, 那你的权限只是上传下载网站程序, 那么就要到网上下载一个FTP软件, 一般我是用flashfxp, 然后输入IP, 输入用户名和密码, 点击连接就可以了。 如果还不会用的话, 可以找我。
转载表面上看,是一套基于B/S方式实现的分布式管理系统,但其实背后的架构是基于C/S完成的。你以为他是一只鞋吗?其实他是一个吹风机。作为界面化的系统,浏览器框架是不可或缺的,但更加重要的东西在Socket上面。
一、需要解决中央控制端到各节点服务器之间的通信。
这个其实牵扯到一个通信协议的问题,各语言都有自己的socket,thread的库,直接调用即可。但是这个通信协议就需要自己来完成了。既不能太简单,太简单了,明码传输,如果别人获知了这个接口,就很容易执行一些令人讨厌的 *** 作。也不能太复杂,太复杂了等于是给自己找麻烦,所以简单的数据包编解码的工作或者用token验证的方式是需要的。通信协议起码要两种,一种是传输命令执行的协议,一种是传输文件的协议。
二、跨语言的socket通信
为什么要跨语言,主控端和代理端通信,用什么语言开发其实无所谓。但是为了给自己省事,尽可能使用服务器上已经有了的默认语言,Ambari前期采用phppuppet的方式管理集群,这不是不可以,puppet自己解决了socket通信协议和文件传输的问题,可你需要为了puppet在每台服务器上都安装ruby。我是个有点服务器和代码洁癖的人。光是为了一个puppet就装个ruby,我觉得心里特对不起服务器的资源。所以我自己写了一个python的代理端。python是不管哪个linux系统在安装的时候就都会有了。然后主控端的通信,可以用python实现,也可以用php实现,但是考虑到对于更多的使用者来说,改php可能要比改tornado简单许多,所以就没用python开发。hadoop分支版本众多,发布出去,用户要自己修改成安装适合自己的hadoop发行版,就势必要改源码,会php的明显比会python的多。php里面的model封装了所有的 *** 作,而python只是个 *** 作代理人的角色而已。
所以也延伸出一个问题,什么语言用来做这种分布式管理系统的代理端比较合适,我自己觉得,也就是python比较合适了, *** 作系统自带,原生的package功能基本够用。用java和php也可以写agent,但是你势必在各节点预先就铺设好jre或者php运行环境。这就跟为什么用python和java写mapred的人最多是一样的。没人拦着你用nodejs写mapred,也可以写,就是你得在每个节点都装v8的解释引擎,不嫌麻烦完全可以这样干。原理参看map/rece论文,不解释。perl也是 *** 作系统原生带的,但是perl的可维护性太差了,还是算了吧。
所以这就牵扯到一个跨语言的socket问题,理论上来说,这不存在什么问题。但这是理论上的,实际开发过程中确实存在问题,比如socket长连接,通信数据包在底层的封装方式不同。我没有使用xml-rpc的原因之一就是我听说php的xmlrpc跟其他语言的xmlrpc有不同的地方,需要修改才能用,我就没有用这种办法。最早是自己定义的 *** 作协议,这时就遇到了这些问题,所以后来直接采用了thrift方式。就基本不存在跨语言的socket通信问题了。
三、代理端执行结果的获取
无论命令还是文件是否在代理端执行成功,都需要获取到执行结果返回给中央端。所以这里也涉及一个读取节点上的stdout和stderr的问题。这个总体来说不是很难,都有现成的包。当然这个时候你需要的是阻塞执行,而不能搞异步回调。
还有个问题是,我要尽可能使用python默认就带的包,而尽量不让服务器去访问internet下载第三方的包。
还有代理端最重要的一点,就是python的版本兼容性。centos5用python24,centos6用python26,ubuntu基本默认都是27。所以一定要最大限度的保证语言的跨版本兼容性,要是每个 *** 作系统和每一个版本我都写一个代理,我一个人就累死了。
四、浏览器端的model,view,controller
这里面你要封装好所有的通信协议,以及需要在节点上面执行的脚本。发送文件的 *** 作和数据库 *** 作也要在model里面完成。
如果对tcl/tk很熟,也可以写基于 *** 作系统界面方式的管理,不用浏览器就是了。
view对我来说是最痛苦的事,都是现学的jQuery怎么用,前端的工作太可怕了。关于这方面,没有太多可描述的,html和js带给我的只有痛苦的回忆,万恶的undefined。
五、跨 *** 作系统的安装文件封装。
要适应不同的 *** 作系统也是个很麻烦的事情,需要用agent提前获知 *** 作系统的发行分支,版本号。然后去找到对应的安装文件去执行。你不能保证一个分布式系统的集群中所有的节点都可以访问internet,更多的情况是这些节点都存在在一个安全的内网中。只有个别几个节点是可以访问外网的。所以,我势必要把所有的安装文件以及他们的依赖尽可能集中起来。我不确定安装 *** 作系统的lzo,yum或者apt-get会去下什么鬼东西,甚至无论是yum还是apt-get,里面都没有hadoop-lzo的库文件。所以,最好的办法是自己编译打包rpm和deb包。直接安装就好了,别去找repo下载什么。
这就是第五步工作,把需要的依赖的东西自己编译打包成rpm和deb。
deb包很好解决,但是rpm就没那么好办了,需要学习rpm的编译文件如何编写,这块是挺麻烦的,但是这玩意用好了还是挺不错的。现在我自制的安装包里面就已经包含了自己编译的lzo和snappy两种压缩库,以及hadoop-gpl-packaging的rpm和deb。下一个发布的easyhadoop将直接支持centos5,6,suse,以及ubuntu/debian的系统上安装hadoop。已经自带了lzo和snappy以及lzop和snzip。
六、把这些所有东西,整合到一个系统里面。
关联这些所有事情间的联系,整合到一个浏览器界面里面去。写一个分布式的管理脚本不难,写一个界面也不难,但是也许是我的水平不行,这两件事结合起来让他们协同工作还是有点难度的。对我来说,写界面的工作可能更难一点。
Cloudera可能是十来个人在写Manager的东西,ambari也是放到github和apachesvn上面,apache基金会的各种committer在写。easyhadoop没他们功能那么强大,一年来只有我一个人设计架构,功能,各种语言的编码,测试,发布。Fortheloveofgod,WhathaveIdone(英文部分请站在山顶仰天长啸)T_T。从前台到后台,到hadoop和生态系统以及他们的依赖软件的单独patch、编译打包。(系统yum或者apt-get的包不如自己打的好使。)
从时间上来看,全球第一款开源的hadoop部署管理系统应该还是属于ambari,2011年8月开始写的,2012年9月底进入apache的incubator。我是大概2012年8月开始写的easyhadoop,全球第一没赶上,估计国内第一个开源的hadoop管理系统还是可以排上的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)