为了让大家在搭建虚拟机集群的时候少出现一些不必要的麻烦,下面我来详细的介绍一下如何搭建虚拟机以及搭建虚拟机集群。
下面是详细步骤希望能给你提供一定的帮助。
首先是搭建虚拟机
首先点击主页选择创建新的虚拟机
在这里我们点击自定义 (高级)(C)而后点击下一步
在这里我们可以看见我们创建的虚拟机的详细信息。比如:内存,处理器,网络适配器,磁盘大小。而后点击下一步
在这里我们选择稍后安装操作系统,而后点击下一步
接下来我们选择要创建的客户机操作系统,这里我们就用常用的Linux(L)系统,版本选择CentOS 64位,而后选择下一步。
下面我们为我们的第一台虚拟机起一个名称,而后选择储存的位置(这里需要注意的是虚拟机的名称和储存位置的文件夹。保持相同的名字)。而后选择下一步。
而后继续点击下一步
这里我们可以为虚拟机设置内存,而后点击下一步。
这里我们可以选择我们的选择类型。这里我们选择使用NAT模式。而后选择下一步。
。
下面我们选择控制层的类型。我们选择推荐的LSI logic(L)而后选择下一步。
选择磁盘类型。选择推荐的SCSI类型。而后选择下一步。
这里我们选择创建新的虚拟磁盘。而后选择下一步。
而后我们为磁盘指定大小。因为系统自动显示为20.0GB 。但是防止不够。我们直接改成50GB。而后选择将虚拟磁盘拆分为多个文件。而后选择下一步。
而后选择磁盘文件储存的位置。这里我们选择默认。直接选择下一步。
而后点击完成。
到这里我们的虚拟机并没有创建完成。我们点击CD/DVD(IDE)。
这里我们选择使用ISO映像文件。为我们的虚拟机设置新的映像
而后点击确定。
而后选择开启虚拟机。开启之后我们等待。
当出现下面的画面的时候,我们选择第一个继续等待。
当出现这个画面的时候我们选择Skip进行跳过。(此时注意按Ctrl+Alt可以是鼠标从虚拟机中跳出来)。而后继续等待。
当出现以下画面的时候。选择Next。
这里我们是让我们选择系统内部的语言的。我们现在中文(简体)。当然你要是外语更加厉害也可选择别的。这里看个人爱好。爱好广泛的也可以选择日语(嘻嘻)。而后点击Next.
这里我们选择美式英语。继续下一步。
而后选择基本存储设备。继续下一步。
我们选择忽略所有数据。
而后我们为主机命名。为了方便。我们的后续操作这里主机名与我们的虚拟机名称一致。而后点击下一步。
继续选择下一步。
这里我们为根账号(root账号)设置密码。而后选择下一步。
如果密码过于简单。这里我们选择无论如何都使用。
这里我们选择创建自定义布局。而后选择下一步。
创建自定义布局之后,我们需要创建三个硬盘:如下图
点击创建,而后点击标准分区。创建。
点击创建之后,会出现下图:首先创建boot分区 一般300Mb
而后继续创建:一样的方法创建,标准分区,创建。而后选择文件系统类型。创建第二个硬盘。选择创建swap分区 一般是内存的2倍。先前我们的内存为1G,这里我们的大小选择为2048MB。
而后创建第三个分区,还是创建,标准分区,创建。因为只需要三个分区。这里我们直接选择“/”根目录,并且大小选择使用全部可用空间。
三个分区创建完之后,如下图我们点击下一步。
选择格式化;
选择将修改写入磁盘;
选择下一步
选择下一步
而后等待完成
在等待的过程中我们可以同时在创建另外两台虚拟机,方便等一下搭建虚拟机集群。搭建好另外两台虚拟的时候下一步我们登录第一台虚拟机:用户名是:root 密码就是我们设置的密码:******;
登录虚拟机后我们发现虚拟机无法联网、这里我们首先打开终端。如下图;
打开终端后;如下图:
首先关闭虚拟机防火墙:
- 关闭防火墙
(1) service iptables status 查看防火墙状态
(2) service iptables stop 关闭防火墙
(3) service iptables start 开启防火墙 - 关闭开机自动启动防火墙
chkconfig iptables off
依次输入上面的命令;分别产看防火墙状态; 而后关闭防火墙;并且为了保证下次用虚拟机方便,直接输入命令。关闭开机自启防火墙;
而后我们修改主机地址的映射:主要是讲主机地址映射给主机名 方便我们以后的使用:修改主机映射的命令是 vi /etc/hosts 此时记住VI后面有一个空格。输入命令之后如下图:我们会发现什么的没有这是需要我们主动将主机地址的映射写入里面;如下图2。而后保存并退出;
而后我们修改虚拟机IP;而后就能连接网络了;修改主机IP的命令是: vi /etc/sysconfig/network-scripts/ifcfg-eth0;输入命令后我们就可以修改虚拟机的IP了。此时虚拟机的IP需要和我们主机的IP在同一IP段下;如图2;而后保存并退出;退出后我们发现虚拟机可以连接网络了、此时输入 ping www.baidu.com 再次实验虚拟机是否可以联网;如图3。出现图4的情况说明可以联网 而后按Ctrl+z退出ping www.baidu.com 状态;虚拟机2 虚拟机3 同上操作。确定可以联网后我们就可以连接Xsell了。如果没有联网请在修改虚拟机IP的里面找错误。或许是字母的大小写没有改过来。或许是数字输入错误。请仔细寻找;
三台虚拟机都联网的情况下我们接下来就是连接xshell;如下图;点击新建
点击新建后我们输入主机名称和主机IP:如下图。而后点击用户身份验证直接将我们的账号密码保存在xshell中方便我们下次直接连接虚拟机。如图2
而后点击连接;点击接收并保存。以后再连接就可以直接连接虚拟机了。
出现下图就是连接成功了。接下来我们在xshell中操作就行了;
首先第一步安装插件 ,命令如下 :yum install -y lrzsz 而后等待安装完成。出现下图就是安装好了;
而后进入到home目下创建soft目录;如图。而后进入到soft目录。如图2
而后我们上传JDK和HADOOP 命令如图;
而后选择我们要上传的jdk和hadoop。jdk和hadoop上传后输入ll查看一下如图2
而后查看我们以前安装得JDK版本 ,命令如图
而后卸载原有的JDK而后再次查看 原有的jdk是否全部卸载命令如图:
原有的jdk卸载完毕之后就是解压我们刚刚上传的jdk。命令如图1 ;jdk解压完毕后,解压hadoop 命令如图2:
全部解压完毕后我们再次查看一下 如图;
而后我们将安装包删除掉 留下解压好的jdk 和hadoop 命令如图
为了方便以后操作。我们分别将hadoop和jdk的名字改为如下图;命令如下图
而后我们配置环境变量命令如下图1;要修改的内容如图2;而后保存并退出
而后执行此文件命令如图:而后再次查看jdk版本命令如图2
而后进入到hadoop/etc/hadoop/目录下。命令如图1 。而后查看这个目录下都有哪些文件;如图2
而后我们首先修改 core-site.xml文件命令如图1。修改的内容如图2
而后我们修改 hadoop-env.sh文件命令如图1。修改的内容如图2。多了一句 export JAVA_HOME="/home/soft/jdk"而后保存并退出
而后我们修改 hdfs-site.xml文件命令如图1。修改的内容如图2。图3。以为无法一次截图截全 我把修改的内容发到下面
dfs.replication
3
dfs.block.size
134217728
dfs.namenode.name.dir
file:///home/soft/hadoop/name
dfs.datanode.data.dir
file:///home/soft/hadoop/data/tmp
fs.checkpoint.dir
file:///home/soft/hadoop/cname
fs.checkpoint.edits.dir
file:///home/soft/hadoop/cname
dfs.http.address
demo1:50070
dfs.secondary.http.address
demo2:50090
dfs.webhdfs.enabled
true
dfs.permissions
false
而后 我们将第一台的虚拟机的秘钥写入到我们刚刚创建的文件里面而后查看一下;命令如下图:
而后我们将写好的秘钥重新传入到第二台虚拟机上。这样第二台虚拟机就有了demo1和demo2两个的秘钥,命令如图:
输入命令后会出现一下内容。当虚拟机询问yes/no时输入yes如下图:
输入yes后虚拟机会让你输入密码。这个时候请注意请用键盘上面的数字键。不要用小键盘。而且此时输入密码你会看到他并没有显示。就好像没有动一样。但是请别担心。这个密码本来就是不显示的。输入密码后接着往下走就行了。如下图:
这是我们已经成功的将第一台虚拟机的秘钥成功的写入到了第二台虚拟机上。如果没有成功。上面的命令重新运行一遍。
而后我们在demo2上查看文件会发现多了一个authorized_keys。这个文件就是我们刚刚传过来的虚拟机1的秘钥问候我们将虚拟机2得秘钥也写入这个文件。将两个你要放在同一个文件中。并且查看一下是否写入成功;
命令如下图:
而后同样的 方法将虚拟机2上的authorized_keys传入虚拟机3上面。而后在将虚拟机3的秘钥也写入这个文件里面。这样虚拟机3就有了三个虚拟机的秘钥。命令如下图:
当传完你会发现。虚拟机1只有自己的秘钥。虚拟机2有两个。虚拟机3有三个。这是我们在重新将虚拟机3的authorized_keys传递到虚拟机2和虚拟机1上面。此时应记得。传过去之后。是覆盖了原有的文件。所以不用担心别的。传完之后记得查看一下,确保成功。命令如下图:
成功后。查看如下图。图1.图2、图3分别是虚拟机1 虚拟机2.虚拟机3
成功后我们在虚拟机1上尝试进入虚拟机2.和虚拟机3 命令如下图:
而后在虚拟机2上进入虚拟机1 和虚拟机3:命令如下图:
在虚拟机3上也一样。命令如下图:
而后我们将虚拟机1上面创建一个目录并传入虚拟机2。命令如下图:
同样。也往虚拟机3传入一个。命令如下图:
而后进入虚拟机2.查看刚刚的文件:命令如下图:查看后如图2:
而后我们在虚拟机1上返回到home目录下将soft目录发送到demo2上。命令如下图:
传递完毕后再讲soft目录传到demo3中。命令如下图:
而后我们在虚拟机1上进入到hadoop目录下进行格式化。记住格式化不到万不得已只运行一次:进入的命令如下图1:格式化的命令如图2
格式化之后我们进行启动集群。命令如下图:
询问(yes/no)直接输入yes.而后进行等待。完毕之后输入JPS查看都启动了哪些节点。记住虚拟机是5个节点。2是4个节点。3是3个节点命令如下图:虚拟机2如图2: 虚拟机3如图3:
到了这里每个虚拟机的节点启动之后。我们的集群就搭建完毕了。而后停止节点就行了。命令如下图:
而后在输入jps查看每个虚拟机的节点是否关闭。最终确认一下。谢谢观看。码字不易。转发请标注作者。以及地址。谢谢