LXC系列教程之六Hadoop单点分散架构.docx
- 文档编号:9179267
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:12
- 大小:746.73KB
LXC系列教程之六Hadoop单点分散架构.docx
《LXC系列教程之六Hadoop单点分散架构.docx》由会员分享,可在线阅读,更多相关《LXC系列教程之六Hadoop单点分散架构.docx(12页珍藏版)》请在冰点文库上搜索。
LXC系列教程之六Hadoop单点分散架构
建立Hadoop单点分散架构
由〝制作Hadoop虚拟模版计算机〞一文,我们已经预先制作了Hadoop系统所需要的模版
(虚拟)计算机,这边,我们就利用此模版计算机,从建立单点分散架构,来开始了解Hadoop。
复制模版(虚拟)计算机
由于模版计算机后续还需要使用,所以必须保留其原貌,这边就利用LXC复制(Clone)功能来另外产生一台LXC虚拟计算机:
$sudolxc-clone-ous1204-nNN(NN为新复制LXC虚拟计算机的计算机名称)
模版计算机复制完成之后,使用〝sudolxc-start-nNN〞来启动新复制的LXC虚拟计算机,而开机登入之后,要先确认/opt内是否存在〝jdk〞与〝hadoop〞这二个目录,如下图:
确认java及hadoop这二个命令可正常执行,如下图:
设定节点计算机为固定IP
由于在Hadoop的架构之内,网络组态的设定是非常重要的,为确保计算机联机与数据传递的稳定性与一致性,所以必须将各个节点计算机的IP地址设成固定,以确保每次数据传递与资讯沟通都可以顺利连结。
利用任一编辑器开启NN(虚拟)计算机内的网络设定组态文件:
$sudovim/etc/network/interface
档案开启之后,删除或批注原先eth0的设定值,并输入以下信息:
autoeth0
ifaceeth0inetstatic
address10.0.3.10
netmask255.255.255.0
gateway10.0.3.1
dns-nameservers168.95.1.1
其中,〝10.0.3.10〞设定为NN的IP地址,这个可以自定,而gateway则是LXC虚拟系统内部网络所设定的gateway,可不要写错了,至于DNSServer的IP地址,则因为笔者测试环境并没有架设DNSServer,所以就借用中华电信的DNSServer(168.95.1.1)。
确认异动修改的信息没有问题之后,就可以存盘退出,接着再使用以下的指令,来重新启动网络,让新的网络组态文件可以套用:
$sudo/etc/init.d/networkingrestart
网络重新启动之后,记得还要利用〝ifconfigeth0〞来确认设定值是否正确套用,还有ping
一下网址,以确认dns-nameservers的设定值是否正确,可以正确解析网址:
确认网络联机都没问题之后,就完成了网络组态的相关设定。
设定SSH自动登入连接
Hadoop若要在各个节点内执行Hadoop相关的指令,则需要透过SSH联机的方式,来登入所有的运算节点,因此,为了让所有节点之间可以更直接与快速的登入,以及避免不必要的困扰,所以必须将SSH的联机模式设定为自动登入,即使是单一节点也不例外。
在家目录内(NN,LXC虚拟计算机),输入以下指令来产生SSH联机密钥(凭证):
$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
密钥产生之后,接着要将密钥复制到家目录中的.ssh目录并更名为〝authorized_keys〞:
$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
这样就完成了SSH自动联机的设定,不过,这样的设定并不算完整,因为实际上计算机间在相互联机的时候,往往不见得都是透过IP地址,而是使用计算机名称,且如果没有自己架设的DNSServer,且Hadoop各个节点都是使用私有IP的话,直接透过计算机名称来进行SSH的联机,会发生因为无法名称解析(IP与计算机名称的对应)而联机失败的状况。
为了避免上述的情况,所以我们必须将IP与计算机名称的对应信息,写入〝/etc/hosts〞档案内,且实际上,Linux系统在进行名称解析的时候,也是优先查询此档案喔,只要利用编辑器开启/etc/hosts的档案,修改成如下图的内容即可:
修改完成就可以存盘退出,接着就利用以下指令,来测试SSH是否可以自动联机登入:
$sshNN
若前面的设定都没有问题,就会看到如下图的图示:
因为这是第一次登入,所以会提示联机的询问讯息,且只会出现在第一次,输入〝yes〞之后,按下Enter键就可以成功登入系统了,尔后再次利用SSH联机,就不需要再输入密码了。
设定Hadoop单点分散架构
搞定SSH自动登入的设定之后,接下来就要针对Hadoop配置文件进行相关数据的设定,而在设定之前,首先利用以下指令,在家目录下建立一个供Hadoop(HDFS)使用的文件夹:
$mkdirdata(data为文件夹名称,此名称可以自定)接下来的设定步骤如下:
●设定NameNode的联机信息与Hadoop档案储存的目录利用任一编辑器开启以下档案:
$sudovim/opt/hadoop/conf/core-site.xml
档案开启之后,在「
//NN:
9000
其中,「hdfs:
//NN:
9000」就是NameNode的联机信息,「NN」就是NameNode这一台电脑的计算机名称,而「/home/ubuntu/data」就是Hadoop档案储存目录的实际路径,也就是刚刚我们在家目录内建立的「data」文件夹。
●配置文件案数据区块的Replication数量开启以下档案,并在「
$sudovim/opt/hadoop/conf/hdfs-site.xml
而「1」表示的是资料复制(或备份,Replication)的数量(份数),那因为我们只有架设单一节点,所以这边填入的数值就只有「1」。
●设定Jobtracker的联机位置开启以下档案,并在「
$sudovim/opt/hadoop/conf/mapred-site.xml
9001
而「NN:
9001」就是Jobtracker的联机信息,「NN」则是担任Jobtracker的计算机名称,但因为我们只有建立一台节点,所以此节点也会扮演Jobtracker的角色。
●设定SecondaryNameNode
开启以下档案,并将原本的「localhost」修改为「NN」:
$sudovim/opt/hadoop/conf/masters
这个配置文件主要是在指定哪一台计算机为secondarynamenode,但因为这边只有建立单一节点,所以secondarynamenode也就是NN本身(localhost),且因为只有单一节点,所以此配置文件即使没有修改也没有关系,但为了明确表示执行secondarynamenode的身分,修改成计算机名称,也有助于辨识。
●设定DataNode
开启以下档案,并将原本的「localhost」修改为「NN」:
$sudovim/opt/hadoop/conf/slaves
这个配置文件主要是在指定哪一台计算机为DataNode,而因为只有单一节点,所以DataNode就是NN本身这一台计算机,与设定secondarynamenode一样,因为只有单一节点,所以即使不修改也没有关系。
●设定Hadoop环境变量
开启以下档案,并找到「exportJAVA_HOME=.....」的字段,去除原本标记的符号(#),并设定JAVA_HOME的实际路径:
$sudovim/opt/hadoop/conf/hadoop-env.sh
第六章:
Hadoop单点分散架构6-
10
此配置文件主要是要设定JDK的实际路径,虽然在前面的步骤中,我们有将JAVA_HOME的设定值写入系统的PATH内,但在Hadoop实际的运作中,却是会去读取「hadoop-env.sh」档案内关于Java的设定值,所以这是必须要修改的档案,若没有修改JDK的实际路径,则后续执行Hadoop时,会有错误发生。
●设定(新增)HadoopLog档案的储存位置
Hadoop在执行的时候,需要有位置来存放Log档案,但实际上存放的目录却不存在,所以我们需要手动来产生存放Log档案的目录区,而此目录区要建立在Hadoop的文件夹内,也就是「/opt/hadoop」的路径内,并且目录区(文件夹)名称要指定为「logs」:
$sudomkdir/opt/hadoop/logs
目录区建立之后,还需要利用以下指令,来将此目录区的档案权限设定为「777」:
$sudochmod777/opt/hadoop/logs
启动、执行与检测Hadoop
完成以上的所有设定之后,单一节点Hadoop的环境设定就算告一段落,接下来我们就要来启动Hadoop,不过,在启动之前,需要将Hadoop档案储存的目录进行格式化为「HDFS」的文件系统之后,Hadoop才能使用,而在前面的步骤中,我们已经预先在家目录底下,预
第六章:
Hadoop单点分散架构6-11
先建立了名称为「data」的文件夹,要提供给Hadoop来使用,所以,先在终端机内,利用
〝cd〞的指令,切换路径到家目录底下,并输入以下指令,来格式化文件夹:
$hadoopnamenode-format
输入完成,按下Enter键之后,若没有任何问题,格式化成功之后,应该会看到如下图的讯息:
这样就完成格式化的动作,且此指令执行完成之后,还会将NameNode给关闭,不过,实际上,因为我们并还没有实际启动Hadoop的服务,所以没有影响。
格式化完成之后,可以利用以下指令来查看格式化之后的档案结构:
$treedata
(若系统提示没有tree的指令,请利用〝sudoapt-getinstalltree〞来安装)
接下来,利用以下指令就可以来启动Hadoop:
$start-all.sh
若没有看到任何的错误讯息,就表示Hadoop已经启动执行了,接着再使用以下的指令,来查看启动了哪些HadoopDeamon:
$jps
这边就可以清楚看到,由于我们只有建立单一节点的Hadoop,因此所有的Deamon都会落在NN这一台计算机身上。
而要停止Hadoop也很简单,只需要使用以下的指令即可:
$stop-all.sh
指令执行之后,就会完全停止所有Hadoop的Deamon。
以上,就是建立单一节点Hadoop的所有流程与步骤,只要透过预先建立模版主机的方式,就可以轻松的利用LXC虚拟系统来架设Hadoop了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LXC 系列 教程 Hadoop 单点 分散 架构