前言:

     我们需要至少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的设置
      通过以上的设置,外部环境已经设置好了,下面需要设置一下虚拟机的网卡。参考:
      步骤:
 
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等,重启即可。
 
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

利用vmware 搭建分布式集群的更多相关文章

  1. 利用vmware搭建分布式集群

    背景:      我们需要至少3台服务器来实现分布式,鉴于没那么多钱买真机器,从学习和开发的角度看,只有虚拟机一条路了. 软件选择:     虚拟机使用VMware软件,因为主流而且资料比较多,学习成 ...

  2. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...

  3. linux下利用httpd搭建tomcat集群,实现负载均衡

    公司使用运营管理平台是单点tomcat,使用量大,或者导出较大的运营数据时,会造成平台不可用,现在需要搭建tomcat集群,调研后,决定使用apache的httpd来搭建tomcat集群.以下是搭建步 ...

  4. Spark-1.6.1 Hadoop-2.6.4 VMware Ubuntu 分布式集群搭建 全过程

    本文从头开始零基础完全配置,适合小白. 本文在vmware中配置三台虚拟机,一台做Master,两台Worker,hadoop 和spark只需要在Master上配置,然后cp到worker上,包括配 ...

  5. 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法

    前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...

  6. kubernetes-通过VMware搭建k8s集群遇到的问题

    VMWare版本:14.13 Centos版本:CentOS-7-x86_64-DVD-1810.iso 遇到的问题:ping不通 报could not resolve host这个错误 解决办法:参 ...

  7. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  8. 利用nginx搭建tomcat集群

    1.tomcat集群 利用nginx对请求进行分流,将请求平均的分给不同的tomcat去处理,减少单个tomcat的负载量,提高tomcat的响应速度. 2.创建多个tomcat服务器(同一个服务器上 ...

  9. 利用Docker搭建Redis集群

    Redis集群搭建 运行Redis镜像 分别使用以下命令启动3个Redis docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/lib ...

随机推荐

  1. node的安装

    1.打开node官网  https://nodejs.org/en/  下载最新版node安装包 v6.2.2 版本自带npm包,比较方便使用.下载之后就正常的常规安装即可. 2.查看是否安装成功   ...

  2. LeetCode之283. Move Zeroes

    ---------------------------------------------------------------------- 解法一:空间换时间 我使用的办法也是类似于"扫描 ...

  3. AngularJS Select(选择框)

    AngularJS 可以使用数组或对象创建一个下拉列表选项. 使用 ng-option 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和 ...

  4. AT常见问题

    https://m.douban.com/note/247040789/?from=author

  5. ExtJS 中自定义类

    首先我们来看一看在Javascript中,是怎样自定义类的: var Person = function (name, age) { this.Name = ""; this.Ag ...

  6. NSURLConnection 异步加载网络数据

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  7. iOS中获取各种文件的目录路径的方法

    我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...

  8. 图文:通过sql server 连接mysql

    1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...

  9. Codeforces Round #370 - #379 (Div. 2)

    题意: 思路: Codeforces Round #370(Solved: 4 out of 5) A - Memory and Crow 题意:有一个序列,然后对每一个进行ai = bi - bi  ...

  10. Maven2 根据项目生成模版项目,并使用该模板批量创建工程。

    Maven 3 创建自己的模版,并使用模版创建工程 1.建立样板Maven工程: myModel 2.进入 myModel 工程根目录执行:mvn archetype:create-from-proj ...