大家好,今天为大家更新一期关于Hadoop集群的搭建,相信大家看了很多博客还是遇到乱七八糟的问题导致安装不成功,今天我来从0开始带大家搭建Hadoop集群
切记,一定要按照我的步骤走,中间有问题,我会解答,比如xshell连接不成功怎么办。
VM虚拟机的安装我就不再带大家去安装了
我们本次需要的工具有:Xshell,Xftp,Centos,VM虚拟机,jdk和Hadoop压缩包
下面附上链接,是本次需要搭建的压缩包文件,如果xshell和xftp不好用就去官网下最新版,Centos太大了,请自行下载,我也写在下面了
百度网盘 请输入提取码密码:1234
jdk和Hadoop压缩包:在网盘的压缩包里,不需要解压
Xshell,Xftp:家庭/学校免费 - NetSarang Website
两个都要安装,全部都是无脑下一步就好,下载的时候记得改下路径
Centos文件:centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云
可以是别的,但是如果安装不成功我也不清楚了,这是本人使用的iso
好的准备工作都做好,现在开始跟着我操作,我们开始搭建
ps:建议你建立一个文本,存放自己的ipxshell小键盘不能用,像我这样。
如果解压完成,你可以看到里面的txt,直接修改就行
第一步:先安装虚拟机
跟着我走,如果你下载的和我是一样的ios文件,选择17.5x,我们继续
选择稍后安装
选择CentOS 7 64位
还是建议和我命名一样,位置改成你自己空间够的地方
我这里推荐是将内核数量改成2,虚拟机速度会快一点
建议改成2G内存,建议照抄
选择网络地址转换,NAT网络
下面的就是无脑下一步了
到这里,虚拟机的创建就完成了
下面我们配置虚拟机
右键这个虚拟机,选择最底下的设置
找到你刚刚下载好的ios文件,像我下面这样选择它
然后开启虚拟机
点击虚拟机,然后小键盘的上下Hadoop集群搭建(跟着走百分百成功,小白也能看懂,从头开始),选择第一个,然后回车
下面我就不截图了,等待就好,不需要操作
到这里,我们往下滑选择中文,简体中文,然后继续
不需要改变安装源和安装位置,如果有叹号,点进去点完成就好,我们需要改变软件安装和开启网络连接
软件选择,选择GNOME桌面
然后把网络连接打开就好
这里大家就自己设置密码和用户 就行,没什么难度,这块不是很影响集群搭建
如果网络连接不上,我们不需要管,能连上最好,连不上就继续
下载完成后右下角会有重启,重启就好,然后进入,还是一样,直接回车进入
点击许可证,允许即可,网络连接不上还是不用管,点击完成
点击未列出,用户名输入root,密码是刚刚自己设置的,切记以后每次都是用root账户登录
登陆后选择汉语,不用太纠结,无脑下一步完成就好
进入桌面后我们右键,选择打开终端
到这里虚拟机就已经创建完毕了,下面我们开始进入网络的配置:
还记得我们刚刚创建的txt吗,现在可以派上用场了。首先我们点击编辑中的虚拟网络编辑器
选择更改设置
将使用本地DHCP服务这个东西关掉,全部都要关闭
选择第一个桥接模式,将桥接模式修改,不要自动,还是建议和我一样
接着我们点击NAT模式下的NAT设置
然后将对应的ip记录下来,像我这样
接着我们在电脑上搜索网络和共享中心,找到我们的WiFi
点击进去,选择详细信息
我们找到DNS服务器,如果像我一样有两个就选和上面不一样的,不过我觉得选哪个都没什么问题,别太纠结。
记录下来
下面我们打开虚拟机,在终端中输入以下命令
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
一行一行打哈,打完回车就行
输入完回车进入,下面我们如何对它进行编辑呢,我们这次搭建就用到几个操作命令:
i :插入
:wq :保存
esc :模式切换
ctrl+z :退出
小键盘的上下左右是用来移动光标的
大家就知道就这些就行,我们直接敲击键盘 i 进入插入模式
下面我们要进行两个操作,修改BOOTRPTO的值,改为static
修改ONBOOT的值,改为yes
在末尾添加一些配置,添加的代码如下
IPADDR=192.168.40.124
NETMASK=255.255.255.0
GATEWAY=192.168.40.2
DNS1=192.168.2.1
这里的IPADDR是 : 你的子网ip + 自定义的三位数
举例:我的子网ip是192.168.40.0 那么我的IPADDR就是192.168.40.124
只需要修改 最后一个小数点后面的数即可
NETMASK是你的子网掩码
GATEWAY是你的网关
DNS1是你的DNS
如果你刚刚跟着我的操作保存了,你是知道你这些值是什么的,我们敲进去就行
和我对应看看,哪里不一样,修改一下就行。
然后我们按一下esc切换模式,输入 :wq 然后回车
按完esc直接敲即可
下面我们输入,重启网络服务,然后ping一下百度,CTRL + C是暂停
service network restart
ping
好了到了这里我们master的网络就配置完了,下面我们将虚拟机关机,直接关掉,开始克隆
右键maser,选择管理,选择克隆
前面都是无脑下一步,到这里选择创建完整克隆
更改虚拟机名字和位置,如图,建议和我一样哈
最后完成即可,关闭
然后再选择master,再克隆一个,和刚刚的步骤一样,不过要改名和位置,如图
然后完成关闭
接下来,我们将三台虚拟机全部启动,切记,选择未列出,root用户登录,后面我就不再提示了,全都用root用户登录
下面我们打开s1和s2虚拟机的终端,开始对他们进行网络配置,每台虚拟机要有各自的ip
我自己的: maser:192.168.40.124
s1:192.168.40.125
s2:192.168.40.126
我们让虚拟机处在同一个网段下,修改他们最后的数字就行,大家可以参考我的,124,125,126
我们开始进行配置,同样在s1和s2的终端输入以下命令
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
这里我用s1举例,不需要改其他值,只需要改IPADDR即可,如图s1的配置,变成125了
一定不要忘了。esc切换模式,然后输入 :wq 进行保存
那么s2也是同理,改成192.168.40.126
然后两台虚拟机都输入以下命令,重启网络服务
service network restart
我这里就不去ping了,一定是能ping通的,大家害怕可以试试
下面我们打开Xshell,点击左上角的新建
然后主机名修改为master,主机修改成master的ip地址,最后点击连接
点击保存
下面输入root,记得每次连接都要点击记住用户名
一样的,密码输入root密码,保存密码,然后确定
这样你就连接成功了,下面我们还需要连接另外两台,点击左上角的文件,新建
下面我就不再演示了,和刚刚是一样的,将主机名称改为s1,s2,主机修改成对应的s1和s2的ip地址,结果图如下:
=========================================================================
下面我说的是一种意外情况,如果大家进行到这里都没有问题,证明你的Xshell连接是没有问题的,请忽略下面这些内容,或者中途出现了,再回来看
会有一部分人出现一种情况,那么就是出现
Type `help' to learn how to use Xshell prompt.
[C:~]$
Connecting to 192.168.40.126:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
这样连接失败的错误,就是无法连接成功,开头并不是[root@localhost ~]#
这时不要慌,我们将Xshell的三个连接全部删除,然后进入到VM虚拟机中
选择左上角的编辑 --》 虚拟网络编辑器 --》更改设置
点击NAT模式,将子网ip修改为192.168.2.0,以前是192.168.40.0,将40改为2,然后确定
下面我们进入到虚拟机中,还是和开头一样,要修改每个虚拟机的IPADDR和GATEWAY
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
修改成这样,无脑和我修改成一样即可
IPADDR=192.168.2.124
NETMASK=255.255.255.0
GATEWAY=192.168.2.2
DNS1=192.168.1.1
修改后如下
ps:我这里也将DNS1修改成了另一个,尽量不让他们一样,在一个网段下
这是master,s1和s2也是同理,修改即可,记住,修改完一定要输入重启网络服务的命令
service network restart
我这里测试了一下,是可以ping成功baidu.com的
然后我们再去连接Xshell应该就可以了,如果还是连接不上,参考下面这个博客,是防火墙和ssh的问题,我这里就不去说了,概率很小。
Xshell远程登录不上linux服务器,解决could not connect to 192.168.10.2 (port 22):Connection failed_xshell连接linux失败 22端口-CSDN博客
=========================================================================
下面我们进行虚拟机的主机名配置,因为需要三个虚拟机互相连通,我们需要修改他们的主机名,不能一直用ip寻找,下面开始操作:
在Xshell中我们是可以直接复制粘贴的,不过在Xshell中需要用右键操作,点击粘贴
在master中输入以下命令:
hostnamectl set-hostname master
在s1中输入以下命令:
hostnamectl set-hostname s1
在s2中输入以下命令:
hostnamectl set-hostname s2
然后回到VM虚拟机中将三个虚拟机全部重启
重启完毕后回到Xshell,点击左上角的文件,选择重新连接所有,这时你就会发现终端不再是localhost,而是对应虚拟机改成了自己的对应名字,如图:
下面我们在三台虚拟机下,都输入以下命令,来关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
按顺序输入哦,三台都要按顺序输入,我这里就不截图了
以下为输入完的样子,可以看到防火墙被关闭了
下面我们开始配置hosts文件,目的是让每台虚拟机知道对应的ip是谁,三台都需要输入
输入以下命令:
vi /etc/hosts
进入后在最后面输入以下命令:(记得将ip地址改成你自己的)
192.168.2.124 master
192.168.2.125 s1
192.168.2.126 s2
结果如下:
下面我们配置ssh免密登录,每台虚拟机输入以下命令:
ssh-keygen -b 1024 -t rsa
输入完之后一直敲回车,直到出现[root@master ~]#
在master中输入以下命令:
cd .ssh
ssh-copy-id master
ssh-copy-id s1
ssh-copy-id s2
然后输入s1的密码(我这里是打错密码了哈哈哈)Hadoop集群搭建(跟着走百分百成功,小白也能看懂,从头开始),s2也是同理
在s1中输入以下命令:
cd .ssh
ssh-copy-id s2
在s2中输入以下命令:
cd .ssh
ssh-copy-id s1
然后在每台虚拟机输入以下命令:
#配置权限
chmod 600 authorized_keys
#设置时间同步
crontab -e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
到这里ssh的免密登录就完成了,大家可以试试免密登录,我这里就不做测试了
ssh s1
ssh s2
#登出 exit
下面我们开始解压jdk和hadoop ,打开Xftp,那个绿色的软件,和Xshell的登录是一样的
这次只需要连接master就行了,s1和s2不需要连接
登录是一样的,我就不截图了,成功如下图:
在左边找到解压好的搭建工具,然后很简单,将这两个压缩包拖入到右侧即可
我们打开Xshell,在master中输入以下命令:开始解压
#返回根目录
cd
tar -zxvf hadoop-2.7.5.tar.gz
tar -zxvf jdk-8u321-linux-x64.tar.gz
如果你和我的版本不一样,没有用我的压缩包,记得修改对应版本
我就不截图了,压缩东西太多,下面我们将jdk文件发送到另外两个虚拟机上,输入以下命令:
scp -r jdk1.8.0_321 root@s1:~/
scp -r jdk1.8.0_321 root@s2:~/
发送完成后在master中输入以下命令,进入hadoop文件中开始配置文件:
cd hadoop-2.7.5/etc/hadoop
首先是env.sh文件,输入以下命令:
vim hadoop-env.sh
当我们进入到env.sh文件后找到下面这条命令:
进入编辑模式将它修改成下面的变量:
export JAVA_HOME=/root/jdk1.8.0_321
就是将JAVA_HOME后面的删除,变成/root/jdk1.8.0_321,如下图:
记得保存退出
然后是yarn-env.sh文件 ,输入以下命令:
vim yarn-env.sh
同样的进入后找到:如下图
修改为:export JAVA_HOME=/root/jdk1.8.0_321
如下图:
下面配置core-site.xml文件,输入以下命令:
vim core-site.xml
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/root/hadoopdata
进入后找到这里,然后将这一大段代码复制粘贴到里面
成功如下图:
下面配置hdfs-site.xml文件,输入以下命令:
vim hdfs-site.xml
dfs.replication
同样找到那个代码块,然后将这些代码粘贴到里面,成功如下图:
下面配置mapred-site.xml文件,输入以下命令:
先执行:mv mapred-site.xml.template mapred-site.xml
然后:vim mapred-site.xml
mapreduce.framework.name
yarn
同样找到代码块,然后将这些代码粘贴到里面,成功如下图:
下面配置yarn-site.xml文件,输入以下命令:
vim yarn-site.xml
yarn.resourcemanager.hostname
master
yarn.nodemanager.aux-services
mapreduce_shuffle
同样找到代码块,然后将这些代码粘贴到里面,成功如下图:
到这里,hadoop的配置文件就结束了,下面执行以下命令:
vim slaves
在这里删除localhost,添加master,s1,s2
成功如下图:
下面我们需要将配置好的hadoop文件发送给另外两个虚拟机,执行以下命令:
#返回根目录
cd
scp -r hadoop-2.7.5 s1:~/
scp -r hadoop-2.7.5 s2:~/
接着我们在三个虚拟机中执行以下命令: 记得要全部返回根目录(cd)
cd
mkdir hadoopdata
最后我们配置三台虚拟机的环境变量,执行以下命令: 都要输入
vim /etc/profile
export JAVA_HOME=/root/jdk1.8.0_321
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/root/hadoop-2.7.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
进入后要在底部粘贴所有的环境变量,如图:
最后我们需要让环境生效,在三台虚拟机下都输入以下命令:
source /etc/profile
下面开始初始化Hadoop集群,我们在master中输入下面的命令:(仅一次)
hdfs namenode -format
启动Hadoop集群:(master中)
start-all.sh
记得输入yes,会有提示,忘记截图了
查看集群是否启动成功:
jps
成功如下图:
这时候Hadoop集群已经成功搭建完成并启动了,下面我们进行最后一步,首先打开下面路径
C:WindowsSystem32driversetc
我们找到hosts这个文件
首先,右键 hosts 点击属性xshell小键盘不能用,点击安全,点击User
点击编辑,点击User,给user更改的权限,建议全选,如图:
然后保存退出即可
下面我们点击到hosts文件中,用记事本打开,在末尾输入虚拟机的ip与主机名,如下图:
保存退出
到此,Hadoop集群的搭建彻底完成了,现在我们来访问Hadoop对应的端口网址
:8088
如图:
好了,Hadoop到这里就结束了,希望能帮助到大家,本人的血泪史
感谢大家的观看!
评论列表 (0)