如何自己开发一套服务器管理系统

如何自己开发一套服务器管理系统,第1张

转载表面上看,是一套基于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管理系统还是可以排上的。

用户您好,独立服务器需要安装需要的环境才能够架设网站,不知道楼主的网站是什么语言的呢?
一般首先需要安装iis(win环境下),
然后安装php/或者net框架等
然后安装数据库
我们原点互联现在搞特价vps服务器特价99元一月,环境都是免费帮客户装的,楼主可以让服务器提供商帮忙安装下哦,纯手工希望楼主采纳!

登陆WDCP服务器管理系统。
找到左侧的站点列表,并点击。
找到要下载的网站,点击右侧的文管。
4
进入文件目录,说表滑动到最下边。知道看到全选复选框为止。
5
点击全选,动作选择打包,键入打包的文件夹名称,这里以wzdb为例子,点击确定。
6
来自网页的消息,提示以打包,说明打包成功。
7
点击确定,找到打包的文件(红框圈住)。

1、首先是设置bois,对应你服务器的bois设置将光盘优先启动,然后重启,插入带有Windows Server 2003 Enterprise Edition系统的光盘

2、屏幕上出现提示:Press any key to boot from CD ,立即按键盘上的任意一个键

3、等待,画面出现安装提示的时候,按下回车

4、选择分区,若是尚未分区的话,按下键盘C

5、选择默认第一个选项,回车

6、格式化完毕,开始安装

7、安装完毕,回车重启服务器

8、重启过程中看到熟悉的启动画面

9、之后有需要你输入产品的密钥

10、配置连接数,根据服务的人数而定

11、设置完密码和日期之后,设置网络,选择典型,下一步

12、选择否定选项,然后下一步。此后等待系统安装完毕即可,输入用户名密码即可登录

扩展资料:

服务器 *** 作系统主要分为四大流派:WINDOWS、NETWARE、UNIX、LINUX。

1、WINDOWS

重要版本WINNT 40 Server、Win2000/Advanced Server、Win2003/Advanced Server,WINDOWS SERVER 2008, Windows Server 2012,Windows服务器 *** 作系统派应用,结合Net开发环境,为亲微软企业用户提供了良好的应用框架。

2、NetWare

在一些特定行业和事业单位中,NetWare优秀的批处理功能和安全、稳定的系统性能也有很大的生存空间。NetWare目前常用的版本主要有Novell的311、312、410、50等中英文版。

3、Unix

Unix服务器 *** 作系统由AT&T公司和SCO公司共同推出,主要支持大型的文件系统服务、数据服务等应用。目前市面上流传的主要有SCO SVR、BSD Unix、SUN Solaris、IBM-AIX、HP-U、FreeBSDX 。

4、Linux

LINUX *** 作系统虽然与UNIX *** 作系统类似,但是它不是UNIX *** 作系统的变种。Torvald从开始编写内核代码时就仿效UNIX,几乎所有UNIX的工具与外壳都可以运行在LINUX上。

怎样进入服务器 你好如果你是指网站服务器的话连接的方法很简单
在本地电脑上点开始运行输入mstsc后按确定然后在d出的窗口中依次输入服务器的IP用户和密码然后点确定即可直接远程登录服务器当 *** 作完成需要退出时可以在服务器系统桌面上点开始选择关机选项里面的断开或者注销即可
海腾数据杨闯为你解答希望对你有帮助问题二:电脑怎样启动服务器 开启远程桌面服务,具有一定的不安全性,容易被网上黑客攻击,如果一定要开启远程桌面服务,一定要做好安全防护的措施。
开启Windows远程桌面服务的方法
步骤:
右键点击桌面计算机,在右键菜单中左键点击:属性,打开系统窗口;
在打开的系统窗口,我们左键点击:高级系统设置,打开系统属性窗口;在系统属性窗口,我们左键点击:远程;在远程窗口,(1)左键点击:允许远程协助连接这台计算机,(2)点击:高级,打开远程协助设置窗口;在远程协助设置窗口,我们左键点击:允许计算机被远程控制,默认远程控制时间为:6小时(也可以更改时间),再点击:确定;回到系统属性窗口,(1)左键点击:仅允许运行使用网络级别身份验证的远程桌面计算机连接(N);(2)点击:选择用户(S);在远程桌面用户窗口,管理员gong已经有访问权,在这里我们还可以添加、删除用户,再点击:确定;回到系统属性窗口,点击:应用 - 确定,Windows远程桌面服务已经开启。重新启动计算机,具有管理员权限的用户就可以远程访问远程桌面了。问题三:如何开启服务器 开始-程序-管理工具-服务,你把要启动的服务点启动就行了 。被禁用的要改成手动问题四:如何启动server服务 右键单击我的电脑-> 管理-> 服务和应用程序-> 服务-> 鼠标左键双击Server-> 鼠标左键单击启动问题五:系统服务管理器怎么打开 1XP 在 开始---->运行------>输入servicesmsc而win 7 直接在开始,然后--->输入 servicesmsc
如图所示:
2然后就可以打开服务管理器了。
可以点击名称,按照字母进行排序
3选择一个服务后,可以右击,进行开启/关闭 等 *** 作。问题六:怎么进入公司网站后台或服务器 可以通过ftp或者你们的登录后台的链接,ftp需要端口,找服务器商家要,链接丢了,只好先用ftp,找了 。新科互联的服务器给赞,。问题七:如何开启服务器安全模式 和电脑一样。重启 按 F8问题八:如何打开服务管理器 这两个完全可以去掉一个,并不会影响你的计算机安全的,
打开控制面板---管理工具--服务问题九:如何启动>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10497201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存