Hadoop运行环境搭建准备环境
? 由于各种原因,本人决定要在实验室使用三台主机搭建一个集群,集群使用的机器是三台破旧主机,破旧到什么程度,就是去库房拔了一下午,扒到了三台勉强还能跑的动的电脑,一言难尽,但总归是找到了三台,配置不高,主要是用于平时的练手实验使用。
? 在主机准备好了之后,就是最开始的一步,重装系统,之前搭建系统使用的是Ubuntu20.0.4版本,但是这次改用了一下linux版本,使用的是CentOS7.5发行版本。重装系统的步骤就不多少,大概就是做系统盘,装系统,具体重装系统见这篇文章
win10和Ubuntu重装系统
? 如果是采用虚拟机的方式进行伪分布式的操作,那么在虚拟机中安装linux系统详情见
虚拟机中安装linux系统
? 经过了长久的安装历程之后,三台电脑的CentOS系统已经安装完成,安装完成之后我就把三台电脑放到了机架上,然后通过远程连接进行操作。
? 使用Xshell远程工具进行连接,三台机器将其分别取名为hadoop102、hadoop103、hadoop104,因为最开始的集群名称就是这个,所以这次三台依然采用这三个名字
? Xshell连接之后界面
? 顺便说一下Xshell配套的文件传输工具Xftp,Xftp可以去官网下载,然后安装即可,Xftp是收费的,你可以选择免费使用哪个30day,也可以申请免费使用,面向师生的,我选择的是申请免费使用。官网地址:https://www.netsarang.com/en/xftp-download/
? 下面正式开始配置集群环境
一、安装软件包
安装epel-release:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供的额外的软件包。相当于一个大的软件曹库,那么就可以安装下来,为以后的软件安装提供便利
yum install -y epel-release
三台电脑一样的操作,再往后都是一样的,就不一一说明了
二、配置用户sudo权限,并无密码使用sudo
在上一步装包的时候,他让我用root权限,我用了之后,他又报错说用户不在sudoer里,已经上报
那就先解决一下这个问题,按照他的提示也可以知道,在sudoer文件中没有用户信息,那么就配置一下,文件在/etc/sudoers
vim /etc/suders
在vim编辑器中,找到相应的位置加入这么一段话
lnnu ALL:(ALL) NOPASSWD:ALL
(用户) (使用无密码)
三、关闭防火墙,关闭防火墙开机自启动
systemctl stop firewalld
systemctl disable firewalld.service
四、在/opt目录下创建文件夹,并修改所属用户和组
1、在/opt目录创建module、software文件夹,放置之后的大数据框架
mkdir /opt/module
mkdir /opt/software
修改所属组和用户,使用的命令是chown。
chown lnnu:lnnu /opt/module
chown lnnu:lnnu /opt/software
查看文件所属用户和组
五、卸载虚拟机自带的JDK
在CentOS安装的时候,会自动安装一个jdk,在安装时候无聊我无意中看到了什么正在安装openJDK,所以要卸载这个jdk
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
参数说明:
rpm-qa:查询所安装的所有rpm软件包
grep -i:忽略大小写
xargs -n1:表示每次只传递一个参数
rpm -e -nodeps:强制卸载软件
六、设置静态IP
动态IP会地址会变,所以如果在某些时刻IP地址变了,那么在集群中的通信就会出现故障,会内部连接不上,所以把IP配为静态
修改文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
说明:文件不一定是ens33,要看你用的到底是哪个协议,可以使ifcfg-xxxxx
在该文件中修改几个地方
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.3.102 //IP
GATEWAY=192.168.3.1 //网关
NETMASK=255.255.255.0 //子网掩码
这个时候因为没有设置DNS,所以当你ping百度的时候或者外部IP的时候是会显示解析不了,所以配置DNS,选择8.8.8.8和8.8.4.4,谷歌的,在文件/etc/resolv.conf
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
配置之后重启网络
service network restart
上述配置完成,ping一下网址www.baidu.com,如果没问题,则设置成功
注意:
如果是虚拟机的话,那么配置过程可能有些不同,具体参见
虚拟机中配置CentOs静态网络
七、修改主机名
将主机名修改为hadoop102、hadoop103、hadoop104
在文件/etc/hostname中修改
八、配置集群IP映射
在内部通信时,为了让集群采用的是机器名通信,而不是每次都是输入IP,我们需要配置一下IP映射,在文件/etc/hosts中添加映射
192.168.3.102 hadoop102
192.168.3.103 hadoop103
192.168.3.104 hadoop104
配置之后,如果能ping通hadoop102即时证明设置映射成功
九、安装JDK
在安装JDK前要确保已经把自带的JDK卸载了
将JDK的tar包通过Xftp传输到opt目录下的software,往后所有的安装包都放在software下,解压后的放在module下
解压到module中
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
查看module中是否已经解压了jdk
配置JAVA_HOME路径,创建文件/etc/profile.d/my_env.sh
sudo vim /etc/profile.d/my_env.sh
添加JAVA_HOME路径
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH+$PATH:JAVA_HOME/bin
让PATH生效
source /etc/profile
测试是否jdk安装成功了
java -version
到这里准备环境已经全部设置完成了
|