首页 > 代码库 > 利用vmware 搭建分布式集群

利用vmware 搭建分布式集群

前言:

     我们需要至少3台服务器来实现分布式,鉴于没那么多钱买真机器,从学习和开发的角度看,只有虚拟机一条路了。
软件选择:
    虚拟机使用VMware软件,因为主流而且资料比较多,学习成本较低。软件在【 链接:http://pan.baidu.com/s/1jI4pppc  密码:zvtt 】下,破解文件也在里面。
    虚拟OS毫无疑问是linux,鉴于centos开源,下载方便又不需要破解,故而采用之。【?CentOS-7-x86_64-Everything-1511.iso】
         此外还有redhat版本【shrike-i386-disc2.iso】,centOs是开源系统,可以自己去官网下载。
    
OS安装:
    新建虚拟机,一般都是默认,只是需要选择镜像文件和虚拟机配置,master主机可以内存硬盘稍稍大些3/20,其他可以不用太大1/15,看你内存多少了。
    创建硬盘的时候可以选择定容量模式,预占可以防止虚拟机硬盘后期占用无限大,但是假如没有用到这么大的空间,其它部分就浪费了。
    一系列设置完毕后进入VM,开始安装OS。选择语言和区域,接下来选择安装选项、网络配置等。虚拟机集群里最多只需要一个带有UI界面的,
    因为可能需要安装一些开发工具。选择尽量从简,需要的再自行安装(最小安装)。 
    安装过程中可以不必配置网络和用户只需要设置root密码
    安装结束后进入系统设置,对于某些插件来说可能需要接受协议,选择1/2,continue,只要确定已经选择了正确的选项,其他的不需要管,重启即可。
 
设置网络(静态ip、为了方便连接外网,采用NAT方式而非桥接):
    1.网络适配器设置:
      虚拟机有虚拟机网卡,在网络连接适配器中,手动设置虚拟机ip,包括子网掩码和网关。
      网关可以认为:前3数字位与ip一致,最后一个多数情况下是2.表示这一个网段的所有的ip都由这个网关管理。或者说由这个网关去映射网络中的ip。
技术分享
    2.VMware的虚拟网络编辑器:
     在编辑中选择虚拟网络编辑器,如果没有,就新增一条,连接方式为NAT,不使用DHCP自动ip,子网ip在这个网段之内都行?
      技术分享
      在NAT设置里,设置正确的ip、网关、子网掩码
      技术分享
      端口映射应该是设置一些特殊的端口,这里暂时不用。这样,这个虚拟网络就设置好了。后面需要将这个虚拟网络添加到虚拟OS中去。
      技术分享
     3.虚拟OS的设置
      通过以上的设置,外部环境已经设置好了,下面需要设置一下虚拟机的网卡。参考:
     【http://www.centoscn.com/CentosBug/osbug/2015/1224/6568.html】
     【http://www.cnblogs.com/magialmoon/archive/2013/08/10/3250393.html  】
     【http://www.linuxidc.com/Linux/2013-07/86881.htm  】
      步骤:
 
ifconfig -a
如果命令不可用,就用ip addr
在结果中找到网卡名称,ens33、eth0等等格式。我这里是ens34
vi /etc/sysconfig/network-scripts/ifcfg-之前的网卡名。
在网卡里输入内容【参考资料里有详细内容】
最后需要修改
/etc/sysconfig/network

 

技术分享
实测可以主机能够ping通虚拟机,虚拟机可以ping通baidu,设置完毕。
       
系统软件安装
    有GUI界面的:
    安装VMtools,可实现本机向虚拟机传递文件,点击安装即可,原则是只要能拖文件就行了,不需要在虚拟机里手动安装
    裸控制台的是最小安装,许多功能都没有。没有鼠标导致控制台几乎不可用。解决办法如下:
    首先通过ip addr拿到网卡信息,参照上面的网络配置,调通网络。接下来:
yum install -y gpm
chkconfig -add gpm --可有可无
reboot
问题是:鼠标指针延迟太高,可用性极差。

 

    虽然鼠标比较卡,但是幸运的是可以通过xshell/secureCRT终端连接到VMOS上,这样就不存在不好用的问题了。
 
应用软件安装:
    鉴于虚拟机可以克隆,所以我们只需要在一台机器上安装我们需要的东西即可。
    目前主要有:java,带UI的OS可以通过VM tools来拖到OS里,不带UI的裸控制台可以通过sftp命令来下载其他OS里的文件:
    sftp:sftp root@192.168.204.3 输入密码 然后get 远程目录 本地目录 即可下载文件,或者put来发送文件,最后quit离开sftp。
    解压java的tar包,最好放到/usr/local下面。可以通过 mv 源文件名 修改后文件名,来实现重命名。
    vi /etc/profile 在后面添加环境变量
JAVA_HOME=/usr/local/java/jdk1.7
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
    source /etc/profile 使其生效 最后java -version来测试环境是否安装好。
    除了java之外,还需要安装zookeeper和jstorm等软件,这放到后面详细写。
 
虚拟机克隆,搭建集群
   虚拟机基本软件安装好之后,关闭电源,为了防止出现其他问题选择完全克隆(看了很多完全克隆和链接克隆的区别,还是不太理解),建议克隆轻量的裸控制台的,因为带UI的太大,启动太慢。
   克隆虚拟机之后,按照之前的网络设置:
   ip addr 查看网卡和MAC地址 ,然后再网卡设置里,vi /etc/sysconfig/network-scripts/ifcfg-之前的网卡名,主要修改IPADDR地址和HWADDR。
   之后设置vi /etc/hosts  vi /etc/sysconfig/network等,重启即可。
 技术分享
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



来自为知笔记(Wiz)



利用vmware 搭建分布式集群