Hadoop想必困扰很多学生,笔者就弄了一周,这里本人亲手写和实践的一份超详细的安装流程
黑字为正文
淡淡色字为错误解决方案,没错误可以跳过,本人的错误并不涵盖每个人的错误,主要是笔者在弄这个的时候遇到的坎
开始必看:
Ctrl + l可以清屏,后面可能你会用到
修改文件按进入后按i,保存退出先按esc,再按shift和:键,输入wq,然后回车
1.开启windows虚拟机平台的许可
在第一步你啥也不用做,打开控制面板
右上角搜索“Windows功能”
点击“启用或关闭Windows”功能
勾选“虚拟机平台”然后点击确定,重启电脑
2.安装VMware Workstation Pro
链接: https://pan.baidu.com/s/1Bmei-6T3Zsdvbs8VaGVDHQ?pwd=ywps 提取码: ywps
然后去某个地方买个激活码,激活一下,我这个版本是16
如果你有破解版,当我没说
如果链接失效,找卖激活码的商家要一份
现在我默认你装好了VM,开始下一步吧
3.下载CentOS
链接: https://pan.baidu.com/s/1WUV2VxDpUavSXtspSMgcBw?pwd=urux 提取码: urux
链接失效,就去找你同学要一份,因为:
1.下载速度慢
2.官网现在界面和以前不一样(反正我这个大呆瓜没找到)
新版打咩,最好要老一点的版本。
笔者用的是CentOS7
4.安装你的第一部虚拟机
打开VMware,点击创建新的虚拟机
按图配置xdm
注意,这个地方要用“浏览”选择你安装的CentOS的iso文件,有些计算机能自动检测
名称随意,我这夹带私货,是《新世纪福音战士》
处理器内核选两个
4GB内存完全够用
虚拟机就此设置完成
但是,这只是一小步
5.设置虚拟机
使用VMware
启动,点击一下中间屏幕,按enter,等候安装界面出现
出现后选简体中文(如果你是外国人,当我没说)
点右下角“继续”
**注意,不要点击开始安装,这里还有小小的几步 **
(1)点击安装位置
检查一下安装位置是否正确
如果没问题,点击“完成”退出就好
(2)点击“网络和主机名”
右上角打开网络,并在下方修改主机名
当你点开网络时,应该是这样的
当然,如果你不能正常连上,请按照如下操作
1.打开控制面板
2.如图操作->网络和Internet->网络和共享中心->更改适配器设置
3.点击VMware左上角编辑
4.点开虚拟网络模拟器
5.点开右下角“更改设置”
6.点左下角还原默认设置
7.看网络链接界面,等待重新分配IP,主要看VMware Network Adapter VMnet8的消失和出现
8.选中VMent8
9.在下方取消勾选DHCP,并选中“NAT模式”
10.重新分配的IP就是网关
11.切到网络连接,选中VMware Network Adapter VMnet8右键,选属性,然后选中IPV4
12.点开后选“使用下面的IP地址”上下(对应“NAT设置”)对应填好,每个人应该都是不一样的
13.点确定,应该就能ping通啦,去CentOS里在试一试?如果还是不行,其他博主的方法也可以考虑一下咧
(3)现在你一切正常,别急,打开你的hosts文件C盘->Windows->System32->drivers->etc->hosts
右键用你的Notepad++打开就好
没有?我这有
链接: https://pan.baidu.com/s/1pQkz-bCzJFLfPH2RJfF8yQ?pwd=xh55 提取码: xh55
如果链接失效,找老师同学借(抢)一个QWQ
将对应的IP写上,格式如上,然后保存
(4)点击VMware左上角编辑
点开虚拟网络模拟器
点开右下角“更改设置”
选择VMent8
在下方取消勾选DHCP
![](https://img-blog.csdnimg.cn/1dddcfec618d4502a8365c127718f2cb.png)
DHCP的作用是随机分配IP地址,也就是说可能IP地址会变,所以要关
点击“ROOT密码”
设置密码,建议别搞太难,简单密码输好后点两下完成就好
等一会,点击完成配置,重启
VMware先放着,但不要关,进去后试着输一下用户名和密码,如果显示类似这种
这里笔者一号机崩坏了QAQ,开启二号机
6.Xshell与Xftp
在Xshell运行前,我们先关一些CentOS的DNS
不然可能你的虚拟机在连接服务的时候会很慢
修改文件位置:
vi /etc/ssh/sshd_config
将“**#UseDNS yes”改为“UseDNS no” ,重启虚拟机**
OK后,就开始下Xshell和Xftp
进入官网
XSHELL - NetSarang Website
选择家庭/学校免费
填写后打开你的QQ邮箱,就会有下载链接发给你
下好后的样子
打开Xshell7
右键左侧,选新建
选择会话
将信息填入
在名称和主机填入虚拟机名字,笔者是eva2
然后弹出这个安全警告说明链接成功啦
填入你的host名
好的,next
选记住密码啊
然后会弹出这个
这个时候就在左侧右键,选择属性
像下图一样选择隧道
将X11转移关闭,点确定
由于在VMware里面设置了静态网卡(青字中红字步骤),可以去设置一下,这样子就不用在Xshell中弄了
7.Xshell中设置主机名和关闭防火墙
设置虚拟机用户名
上编辑hosts文件,输入
vi /etc/hosts
然后用notepad++打开hosts文件复制一下
写在相应位置
在虚拟机上关闭防火墙
systemctl status firewalld.service
查看防火墙状态。执行后如果看到绿色字样标注的“active(running)”,说明防火墙是开启状态。看到disavtive(dead)的字样,说明防火墙已经关闭。
临时关闭运行的防火墙
systemctl stop firewalld.service
禁止防火墙服务器,可以将防火墙永久关闭
systemctl disable firewalld.service
重启CentOS系统,使设置生效
reboot
看看效果
reboot后,要稍等VMware里重连后才能重新连接
8.配置SSH免密登录
在hadp01上执行
ssh-keygen -t rsa
生成公私钥
按三次回车键,执行完毕后,将在用户主目录下生成.ssh文件夹,其中包括公私钥文件。
执行命令
ssh-copy-id -i ~/.ssh/id_rsa.pub hadp01
把公钥发送到服务器端 执行过程中提示时,输入yes
执行过程中根据提示输入root用户密码(密码输入时没有显示)
ok啦,下一步吧
9.传输jdk和hadoop的安装文件
链接: https://pan.baidu.com/s/1hl594UxKGKfjPeoHt6mdWg?pwd=22bf 提取码: 22bf
链接失效,就去找你同学要一份,因为:
1.下载速度慢
2.官网现在界面和以前不一样(反正我这个大呆瓜没找到)
新版打咩,最好要老一点的版本。
笔者用的是
传输之前,先在Xshell里给传输点创建目录
指令
mkdir -p /home/root/apps
创建好应该没有显示
然后我们切换到home下的root文件
cd /home/root
点击Xshell上方的图标
会自动显示并连接,左边如图,右边应该是桌面
选中文件
点击上方“向右传输”
完成啦
完成后,就可以关闭Xftp
我们在Xshell里输入指令查看
ll
一定看好了文件名哈
待会别写错了
笔者后面就按照我这里的文件开始写了
先解压jdk
tar -xzvf jdk-8u201-linux-x64..gz -C apps
然后弹出一大堆东西就说明成功了
解压Hadoop
tar -xzvf hadoop-2.9.2.tar.gz -C apps
同上
完成
删除一下文档信息,减少占用的空间
命令
cd /home/root/apps/hadoop-2.9.2/share
删除命令
rm -rf doc
完成
10.对于JDK文件的编辑
开始编辑profile文件(别作死自己输,一旦错误,就只能重来)
vi /etc/profile
到最下面
在这里加上几行命令
export JAVA_HOME=/home/root/apps/jdk1.8.0_201
export HADOOP_HOME=/home/root/apps/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
一定要在这里cv!!!
输入命令让/etc/profile文件修改后立即生效
source /etc/profile
测试一下,输入一下命令
java -version
显示上图就OK了
11.Hadoop多个文件的配置
首先进入到Hadoop文件的文件夹,输入
cd ..
再输入
cd etc/hadoop/
查看一下
再换到以下命令看一下
ls
1.编辑core-site.xml文件
输入
vi core-site.xml
在里面找到最后的这一栏
添加 注意,中间的eva2一定要改成你的主机名
<property>
<name>fs.defaultFS</name>
<value>hdfs://eva2:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/root/apps/hadoop-2.9.2/tmp</value>
</property>
改动原理:
fs.defaultFS:1)指定hadoop的文件系统为hdfs,默认值为file:///,表示本地文件系统,2)指定hdfs的namenode节点为哪台机器
hadoop.tmp.dir:默认值为/tmp/hadoop-${user.name},当CentOS系统重启后,由于/tmp目录内容会被清除,可能导致Hadoop无法正常启动,建议在第一次安装时修改默认值。当Hadoop系统运行后再修改,需要重新格式化namenode才有效。
2.编辑hdfs-site.xml文件
vi hdfs-site.xml
想上面一样加入以下内容: 中间的eva2一定要改成你的主机名
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/root/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>eva2:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>eva2:50091</value>
</property>
dfs.replication:指定文件副本数量,默认值为3,伪分布式方式改为1
dfs.name.dir:指定namenode软件存储元数据的本地目录
dfs.data.dir:指定datanode软件存放文件块的本地目录
dfs.namenode.secondary.http-address:指定SecondaryNamenode的地址,在伪分布式环境下与Namenode在同一台机器
3.编辑mapred-site.xml文件
根据模板创建mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
开始编辑
vi mapred-site.xml
老地方加入
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
保存退出
mapreduce.framework.name:指定资源管理器,默认值是local,应该修改为yarn
4.编辑yarn-site.xml文件
vi yarn-site.xml
老地方:中间的eva2一定要改成你的主机名
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>eva2</value>
</property>
全做完后都可以打开再检查一下
5.编辑hadoop-env.sh文件
vi hadoop-env.sh
将默认的
export JAVA_HOME=${JAVA_HOME}
替换为
export JAVA_HOME=/home/root/apps/jdk1.8.0_201
6.编辑yarn-env.sh文件
vi yarn-env.sh
将默认的
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
替换为
export JAVA_HOME=/home/root/apps/jdk1.8.0_201
记得删除这一行最前面的#
完成后
7.格式化namenode节点
输入
hdfs namenode -format
出现如下,即可认为成功
has been successfully formatted.
上图已经勾出来了
12.启动Hadoop集群
输入两次
cd ..
再输入
cd sbin
输入文件查看命令
ll
再输入以下命令进行简略查看
ls
输入
./start-all.sh
输入yes
配置完成,看看效果,输入
jps
包括jps在内应该有六个进程
13.运行Hadoop示例程序
切换到样例在的目录
cd /home/root/apps/hadoop-2.9.2/share/hadoop/mapreduce
选择一个计算圆周率值的程序运行,命令如下
hadoop jar hadoop-mapreduce-examples-2.9.2.jar pi 10 1000
等待程序运行
运行结束啦
这样就说明我们hadoop环境应该没有问题了
14.停止Hadoop
输入
cd ..
再输入
cd ..\
下一行按Ctrl+c,如下图
再按下图输入
cd ..
cd ..
cd sbin
输入
./stop-all.sh
等待一会后,输入jps
如果只有一个jps,就说明停止了
1.CentOS 关机,输入命令:
init 0
2.关闭Xshell
3.关闭VMware workstation
NOW,ALL DOWN
如果你觉得写的还不错的话,不妨留下你的关注,赞,评论
版权归原作者 白兰地兑豆瓣酱 所有, 如有侵权,请联系我们删除。