Win10平台下搭建hadoop分布式系统byfim.docx

上传人:b****3 文档编号:4865369 上传时间:2022-12-11 格式:DOCX 页数:12 大小:279.79KB
下载 相关 举报
Win10平台下搭建hadoop分布式系统byfim.docx_第1页
第1页 / 共12页
Win10平台下搭建hadoop分布式系统byfim.docx_第2页
第2页 / 共12页
Win10平台下搭建hadoop分布式系统byfim.docx_第3页
第3页 / 共12页
Win10平台下搭建hadoop分布式系统byfim.docx_第4页
第4页 / 共12页
Win10平台下搭建hadoop分布式系统byfim.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Win10平台下搭建hadoop分布式系统byfim.docx

《Win10平台下搭建hadoop分布式系统byfim.docx》由会员分享,可在线阅读,更多相关《Win10平台下搭建hadoop分布式系统byfim.docx(12页珍藏版)》请在冰豆网上搜索。

Win10平台下搭建hadoop分布式系统byfim.docx

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

hadoop.tmp.dir

/home/fim/hdfs/hadooptmp

--缓存路径-->

fs.default.name

hdfs:

//f1:

9000

--namenode主机名/ip-->

3)修改hdfs-site.xml

dfs.name.dir

/home/fim/hdfs/name

--NN所使用的元数据保存-->

dfs.data.dir

/home/fim/hdfs/data

--真正的datanode数据保存路径-->

dfs.replication

2

--文件备份数量-->

4)修改mapred-site.xml

mapred.job.tracker

h1:

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用户名:

所属组目录

(注:

可编辑下载,若有不当之处,请指正,谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1