Vmwear虚拟机安装到集群搭建过程
一.集群搭建的准备工作1.安装vmweare虚拟机2安装centos系统二.虚拟机规划1.首先,大家知道一下网络常识:1.1 网络中对电脑的访问是通过ip定位的。就好像我们的身份证号,可以唯一辨识一个人。ip是用来区分网络中的电脑的,因此同一网络(准确讲是“网段”)中,ip地址不能相同。如果同一网络中有相同的ip存在,经常发生无法联网或者经常掉线的情况。1.2 网络是分段管理的。拿...
一.集群搭建的准备工作
1.安装vmweare虚拟机
2安装centos系统
二.虚拟机规划
1.首先,大家知道一下网络常识:
1.1 网络中对电脑的访问是通过ip定位的。
就好像我们的身份证号,可以唯一辨识一个人。ip是用来区分网络中的电脑的,因此同一网络(准确讲是“网段”)中,ip地址不能相同。如果同一网络中有相同的ip存在,经常发生无法联网或者经常掉线的情况。
1.2 网络是分段管理的。
拿局域网为例,我们通常的网段是192.168.1.xxx。我们的ip地址就是把xxx成1到254的数字。如果多台计算机的ip的前面数字都是192.168.1,那么就叫做属于同一个网段,他们之间是可以互相通信的。如果一台机器的ip是192.168.1.100,另一台机器的ip是192.168.3.100,正常情况下,不能互相通信的(有办法可以搞定,我们不讨论)。所以,在设置虚拟机时要考虑是否同一个网段。
1.3 怎么知道电脑的ip地址?
在windows系统下,在命令行中执行ipconfig;在linux系统下,在命令行中执行ifconfig即可,下文会详述。
1.4 怎么判断是否与对方能够通信?
最简单的方式是执行ping命令。无论是windows还是linux,都可以在命令行中执行“ping 对方ip
2.配置ip地址,并将虚拟机的防火墙关闭
参考博文: VMware配置网络的3种方式区别
3.配置静态ip
静态ip可以用命令行的方式配置,同时可以进入虚拟机可视化操作;
我这里选择NAT配置网络:配置之前进入自己电脑网络管理,勾选允许其他网络用户internet共享
3.1 本机网络设置:
本机配置VMnet8ip属性:
这里配置的ip地址可以自行定义,一般选择 192.168.xxx.1
这个ip需要用户记住,与接下来VMware网络NAT模式网络配置需保持一致,具体虚拟机主机配置静态ip也要在这网段192.168.xxx.xxx
3.2 VMware配置ip:
同电脑主机配置的Vmnent8网络配置保持一致
自定义虚拟机环境:单击虚拟机-右击-设置
3.3 开启虚拟机,配置虚拟机ip:
提示:每个人的网卡文件可能不一样,因为版本原因,有些网卡文件名称不一样我这里是ifcfg-etho,用户可自行查看
配置虚拟机网卡文件:(root用户)
vi /etc/sysconfig/networt-scripts/ifcfg-etho
输入命令重启网络:service network restart
测试连接…
3.4 配置host
-
配置hostname
命令:
vim /etc/hosts
3.5 关闭防火墙
学习环境可以直接把防火墙关闭掉。
(1) 用root用户登录后,执行查看防火墙状态
service iptables status
(2) 关闭防火墙,这个是临时关闭防火墙。
service iptables stop
(3) 永久关闭防火墙
chkconfig iptables off
关闭,这种需要重启才能生效。
六.配置jdk环境
-
首先查看自己虚拟机是否自带jdk,一般都自带jdk,我们最好是下卸载自带的jdk,以免发生冲突
1.使用Java -version查看是否有自带的jdk,openJDK为自带的;
2.使用 rpm -qa |grep java 查看具体的 安装包;
3.使用rpm -e --nodeps 加上第2步查出来的安装包,进行删除;
-
安装自己下载的jdk
将自己本机的安装包上传到虚拟机,搭建集群如多台虚拟机需要配置环境,我们先不着急稍后通过分发的方式将jdk环境以及hadoop一同分发过去。
通过 rz 命令上传文件,若没有rz命令你需要在虚拟机安装命令yum install lrzsz
-
进入到自己选定安装jdk的文件夹 例如cd /opt/modules/
随后创建java文件夹 mkdir java
解压文件tar -zxvf jdk-7u55-linux-i586.tar.gz
-
删除安装包
rm -rf jdk-7u55-linux-i586.tar.gz
-
配置环境变量
编辑/etc/profile文件, 在文件尾部添加如下配置:
export JAVA_HOME="/opt/modules/jdk1.7.0_67" export PATH=$JAVA_HOME/bin:$PATH
编辑完成后记得输入**:wq**保存退出,最后一步就是通过source命令重新加载/etc/profile文件,使得修改后的内容在当前shell窗口有效:
source /etc/profile
测试 输入java -version查看一下jdk版本信息.
七.配置ssh,实现免密登录
Hadoop集群中的各个机器间会相互地通过SSH访问,每次访问都输入密码是不现实的,所以要配置各个机器间的
这里以三台服务器为例:master、slave1、slave2
1.给3个机器生成秘钥文件
以master为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:
[root@master .ssh]# ssh-keygen -t rsa -P ''
ls /root/.ssh/
2.使用同样的方法为slave1和slave2生成秘钥(命令完全相同,不用做如何修改):
[root@slave1 ~]# ssh-keygen -t rsa -P ''
[root@slave2 ~]# ssh-keygen -t rsa -P ''
3.登录master机器,输入命令:
[root@master ~]# cd /root/.ssh
[root@master .ssh]# cp id_rsa.pub authorized_keys
将id_rsa.pub公钥拷贝重命名为authorized_keys文件。
4.登录slave1和slave2机器,将其他主机的公钥文件内容都拷贝到master主机上的authorized_keys文件中,命令如下:
登录slave1,将公钥拷贝到master的authorized_keys中
[root@slave1 ~]# ssh-copy-id -i master
登录slave2,将公钥拷贝到master的authorized_keys中
[root@slave2 ~]# ssh-copy-id -i master
5.授权authorized_keys文件
登录master,在.ssh目录下输入命令:
[root@master .ssh]# cd /root/.ssh
[root@master .ssh]# chmod 600 authorized_keys
将authorized_keys文件复制到其他机器
[root@master .ssh]# scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/authorized_keys
[root@master .ssh]# scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/authorized_keys
注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。
6.测试连接成功的情况:
在每台机器上机器上运行:不用登录密码可以查看虚拟机时间
[root@master ~]# ssh master date
[root@master ~]# ssh slave1 date
[root@master ~]# ssh slave2 date
至此,免密码登录已经设定完成!
参考博文:https://blog.csdn.net/cp_panda_5/article/details/80266626
八.安装hadoop,集群规划,启动集群
服务器集群规划(完全分布式)
hsmaster | hadoop1 | hadoop2 |
---|---|---|
NameNode | ResourceManage | |
DataNode | DataNode | DataNode |
NodeManager | NodeManager | NodeManager |
HistoryServer | SecondaryNameNode |
更多推荐
所有评论(0)