Win10平台下搭建hadoop分布式系统byfim.docx
- 文档编号:4865369
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:12
- 大小:279.79KB
Win10平台下搭建hadoop分布式系统byfim.docx
《Win10平台下搭建hadoop分布式系统byfim.docx》由会员分享,可在线阅读,更多相关《Win10平台下搭建hadoop分布式系统byfim.docx(12页珍藏版)》请在冰豆网上搜索。
Win10平台下搭建hadoop分布式系统byfim
Win10平台下搭建hadoop分布式系统
1、安装OracleVMVirtualBox
2、在VirtualBox虚拟中添加3个虚拟主机,分别命令为Linux1,Linux2,Linux3
注:
我们建的虚拟主机都是Ubuntu版本的Linux主机
3、在设置>存储>虚拟光驱中添加Ubuntu镜像
注:
如果没有虚拟光驱,可以自己添加一个留空的虚拟光驱,如下图:
4、虚拟机网络设置
1)在新建虚拟电脑的时候,默认只设置了网卡1,如下图:
注:
网络地址转换(NAT)的时候,如果主机插了网线,虚拟机可以正常上网.但是如果虚拟机中有多个虚拟电脑,则它们的ip都相同,格式为:
10.0.x.x
2)如果要装hadoop集群的话,我们希望每个节点都有一个私有ip,以实现他们的互联
3)因此,我们可以给虚拟主机添加一个网卡2,此网卡连接方式为Host-Only,这种模式下,每个虚拟主机都会分配一个独立的ip,如下:
注:
仅主机(Host-Only)适配器这种方式会给每个虚拟电脑分配一个独立ip,这个ip在主机的VirtualBoxHost-OnlyNetwork的ip网段内.
4)我搭建的分布式集群式在win10平台下进行的,由于VirtualBox不兼容win10,在安装VirtualBox的时候不会在主机中创建Host-Only连接,换了几个版本的BirtualBox,有的能创建,但是Host-Only方式依然找不到界面名称。
因为我们网卡2设置为Nat方式。
如下介绍。
5)如何配置一个Nat网络。
1.在VirtualBox主界面>管理>全局设定>网络>Nat网络>添加一个Nat网络
2.在虚拟主机设置>网络>网卡2中的连接方式选则Nat网络,界面名称选择刚才建立的Nat网络。
注:
1/3台虚拟主机的网卡2的界面名称都必须选同一个Nat网络。
2/如果系统中本来存在Nat网络,可以不重建,每个虚拟主机选则同一个即可。
截图如下:
6)这样的网络设置,可以保证虚拟机既可以上网,又有私有ip.
5、启动虚拟主机,安装Ubuntu操作系统
注:
每台主机的姓名要相同,计算机名必须不同。
我们这里计算机名取f1,f2,f3
6、耐心等待Ubuntu操作系统安装完成!
!
!
7、虚拟主机和主机之间实现双向拖放和共享粘贴板以及文件夹。
(非必需步骤)
1)导致这些问题的原因是Linux中没有安装增强功能
2)安装增强功能,点击->设备>>安装增强功能
3)如果点击安装增强功能提示没有虚拟光驱,则在VirtualBox中添加一个留空的虚拟光驱即可.如下图:
8、在每个Ubuntu系统中安装jdk
1)官网下载后是一个jdk-8u51-linux-x64.tar.gz的压缩包
2)sudotar-zxvfjdk-8u51-linux-x64.tar.gz解压得到jdk1.8.0_51文件夹
3)执行命令sudogedit/etc/profile,打开etc下的profile文件,在文件最后添加环境变量。
exportJAVA_HOME=/usr/java/jdk1.8.0_51
exportPATH=$JAVA_HOME/bin:
$PATH
exportCLASSPATH=.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar
4)在终端输入命令sourceprofile重新加载环境变量,输入java命令测试安装结果,如果不行请重启电脑再试。
9、配置hosts文件
1)在每台虚拟主机的终端输入ifconfig命令查看本机ip
2)由于我是在win10平台,用的是Nat网络,所以每台主机分配的ip为:
10.0.2.4;10.0.2.5;10.0.2.6.
3)执行sudogedit/etc/hosts命令打开hosts文件,在host文件中添加每台主机名以及它们的ip,如下图红框:
注:
3台虚拟主机都得配置hosts文件。
10、建立用户组、新用户(前面按照要求安装Ubuntu的,这步可省略)
1)如果前面在安装Ubuntu的时候,3台虚拟主机的用户名都相同并且主机名都不相同,那么此步骤可以省略,我们可以直接使用当前的用户和主机。
2)建立用户组
sudogroupaddhadoop
3)创建用户
sudouseradd-s/bin/bash-d/home/fim-mfim-ghadoop-Gadmin
-s:
指定用户的登陆shell
-d:
指定用户主目录
-m:
如果指定的主目录不存在,则创建主目录
-g:
指定用户所属的用户组,用“,”分隔多个附加组
-G:
指定用户所属的附加组
4)如果系统报admin组不存在,那么我们需要给hadoop用户组分配权限,否则,该组用户不能执行sudo操作。
如:
给hadoop用户组赋sudo权限:
1.打开/etc/sudoers文件
2.添加%hadoopALL=(ALL)ALL
3.截图如下:
5)建议我们在安装Ubuntu的时候就建好用户名,这样省得麻烦,否则在以后的分布式搭建过程中都得切换到新建的用户名下。
11、配置ssh免密码登陆
1)Ubuntu默认只安装了openssh-client,没有安装spenssh-server。
查看进程如下图:
2)执行命令:
sudoapt-getinstallopenssh-server安装,完成后进程如下:
注:
如果安装时报错说:
openssh-server还没有可供安装的候选者,请执行sudoapt-getupdate更新apt-get。
3)生成ssh公钥和私钥
ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
注:
1/如果生成过程中报.ssh目录不存在,可以自己在~下创建该目录
2/linux中“~”表示用户目录,比如此处就表示/home/fim
4)查看.ssh目录下生成的文件
注:
id_dsa.pub就是生成的公钥
5)将公钥加入自己所认证的密钥之中
cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
注:
1/此处如果切换到.ssh目录下,也可以执行catid_dsa.pub>>authorized_keys
2/cat命令中,">>"符号表示追加,">"表示创建,千万别搞错了。
3/此处命令表示将id_dsa.pub文件内容追加到authorized_keys文件末尾
4/此处也可以用cpid_dsa.pubauthorized_keys替代,因为authorized_keys文件还没有创建,如果文件不存在,cat和cp命令都会默认创建文件,cp命令表示将文件内容拷贝到另个文件中,需注意的是会覆盖原文件内容。
注:
此处我们用的cp命令拷贝后再查看文件就多了一个authorized_keys文件
6)执行sshlocalhost命令连接本机
注:
如果报错connecttohostlocalhostport22:
Connectionrefused就是因为我们没有安装openssh-server
7)3台虚拟主机都执行上面的操作
8)将f1主机的公钥拷贝到f2,f3主机.ssh目录下,使用scp命令,s=security
scpfim@f1:
~/.ssh/id_dsa.pub~/.ssh/h1_dsa.pub
查看拷贝后目录
注:
1/此处可以用@主机名的方式访问远程主机,就是因为前面配置了hosts,否则此处要写ip,显得更加麻烦
2/访问远程主机需要输入密码,其实每次访问远程主机都需要输入一次密码,这就是我们配置ssh免密码登陆的原因。
9)将拷贝过来的文件添加到我们所认证的密钥之中
catf1_dsa.pub>>authorized_keys
10)切换到f1主机,用命令sshf2登陆f2主机,你会发现此时已经不再需要输入f2了,登陆f3也一样。
登陆之后,f1主机的命令行路径是这样
,也就是说当前用户是f2主机的fim
注:
exit命令退出远程主机。
11)在f1主机中,通过远程访问的方式,将f1的公钥拷贝过来并添加到认证密钥中。
scpfim@f1:
~/.ssh/id_dsa.pub~/.ssh/f1_dsa.pub
cat~/.ssh/f1_dsa.pub>>~/.ssh/authorized_keys
此处有点迷茫,这样理解:
这命令是为了保证NameNode能够无密码连入自己本机。
也可以说是NameNode能够无密码访问JobTracker。
其实我是不明白这操作有什么意义,因为这操作仅仅让authorized_keys多了一段同样的密钥而已。
12)自此,ssh免密码登陆就配置好了。
12、下载并解压hadoop安装包
1)将解压后的包命名为hadoop,并将其移动到/usr/java目录下
2)配置环境变量,执行sudogedit/etc/profile打开profile文件,添加下面变量,保存
exportHADOOP_HOME=/usr/java/hadoop
exportPATH=$PATH:
$HADOOP_HOME/bin
3)执行source/etc/profile加载配置文件
4)终端执行echo$HADOOP_HOME,如果输出hadoop安装路径,则表示配置成功
13、配置hadoop
1)修改hadoop-env.sh
exportJAVA_HOME=/usr/java/jdk
2)修改core-site.xml
--缓存路径-->
//f1:
9000
--namenode主机名/ip-->
3)修改hdfs-site.xml
--NN所使用的元数据保存-->
--真正的datanode数据保存路径-->
--文件备份数量-->
4)修改mapred-site.xml
9001
--主机名/ip-->
5)修改masters和slaves,在masters文件中加上namenode的主机名(ip),在slaves中加上datanode的主机名(ip)
#masters
f1
#slaves
f2
f3
14、将配置好的hadoop拷贝到各个子节点
1)将hadoop拷贝到f2节点
scp-r/usr/java/hadoopf2:
~/java/hadoop
2)将hadoop拷贝到f3节点
scp-r/usr/java/hadoopf3:
~/java/hadoop
注:
1.-r表示拷贝目录,不加-r表示拷贝的是文件
2.scp命令拷贝时,只能拷贝到用户目录下,即:
~/下
3)配置各子节点的hadoop环境变量
4)到此,我觉得我们的hadoop安装目录最好在用户目录为好。
15、将hadoop安装目录所有权限给当前用户
sudochown-Rfimhadoop
注:
-R表示向下递归,表示hadoop的所有子目录
16、格式化NameNode、启动hadoop
hadoopnamenode-format
start-all.sh
17、检验hadoop的启动情况
1)用jps命令检查hadoop启动情况
NameNode:
DataNode:
2)http:
//10.0.2.4:
50070检查是否加入了新的datanode
3)http:
//10.0.2.4:
50030检查mapreduce的运行情况
附:
一、VirtualBox共享文件夹挂载
1)创建挂载点mkdirhome/fim/software
2)挂载共享文件夹sudomount-tvboxsfBaiduSharehome/fim/software
二、change该目录包括子目录的用户(owner)
sudochown-R用户名:
所属组目录
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Win10 平台 搭建 hadoop 分布式 系统 byfim