搭建hadoop集群虚拟机试验环境
所需软件
- virtualBox:Oracle公司的虚拟机VirtualBox占用系统资源较少,使用方便!
- CentOS-6.5-i386-bin-DVD1.iso(一共两个DVDiso,第二个是一些附加软件包,可以先不要)
- SecurtCRT:linux客户端访问软件,可以根据自己喜好选择其他
创建虚拟机,几个注意点(重点):
- 为保证系统运行速度,虚拟硬盘路径不要放在C盘,
- 安装的时候内存大小设置要大于512,否则安装过程不显示图形界面安装界面,命令行安装费劲。安装之后再把内存调到你需要的大小,当然不能太小了.
- 虚拟机设置:存储->添加虚拟光驱->添加CentOS-6.5-i386-bin-DVD1.iso
- “网络”选择Host-only,不占用公网ip,但是还可以通过SecurtCRT进行ip访问虚拟机。 如果启动过程中,报下面这个错误
进行下面的勾选
安装CentOS
虚拟机点击启动之后,虚拟机默认是先启动虚拟光驱,刚刚已经添加了安装盘! 安装英文环境,时间选上海,设置root密码,一路next。没啥好说 安装模式选“basic server”或者“database server”,基本服务器模式,带有最基本的服务器应用需要的安装包,不带桌面程序。
安装完成之后,重启之前
把虚拟机优先启动光盘和软驱勾掉,不勾掉虚拟机重启可能报错。也可能是我自己电脑问题。
root登陆,检查linux系统配置的MAC地址与虚拟电脑配置是否一致
vi /etc/udev/rules.d/70-persistent-net.rules
(一般不用改,检查下就可以)
检查上面的MAC配置,是否和虚拟主机的网卡MAC一致。
不一致改成virtualbox虚拟主机的MAC。
配置网卡具体属性(重点)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.56.10
NETMASK=255.255.255.0
GATEWAY=192.168.56.1(这个网关是虚拟机在你windows上建了一个虚拟网卡连接)
P.S.56网段是VirtualBox的默认HostOnly网段。
这样重启后就可以用securt连接192.168.56.10了
按照上面三个步骤,再建两个虚拟主机(注意ip配置不能重,都在56.网段)。
- 修改之后,使网卡配置生效(重启):
ifdown eth0 ifup eth0
使虚拟机可以链接外网
经过上面的设置之后,就可以搭建hadoop集群了,宿主机可以访问虚拟机,虚拟机也可以访问宿主机。
如果要让VirtualBox的虚拟机可以访问外网,则主系统必须共享网络连接。
具体操作步骤如下
- 通过网络连接,打开“本地连接”的属性,在“共享”选项卡下设置“Inertnet连接共享”,选中 VirtualBox Host-Only Network,单击“确定”。此时,VirtualBox Host-Only Network的IP地址将被自动设置,例如为192.168.137.1,子网掩码为255.255.255.0。
- 在虚拟机中设置 (/etc/sysconfig/network-scripts/ifcfg-eth0)其网络IP地址为192.168.137.xx,子网掩码为255.255.255.0。
- 为客户机设置DNS地址,该地址为宿主机上网所使用的真实DNS服务器地址。这个比较重要哦,如果不设置,无法访问外网!!!
- 在网络配置中保存并重新激活网卡后即可,或者重启一下客户机即可。
虚拟机复制
virtualbox支持虚拟机的复制,所以就不用一个一个的建立虚拟电脑,安装系统。
复制虚拟机的时候,要选择重新初始化MAC
基于上述MAC不能重复原因,需要对操作系统做如下修改
- 修改主机名(管理员) hostname <主机名称>
vi /etc/sysconfig/network
- 修改 /etc/sysconfig/network-scripts/ifcfg-eth0的MAC地址与虚拟机MAC一致
- 修改/etc/udev/rules.d/70-persistent-net.rules 的网卡
P.S. 选择ifcfg-ethN 中N的选择,要与 70-persistent-net.rules 中的NAME一致,同时要保证MAC地址也一致.
一些小细节
DNS地址配置 (以江苏电信DNS为例) DNS1=218.2.135.1 DNS2=61.147.37.1 修改完配置后重启网卡生效 ifdown eth0 ifup eth0
喜欢 (2)or分享 (0)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- dotnet OpenXML 简单聊聊 PPT 文本解析
- R语言作图——Ridgeline plot(山脊图)
- dotnet OpenXML 的 spcPct 和 spcPts 表示距离的不同
- 深入剖析.NETCORE中CORS(跨站资源共享)
- 网络安全实验室平台(基础关)
- Unity 基于excel2json批处理读取Excel表并反序列化
- dotnet OpenXML 文本 Text Line Break 的作用
- CVE-2020-1362 漏洞分析
- wpa_supplicant 框架
- 【LeetCode每日一题】25. Reverse Nodes in k-Group
- upload-labs第一关
- upload-labs第2~8关
- dotnet OpenXML 文本 ParagraphProperties 的属性作用
- 相信坚持的力量!Elastic 日报 1000期+ 了......
- dotnet OpenXML 文本 EndParagraphRunProperties 的作用