版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop集群搭建操作手册
--环境准备
1.在VituralBox中选择LinuxUbuntu64位操作系统作为系统环境。基于原生Hadoop2,
在Hadoop260(stable)版本下验证通过,可适合任何Hadoop2.x.y版本。(在这里我们使用
hadoop2.7.1的版本进行搭建)
2.使用节点作为集群环境(这里我们使用三个节点):
一个为hadoopOl(Master)节点,局域网IP为01;
一个为hadoop02(Slavel)节点,局域网IP为02;
一个为hadoop03(Slave2)节点,局域网IP为03
二.虚拟机准备工作
1.在虚拟机hadoopOl节点上配置hadoop用户,安装SSHserver(无密码登陆),安装Java
环境,安装hadoop并完成配置内容。
2.在其他节点(hadoop02,hadoop03)上也配置好hadoop用户,安装SSHserver,安装Java
环境,然后将hadoopOl节点上的/usr/local/hadoop目录复制到其他
(hadoop02,hadoop03)节点上。
我们可以完成一个虚拟机hadoopOl的这四项配置,选择复制作为hadoop02,hadoop03
节点,这样节省大量时间。
田
3虹⑸…CtrUS
■WMOrtrUnWAIBCOC•I'iiWLinuxUbuntu64代fMMI条悚f
中整iJXM)一,0口出。)的八卜验证目H,可必介任何F
号出力5*1。云dWttiBUg.的版本进行整建)
X・啊R)…
h«m(u)1点作为蛆肝环境甲我们使用二个节初:
kadoop01(Mastcr>黄山同岐”IP为192.16&
♦启动3
i«doop02(SUvei)打点.川械网IP为192.168.!
UU土的印
»adoop03(Slave2)方点.网域网IP为192.168.!
©as(R)
❷遮出(c)
♦的状Ct。)…以机准备工作
启O5(L>...
CtrUL
OracleVMVirtuaiBox9时⑺
«W)(H)通在费AE・外正示(h)
二创"而快建万灿c)
曲»*(S)
19索任)Ctrl"
hadtopOl
捧他承欢:Ubmtu(M-bit)
■杀次
"已关闲
内存大小:2041”
处理ZL2
£动跳序:族九5r娱盒
♦件加速:VT-:/AJU>-V.我喜分FAB/MX,
KVI半虚XI化
■舁示
显在大小:16IB
且卡控制曰:VBSVGA
总穆事面”号a:已禁用
三.网络配置准备
搭建集群的网络标准的需求为:
(1)虚拟机可以访问外网:
(2)虚拟机之间可以互相访问;
(3)虚拟机与宿主机(主机)可以互相访问。
解决方案为:设置3个网卡
1.在VirtualBox中一管理一主机网络管理器,创建并手动配置网卡,例如ip地址为:
(网络掩码)netmask,选择关闭DHCP
屯OracleVMVirtualBoxU理8S□
*9(£)控制(M)喏助坦)
夕全局爆定(E)...Ctrl+G□◎¥。
3导入虚拟电摘①.Ctrl*l?J8(»)设贸(S)清除信动(T)
⑸导出虚拟电脑⑹…Ctrl+E且常炊
Q新建云虚拟电脑⑻…
名秽:hadoopOl
操作系统:Ubwntu(64-bit)
画虚拟介质mg..Ctd+D
自主机网络*理flR(H)Ctd+H4_©系统
V.网络…内15大小:2048IB
处超N:2
❺♦SMWQd)...启动步序:软驰,光时,曝黄
馒件加速:VT-x/AIP-7.嵌套分内,PAE/10C.
KVI半鹿拟化
@退出凶Ctrl+Q
H显示
显有大小:16IB
显卡拄制N:VMSVGA
近程桌面服务器:己共用
累俘:已禁用
y主机网络管理事□X
网SSZ)
不选
网卡•“)DHCP服夯昌(Q)
O自动配H网卡⑷
⑥手动配JS网卡(1)
IPv4地址(D:[
IPv4网络椅码(1):|258,235.23L0
IPv6地址(E):fe80::75db:e56<:b9f5:d»d9
IIPv(
■6网络跑科长度(P:64
应用关闭
2.在虚拟机网络设置中,增加3个网卡:
网卡一:仅主机(host-only)网络,选择名称:virtualbox全局host-only网卡名称(主机虚
拟网卡)
(QhadoopOl-设置
常规网络
系统网卡2网卡3~i
启国EB络其稔
0连接方式Q)仅主机(Host~Only)网络•]
存储不要选错
界面名称(E):VirtiulBoxHost-OnlyEthorrwtAdaptorJ
;六音v高级©
控制芯片⑴:lintelPRO/1000IT京面(82540EI)刁
网络
海杂澳式〈0:I拒融,1
令
□
£IAC地址(I):08002*93705
臣
USBiSfi□接入网线(0
口
第口转发®
共享文件夹
0KCancel
网卡二:内部网络网卡,名称默认
网卡1网卡2网卡3对卡1
启用同牯连接(I)
连授方式Q):西勇钝-
即地野攒(”T)
界面名称(E):3
v高线(④
下主机(HstYhly)网络
控制芯片(D:
淮余•式(£):CloudIfotvork(EXPERIIEITTAL]
今■…:*国
F
□USBg0接入网线©
□知将发(£)
用户界面
OKCancel
网卡三:NAT网卡,名称默认
3.启动虚拟机系统后,增加三网卡设置:以ubuntu为例,修改以下三个文件
/etc/network/interfaces
/etc/hosts
/etc/hostname
修改过程
1./etc/network/interfaces
X一口终端文件(F)编辑(E)查看(V)搜索(S)终端(T)帮助(H)
#interfaces(S)fileusedbyifup(8)andifdown(8)
autoIo
Ifaceloinetloopback
autoenp0s3
ifaceenp0s3inetstatic
address01
netmask
autoenp0s8
Ifaceenp0s8inetstatic
addressle.o.i.iei
netmask
autoenp0s9
ifaceenp0s9inetdhcp
ttautoenp0s3
♦Ifaceenp0s3inetstatic
address01
tfnetmask
^gateway53
1,1全部
可以通过
wget/interfaces
sudocpinterfaces/etc/network/interfaces覆盖填写
2./etc/hostname文件内谷如下
hadoopOl
3./etc/hosts文件内容如下
localhost
01hadoopOl
02hadoop02
曲2.168.56.103hadoop03
可以通过
wget/hosts
sudocphosts/etc/hosts覆盖填写
生效此网络配置后复制hadoopOl作为hadoop02,hadoop03,然后修改
/etc/network/interfaces中的address改为对应的IP地址
/etc/hostname中的用户名改为对应修改
4.在虚拟机hadoopOl上,做如下操作
l).ping(主机)测试与主机间的网络是否互通
#如果不能ping通,查看主机是否打开了防火墙,关闭防火墙尝试ping通
2).ping测试与互联网间的网络是否互通
3).ping02测试与虚拟机hadoop02,hadoop03间的网络是否互通
终端文件(F)编相(E)查看(V)搜索(S)终端(T)帮助(H)
hadoop@hadoop01:pinghadoopOZ-c3
PINGhadoopOZ(02)56(84)bytesofdata.
64bytesfromhadoopez(02):tcmp_seq=ittl=64ttne=i.29ms
64bytesfromhadoop02(02):icmp_seq=2ttl=64tine=0.774ms
64bytesfromhadoop82(02):tcmp_seq=3ttl=64ttne=0.796ms
—hadoopOZpingstatistics—
3packetstransmitted,3received,0%packetloss,time2001ms
rttnin/avg/nax/ndev=6.774/0.953/1.291/0.241ms
hadoop@hadoop01:~$pinghadoop03-c3
PINGhadoop03(03)56(84)bytesofdata.
64bytesfromhadoop63(63):icmp_seq=lttl=64tine=1.58ms
64bytesfromhadoop63(03):tcmp_seq=2ttl=64tine=0.437ms
64bytesfromhadoop03(03):lcmp_seq=3ttl=64ttne=0.814ms
—hadoop03pingstatistics—
3packetstransmitted,3received,0%packetloss,time2001ms
rttmin/avg/max/mdev=6.437/0.943/1.580/0.476ms
hadoop@hadoop01:~$
四.SSH无密码登陆节点
SSH无密码登录可以让hadoopOl节点可以无密码SSH登陆到其他各个节点上。
1.首先生成hadoopOl节点的公匙,在hadoopOl节点的终端中执行:
$mkdir~/.ssh#如果不存在该文件夹需先创建,若已存在则忽略
$cat~/id_rsa.pub»~/.ssh/authorized_keys
$rm-/id_rsa.pub#用完就可以删掉了
Shell命令
$cd~/.ssh
$rm./id_rsa*
$ssh-keygen-trsa
2.让hadoopOl节点需能无密码SSH本机,在hadoopOl节点上执行:
$cat./id_rsa.pub»./authorized_keys
Shen命令劭</>
$cat./id_rsa.pub>>./authorized_keys
3.完成后可执行sshhadoopOl验证一下(可能需要输入yes,成功后执行exit返回原来
的终端)o接着在hadoopOl节点将上公匙传输到hadoop02节点:
$scp~/.ssh/id_rsa.pubhadoop@hadoop02:/home/hadoop/
adoop@hadoop01:~$scp~/.ssh/id_rsa.pubhadoop@hddoop02:/home/hadoop/
scp是securecopy的简写,用于在Linux下进行远程拷贝文件,类似于cp命令,不过cp
只能在本机中拷贝。执行scp时会要求输入hadoop02上hadoop用户的密码(hadoop),
输入完成后会提示传输完毕。
hadoop@hadoop01:~$scp-/.ssh/id_rsa.pubhadoop@hadoop02:/home/hadoop/
td_rsa.pub-160%3970.4KB/S00:00
4.接着在hadoop02节点上,将ssh公匙加入授权:
$mkdir~/.ssh#如果不存在该文件夹需先创建,若已存在则忽略
$cat~/id_rsa.pub»~/.ssh/authorized_keys
$rm~/id_rsa.pub#用完就可以删掉了
Shell❽令
$mkdir~/.ssh
$cat*/id_rsa.pub>>-I.ssh/authorized_keys
$rm**/id_rsa.pub#
同理,执行将hadoopOl公匙传输到hadoop03节点、在hadoop03节点上加入授权这两
步。
最后,这样就可以在hadoopOl节点上就可以无密码SSH到hadoop02,hadoop03节点
了。
hadoopdhadoopei:sshhadoopOZ
WelcometoUDuntu16.04LTS(CNU/Ltnux4.4.0-21-genertcx86_64)
*Documentation:/
853个可升级软件包。
571个安全更新。
Newrelease'18.04.SLTS'available.
Run'do-release-upgrade'toupgradetoit.
Lastl产…小挎耀屏标割用doopOZ
亍exit返回hadoopOl)____________
五.配置PATH变量
如果在之前单机伪分布式配置中,没有配置将Hadoop安装目录加入PATH变量,需要在
hadoopOl节点上进行配置(如果配置过了就进行下一步)。首先执行vim~/.bashrc加
入一行:
exportPATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
保存后执行source~/.bashrc使配置生效。
六.配置集群/分布式环境
集群/分布式模式需要修改/usr/lccal/hadoop/etc/hadoop中的5个配置文件,更多设置项可
点击查看官方说明,这里仅设置了正常启动所必须的设置项(切记不要改错):slaves、
core-site.xmkhdfs-site.xmkmapred-site.xmKyarn-site.xml(>
1.文件slaves,将作为DataNode的主机名写入该文件,每行一个,默认为localhost,所以
在伪分布式配置时,节点即作为NameNode也作为DataNodeo分布式配置可以保留
localhost,也可以删掉,让hadoopOl节点仅作为NameNode使用。
本教程让hadoopOl节点仅作为NameNode使用,因此将文件中原来的localhost删除,
只添加两行内容:
hadoop02hadoop03c
2.文件core-site.xml改为下面的配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abaseforothertemporarydirectories.</description>
</property>
</configuration>
3.文件hdfs-site.xml,dfs.replication一般设为3,但我们只有两个hadoop节点,所以
dfs.replication的值还是设为2:
<configuration>
<property>
<name>node.secondary.http-address</name>
<value>hadoop01:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
4.文件mapred-site.xml(可能需要先重命名,默认文件名为maprec-site.xml.template),
然后配置修改如下:
<configuration>
<property>
<name></name>
<value>yarn</value>
</property>
<property>
<name>mapredjce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<property>
<name>mapredjce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
</configuration>
5.文件yarn-site.xml:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置好后,将hadoopOl上的/usr/local/Hadoop文件夹复制到各个节点上。因为之前有跑
过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在hadoopOl节点上
执行:
$cd/usr/local
$sudorm-r./hadoop/tmp#删除Hadoop临时文件
$sudorm-r./hadoop/logs/*#删除日志文件
$tar-zcf~/hadoop.master.tar.gz./hadoop#先压缩再复制
$cd~
$scp./hadoop.master.tar.gzhadoop02:/home/hadoop
在hadoop02节点上执行:
$sudorm-r/usr/local/hadoop#删掉I口的(如果存在)
$sudotar-zxf^/hadoop.hadoopOl.tar.gz-C/usr/local
$sudochown-Rhadoop/usr/local/hadoop
同样,如果有其他(hadoop03)节点,也要执行将hadoop.hadoop01.tar.gz传输到hadoop03
节点、在hadoop03节点解压文件的操作。
首次启动需要先在hadoopOl节点执行NameNode的格式化:
Shell命令噩
$hdfsnamenode-format
接着可以启动hadoop了,启动需要在hadoopOl节点上进行(在/jsr/local/hadoop路径
下):
$./sbin/start-dfs.sh
$./sbin/start-yarn.sh
$./sbin/mr-jobhistory-daemon.shstarthistoryserver
hadoopghadoopOl:/usr/local/hadoop$./sbln7starE-dfs.sh
Startingnamenodeson[hadoopOl](一
hadoopGl:startingnanenode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-namenode
-hadoopOl.out
hadoop63:startingdatanode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-datanode
-hadoop03.out
hadoop02:startingdatanode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-datanode
•hadoop02.out
Startingsecondarynanenodes[hadoopOl]
hadoopOl:startingsecondarynamenode,loggingto/usr/local/hadoop/logs/hadoop-hadoop
-secondarynamenode-hadoopei.outt_____________________
hadoop@hadoop01:/usr/local/hadoop$L/sbin/start-yarn.sh
startingyarndaemons
startingresourcemanager,loggingto/usr/local/hadoop/logs/yarn-hadoop-resourcemanag
er-hadoopOl.out
hadoop62:startingnodemanager,loggingto/usr/local/hadoop/logs/yarn-hadoop-nodenan
ager-hadoop62.out
hadoop03:startingnodemanager,loggingto/usr/local/hadoop/logs/yarn-hadoop-nodeman
ager-hadoop63.out
hadoopQhadoopOl:/usr/locaL/hadoop$I./SDin/nr-jODnistory-aaenon.snTtarxnvsxoryserver
startinghtstoryserver,loggingto/usr/local/hadoop/logs/mapred-hadoop-htstoryserver
最后可以通过命令jps可以查看各个节点所启动的进程。正确的话,在hadoopOl节点上可
以看到NameNode、ResourceMarager^SecondrryNameNode、JobHistoryServer进程,如下
图所示:
hadoop@hadoop61:/usr/local/hadoop$jps
3642Jps
2918NameNode
3162SecondaryNameNode
3266ResourceManager
3607JobHistoryServer
在hadoop02,hadoop03节点可以看到DataNode和NodeManager进程,如下图所示:
hadoop@hadoop02:~$jpshadoop@hadoop63:jps
22875DataNode23850Jps
24015Jps22798NodeManager
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论