目录
在生产环境中,Hadoop集群环境需要搭建在Linux系统上。这里我安装的Linux版本是CentOS 7
,虚拟机是VMware,使用的网络服务管理软件是finalshell,在使用之前,我们可以进行一些配置操作。(本文是在这三款软件下载完成的基础上进行讲解,Linux版本可以不一样,如CentOS 8,虚拟机版本也可以不一样,而finalshell也可用Xshell等来替代,操作基本一样)
注意:这里我选择的Linux虚拟机的网络模式是桥接模式。
1、创建虚拟机并安装Linux系统
后面是默认选项,来到下面的页面:
选择你下载好的Linux镜像文件,然后点击下一步:
在如图中输入相关数据,注意要记住你的密码,然后点击下一步
虚拟机名称可改可不改,虚拟机存放的位置可自定义
这里根据自己的需要进行设置,需要注意的是处理器内核总数不能高于你的本机配置。
这里也根据自己的需要进行设置
选择桥接模式,然后点击下一步。
然后一直选择默认选项,来到以下页面:
选择最大磁盘大小,可根据自己的需要进行设置,注意不能太小!
这里的文件名也可以自己设置!后面均不需要修改了。
到此,虚拟机就创建完成,启动该虚拟机即可。第一次会有点慢,等待即可。
2、搭建Linux虚拟机
2.1、配置Linux静态IP
(1)查看虚拟机动态分配的IP:
有以下几个命令可以实现,选其一即可:
ifconfig
ip route list 也可以简写为 ip ro ls
ip addr show
(2)获取到动态IP后通过finalshell远程连接:
主机里面填写的是你获得的动态IP值,用户名和密码是你之前自己设置的,填入即可。这里的用户名还可用root,一般不建议使用,因为它具有最高权限
点击确认后,连接即可,如果连接不上,可多尝试几次。
出现该页面就代表连接成功,后续一直在该页面操作即可。
(3)修改相关内容,配置静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
这里最后的地方也可能不是ens33,可根据你的实际情况进行调整,如可先进入network-scripts
目录查看具体是什么,如果通过上面命令可直接进去,那就不用管。
注意:如果你是以普通用户登录的,执行该命令时可能无法对该文件进行修改,需要进入到root用户,获取最高权限,命令为:su。然后需要输入密码。
进入下面页面:
点击 i 可对该文件进行相应的修改,修改后的文件如下:
其中固态IP地址IPADDR设置的内容为你所想要设置的IP地址值,我们只修改最后面的数据,如前面我们通过命令获得的动态IP为:192.168.10.47,我们只修改47,改为108(这个可自己设置),网关GATEWAY要根据路由器的网关来设置,我此时操作时连接的是无线网,可在电脑本地终端输入ipconfig来查看网关。子网掩码NETMASK为255.255.255.0
DNS是域名系统的缩写,他是一个用于将域名解析为IP地址的系统,在这里设置两个DNS,一个为本地运营商的DNS,一个为通用的DNS(8.8.8.8)。
本地运营商的DNS可自己查询。如我的WiFi是移动的,我所在地是合肥。这里我选的是:211.138.180.2。
点击Esc结束编辑,同时按住shift+: 进入命令模式,再输入wq(w代表保存,q代表退出),最后按回车退出。
(4)重启虚拟机,也有几种命令,选其一即可
init 6
reboot
(5) 重新获取查看IP,命令之前讲过了,选其一即可
我们发现IP已经成功修改了。并且可以连接网络。
2.2、配置多个Linux静态IP
我们在实际工作生活中可能会在不同地方使用电脑,wifi不同网段也会不一样,会导致无法联网。这时候我们如果想要使用静态ip,且实现多个网段都可以上网,我们就需要配置多个静态IP地址。
在之前我原本设置的静态IP地址是为192.168.10.108的网段,我现在连接其他wifi的时候,我就无法访问外网了。现在我切换一个WiFi,联网时会出现下面的情况:
此时,我们在电脑本地的终端输入ipconfig,可以找到当前WiFi的网段。
我们前面说了,设置静态IP时,只改网段的最后一个段作为静态IP,前三个段要一致。我们设置的静态IP为192.168.10.108,此时的网段为192.168.1.26,第三段也不一样,这是导致无法上网的原因。
其实如果更换WiFi后,WiFi的网段的前三段与我们设置的静态IP的前三段一致,即使不设置多个静态IP,也是可以正常上网的。
(1)首先进入之前设置静态IP的页面,命令相同,操作过程也相同。之前修改过后的页面为:
修改操作同前面,修改过后的文件内容为:
(2)再次重启虚拟机,操作与之前的操作相同。
(3)重新进入虚拟机后,finalshell与虚拟机重连。
(4)使用 ip addr show 或者使用 ip ro ls 查看配置情况。
我们可以看到有两个IP。
(6)查看此时的网关并尝试上网
我们会发现会出现这种情况,还是无法上网。
(7)增加默认网关,并查看当前网关
由于我们的配置文件(之前设置一个静态IP时添加的网关)里只有一个网关,且是192.168.10.xxx字段的网络的网关,所以我们处于该字段网络时可以正常上网(但有的时候也不能正常上网,此时设置默认网关即可,这个默认网关必须是我们当前连接的局域网的网关,比如我就要设置ip ro add default via 192.168.10.1 dev ens33),但处于其他字段网络时无法上网,所以我们需要增加一个当前网络的网关,并设置为默认网关。
增加默认网关的时候还是需要 su 命令获得root权限。
ip ro add default via 192.168.1.1 dev ens33
如何获取当前局域网网关的方式上面也讲过了
我们发现当前多了一个默认网关!必须要有默认网关才能正常上网,所以我们配置了多个静态IP时,每次进入虚拟机,可以输入 ip ro ls 查看是否有默认网关,没有就需要添加。
(8)再次上网
成功连接网络。
注意:设置默认网关的命令只是临时操作,以后每次切换网络都需要设置默认网关,但IP地址是固定的,还是比较方便的!
例如:如果按照我上面的操作,当我们在192.168.10.XXX字段的网络上网时,不需要设置默认的网关也能上网,但我们切换到192.168.1.XXX字段网络上网时,需要添加该字段网络的网关为默认网关。
2.3、设置Linux主机名
IP地址就是一台主机上网时IP分配给它的一个逻辑地址,主机名(hostname) 就相当于又给这台机器取了一个名字,可以为主机取各种各样的名字。
(1)获得主机名
hostname
(2)修改主机名
vim /etc/hostname
进入编辑页面后,点击 i 后开始编辑内容,编辑完成后,先按Esc退出编辑模式,进入命令模式,再按shift+ : ,再输入wq,回车即可退出此页面。
(3)输入 hostnamectl 命令
(4)输入 hostname 即可输出主机名称
2.4、Linux SSH免密登录
如图所示,这里有两台虚拟机正在运行,第一个为桥接模式下的虚拟机,第二个为NAT模式下的虚拟机,由于桥接模式下的虚拟机无法ping通NAT模式下的虚拟机且无法远程登录NAT模式下的虚拟机,但NAT模式下的虚拟机能够ping通桥接模式下的虚拟机且能够远程登录桥接模式下的虚拟机。
所以这里我用第二台虚拟机去远程登录第一台虚拟机。
第一台虚拟机的IP为:192.168.1.208
第二胎虚拟机的IP为:192.168.10.129
(1)远程登录命令:ssh root@192.168.1.208
这里会让你输入你要登录的虚拟机的密码,输入即可。
我这里会显示上次登陆的记录,好像第一次登录输入密码过后步骤要多一两步,按照提示操作即可,
退出刚才登录的第一个虚拟机,我这只是演示一下正常的登录过程。
输入:exit
(2)每次登录都要输入密码,不太方便,开始设置免密登陆。
查看当前是否存在公钥和私钥的文件: ls /root/.ssh
会发现没有该文件
生成公钥文件和私钥文件:ssh-keygen 一直回车即可,直到出现下面页面:
再次查看当前是否存在公钥和私钥的文件:ls /root/.ssh
会发现此时已经生成了公钥和私钥的文件
发送公钥给想要登录的虚拟机,输入:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.208
输入yes,回车即可。
然后输入密码回车。
现在再次登录第一个虚拟机,登录的命令同上,按上面操作即可。
会发现现在登录不需要输入密码了,实现了SSH无密码登录。
2.5、IP映射
如果要用主机名去访问主机,就需要配置hostname与IP地址之间的对应关系。
在第二台虚拟机输入:(在这之前要获取最高权限 su )
vim /etc/hosts
进入文件并点击 i 进行编辑,编辑内容如下:
保存并且退出即可,具体操作前面也讲过了。
接下来要验证是否配置成功。
前面已经实现了SSH免密登录,登录命令为:ssh root@192.168.1.208
现在既然实现了映射关系,就可实现通过主机名来远程登录
若没有实现前面的SSH免密登陆,也可以通过主机名远程登录,只是要输入密码罢了。
命令为:ssh root@slave08
登陆成功,表示配置成功了。