前言:

     我们需要至少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. 为 placeholder 自定义样式

    textarea::-webkit-input-placeholder{ padding: 1em; } textarea::-moz-placeholder{ padding: 1em; } 同理, ...

  2. Python 打包和发布方法汇总

    以下主要Python打包汇总,作为学习备份: 一.使用python内部基础工具包Distutils打包程序 1. 在打包之前需要做的就是配置好安装脚本,一般为setup.py文件: 示例(setup. ...

  3. Hibernate的一级缓存

    Hibernate的一级缓存 什么是缓存:缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取 缓存的好处:提升程序运行的效率.缓存技术是Hibe ...

  4. java.lang.ClassNotFoundException: org.apache.catalina.startup.VersionLoggerListener

    解决办法 找到Tomcat配置文件server.xml   apache-tomcat-7.0.57/conf 将<Listener className="org.apache.cat ...

  5. IDF实验室:牛刀小试

    被改错的密码[从格式和长度来推测出是MD5] 迷醉..人生第一道ctf题?据说是因为看起来像是MD5加密的格式,但是数了一下发现有33个字符,就推测???熊孩子多敲了一位进去.从32个变33个了,然后 ...

  6. 2016 Multi-University Training Contest 1

    8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...

  7. Git的简单使用教程

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. GitHub则可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code ...

  8. ZeroMQ接口函数之 :zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init_data zmq_msg_init_data(3) ØMQ Manual - ØMQ/3.2.5 ...

  9. 移植tslib1.4至mini2440

    在移植tslib1.4至mini2440的过程中出现了一些问题,在解决问题的过程中也学到了不少东西.但是由于注意力不集中也导致了一些低级的错误,非常地浪费时间,以后在做事的时候必须集中注意力,宁愿慢一 ...

  10. How to parse HTML page data in Windows Phone

    1. Navigate to page WebBrowser control browser.Navigate(new Uri("http://www.xxxx.com")); 2 ...