前言
Hadoop
是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
说白了就是实现一个任务可以在多个电脑上计算的过程。
一:准备工具
1.1 VMware
1.2Linux服务器(两台,创建一个克隆一个即可)
1.3 hadoop-2.7.3.tar(Hadoop的安装文件)
1.4 jdk-8u65-linux-x64.t.gz(hadoop是基于java的,要有java的jdk)
1.5.SSH服务(远程连接工具)
1.6Xshell或者 winSCP(远程传输工具)
VMware的安装下载和Linux服务器的创建请参考这篇文章;
虚拟机开启SSH服务以及Xshell连接服务器请参考这篇文章。
两个安装文件,大家可以在网盘自行获取:
通过网盘分享的文件:jdk及Hadoop
链接: https://pan.baidu.com/s/1tnHohO3GHNFAuWZqiq51lg?pwd=2rxu 提取码: 2rxu
二:Linux服务器的配置
最好是一开始就切换到管理员模式(输入su,回车后输入登录密码
),便于后续对文件的操作。
目前是两台服务器,你需要确定一台为主节点,另一台为子节点。这个待会我们会修改主机名称来区分两个节点,我这里一台命名为hadoop01,一台是hadoop02(这些是创建主机时设置的名字,随时都可以重命名)。
2.1 服务器IP的查看
刚创建的服务器的IP分配一般都是DHCP模式,这时可以查看到网卡中的IP信息,每个人的IP地址是不同的,你需要根据自己的IP地址进行配置。
在命令行输入
ifconfig
接下来需要进行静态IP的配置
,并检查两台服务器是否可以上网,可以和本地机通信。最好是都配置成静态IP,防止重启时IP变化,出现无法连接的情况。
2.2静态IP的配置
刚才我们查看了IP地址,网关查看步骤点击VMware工作台左上角"编辑“——》虚拟网络编辑器——》NET设置——》网关IP(每个人的网关也不同)
根据自己的IP和网关,可以提前在记事本上写上以下配置信息
#Hadoop01:
IPADDR=192.168.132.128
NETMASK=255.255.255.0
GATEWAY=192.168.132.2(网关可以在虚拟网络上设置上查看,一般都是xxx.xxx.xxx.2)
DNS1:8.8.8.8
#和hadoop01一样,我们配置hadoop02的网卡信息
Hadoop02:
IPADDR=192.168.132.129
NETMASK=255.255.255.0
GATEWAY=192.168.132.2
DNS1:8.8.8.8
然后进入一个文件夹,然后查看当前目录下是否有你的网卡文件,我们要进入网卡中修改IP地址信息
cd /etc/sysconfig/network-scripts
我这边的网卡文件是ifcfg-ens160,进入这个文件中
vi ifcfg-ens160
我们看到原始的信息,接下来在需要修改我标注的地方(进入该文件中需要按“i”键盘,进入编辑模式,修改完成后按“ Esc”键,退出编辑模式,然后输入“ :wq”保存并退出)。
同样的操作,我们也把hadoop02的静态IP
配置好。
修改完成后reboot重启
,两台都要重启(当然你也可以按照接下来的步骤修改完主机映射后再重启)。
为了保证我们的主机都能上网,需要再在本地机的控制面板中修改VMnet8中配置IP地址和网关:控制面板——》网络和共享中心——》更改适配器设置——》双击VMnet8——》属性——》找到TCP/ipv4——》使用下面的IP地址。
更改完成后确定。
然后测试两台主机能否上网,直接ping百度。如果有问题的话,可以参考这篇文章,希望能有所帮助。
2.3Xshell连接服务器(接下来的操作均在Xshell上完成)
为了便于后续传输文件给服务器,我们使用远程传输工具Xshell(这个你可以自行选择,winSCP也可以),连接两台服务器。
2.4修改主机名
我这里时hadoop01为主节点,hadoop02是子节点。名字的修改是为了区分这两个节点
hostnamectl set-hostname(空格)主机名
2.5修改主机名称以及主机映射
由于后面的步骤我们会多次使用到IP地址,因此这里修改IP地址和主机名的映射会方便我们后续的操作。
vi /etc/hosts
i键进入编辑模式,输入以下信息后保存退出。
192.168.132.128 hadoop01
192.168.132.129 hadoop02
同样的,hadoop02也是这样的操作
操作完成之后重启主机
reboot
那么重启之后,我们会发现主机名称已经完成更改了,此时我们就可以直接ping 主机名,就可以测试通信了。
你也可以用本地机直接ping虚拟机服务器名
2.6配置免密登录
首先关闭防火墙
systemctl stop firewalld.service
回到根目录
cd /
生成公钥和私钥(前提是你的主机已经安装了ssh服务,并且已经开此服务。如果没有安装ssh,请参考这篇文章)
执行命令,生成公钥私钥
ssh-keygen -t rsa
一直