1 / 10
文档名称:

Hoop云计算平台搭建方案.doc

格式:doc   大小:617KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Hoop云计算平台搭建方案.doc

上传人:秀英 2022/10/1 文件大小:617 KB

下载得到文件列表

Hoop云计算平台搭建方案.doc

文档介绍

文档介绍:该【Hoop云计算平台搭建方案 】是由【秀英】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【Hoop云计算平台搭建方案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Hadoop云计算平台搭建方案
一、平台搭建概述
总体思路
针对于电网企业在营销服务领域展开的大数据分析处理,搭建Hadoop云计算平台进行海量数据存储,并作深层次加工、处理,挖掘出无法简单直观便可得到的新的模式,为电力企业的决策提供指导;平台采用作为海量数据存储和分析工具,将其部署在4个物理计算机节点上,搭建Hadoop集群,其中1个节点作为master节点,其余3个作为slave节点;为了获取更好的稳定性,平台搭建在Linux系统环境下;
软件列表
软件
描述
版本
VMwareWorkstation
虚拟化软件
VMwareWorkstation08
Ubuntu
Linux操作系统
JDK
Java的软件开发工具包
开源的云计算基础框架
分布式数据存储系统
可靠协调系统
数据迁移工具
平台搭建总流程和节点信息一览表
在平台搭建前,给出实现的总流程图和节点信息一览表,从而对平台搭建过程和各节点信息有一个全局的认识,平台搭建总流程如下图所示;
创建虚拟机master,完成JDK、Hadoop等应用的安装和配置
对虚拟机master进行克隆,得到的虚拟机分别作为slave1、slave2和slave3
完成Zookeeper、HBase等其它分布式服务的部署,搭建Hadoop集群
运行并测试Hadoop集群系统
各节点信息如下表所示:
机器名
IP地址
用户名
充当角色
master
hadoop
JobTracker、Namenode
slave1
hadoop
TaskTracker、Datanode
slave2
hadoop
TaskTracker、Datanode
slave3
hadoop
TaskTracker、Datanode
二、基础平台的搭建步骤
此次大数据存储和处理平台的搭建,需要4台物理节点来部署Hadoop平台环境;我们使用虚拟机软件VMwareWorkstation创建4台虚拟机,承载平台搭建工作;另外,由于对4台虚拟机的配置大部分是相同的,所以利用VMwareWorkstation的克隆功能,可以减少部署的工作量;
安装虚拟机软件VMwareWorkstation
首先在4台PC机器上均安装虚拟化软件VMwareWorkstation,并输入相应的序列号;
在master节点上安装Linux系统Ubuntu
在设定为masterPC节点上首先安装Linux系统版本为,在安装过程中为提高后期安装软件的兼容性和稳定性,在系统语言上选择英语;创建用户名为“hadoop”的普通用户,设置统一的密码;安装完成后将系统的terminal命令窗口调出来,以便使用;
同时,为实现虚拟机的Ubuntu系统与本机的Windows系统之间方便快捷的文字复制粘贴以及物理主机系统与虚拟机系统相互拖放文件进行共享,需要安装VMareTools工具,具体操作如下:
启动虚拟机,进入Ubuntu系统,在VM菜单栏“虚拟机M”的下拉菜单点击“安装VMareToolsT”后,会弹出一个“VMareTools”文件夹,里面包含VMareTools的安装包,将该安装包拷贝到/home/hadoop目录下,输入命令进行解压安装:tarxzvf此时在/home/hadoop/目录下产生vmware-tools-distrib文件夹,进入该目录,通过在terminal终端输入相应命令,运行脚本:
cd/home/hadoop/vmware-tools-distrib$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHocal/share/',butfailed:Nosuchfileordirectory
gedit:2949:Gtk-WARNING:Attemptingtostorechangesinto`/root/.local/share/',butfailed:Failedtocreatefile'/root/.local/share/':Nosuchfileordirectory
gedit:2949:Gtk-WARNING:Attemptingtosetthepermissionsof`/root/.local/share/',butfailed:Nosuchfileordirectory
解决方法:只需直接在终端中输入命令:sudo mkdir -p /root/.local/share/ ,创建警告信息中所提示的目录即可;
若无视警告重启ubuntu后将会出现以下情况:输入密码无法进入系统,一直处于输入密码后又跳转回输入密码的界面;此时的解决方法是:在输入密码界面同时按下alt+ctrl+F2进入ubuntu命令模式,并使用root用户及对应密码登陆系统,然后键入:/usr/bin/vi/etc/profile打开etc/profile文件,找到最近在末尾加上的hadoop配置文件,按delete键删除这些行,然后键入命令:wq注意此处有冒号,不可省略保存文件;然后同时按下ctrl+alt+del重启系统即可使系统恢复正常登陆,然后按照上述方法重新配置;
目录设置
在普通用户hadoop下创建hadoop的数据存储目录若使用root用户创建上述文件夹则会因权限问题导致无法向这些文件夹中写入并读取数据,可自行选择数据存储的路径,我们选择在/home/hadoop/文件夹下创建dfs和tmp作为数据存储与交换的目录,并在dfs文件夹下创建name和data两个子文件夹;分别执行命令:
mkdir/home/hadoop/dfs/name
/description>
</property>
<property><name><value></value>
</property>
<property>
<name><value></value>
</property>
</configuration>
4配置文件,打开该文件,在文件末尾添加以下语句;
文件名
打开文件后,在其末尾添加语句:
<configuration>
<property>
<name><value>:9001</value>
</property>
<property>
<name><value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name><value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name></name>
<value>4</value>
</property>
<property>
<name><value>true</value>
</property>
</configuration>
注意:需要在中配置属性时,属性指定HDFS中文件块复制的份数,其默认值为3,当datanode节点少于3台便会报错;在一般情况下,当其属性值为3的时候,HDFS的部署策略是在本地机柜中一个节点放置一个备份,在本地机柜的不同结点再放置一个备份,然后再在另一个机柜中的一个结点放置一个备份;
5配置文件;事实上在进行配置之前,文件默认并不存在,需要首先将该目录下的文件进行复制,
并重命名为,接下来打开,添加以下语句;
文件名
打开文件后,在其末尾添加语句:
<configuration>
<property>
<name><value>yarn</value>
</property>
<property>
<name><value>:10020</value>
</property>
<property>
<name><value>:19888</value>
</property>
</configuration>
6配置文件,打开该文件,在文件末尾添加以下语句;
文件名
打开文件后,在其末尾添加语句:
</configuration>
<--SitespecificYARNconfigurationproperties-->
<property>
<name> <value>mapreduce_shuffle</value>
</property>
<property>
<name> <value></property>
<property>
<name><value>:8032</value>
</property>
<property>
<name><value>:8030</value>
</property>
<property>
<name><value>:8031</value>
</property>
<property>
<name><value>:8033</value>
</property>
<property>
<name><value>:8088</value>
</property>
</configuration>
7配置文件,打开该文件,检索“exportJAVA_HOME=/home/y/libexec/语句,在该语句下一行添加:
exportJAVA_HOME=/home/hadoop/通过对上述文件的修改,完成对Hadoop的配置;事实上,配置过程并不复杂,一般而言,除了规定的端口、IP地址、文件的存储位置外,其他配置都不是必须修改的,可以根据需要决定是采用默认配置还是自行修改;还有一点需要注意的是以上配置都被默认为最终参数,这些参数都不可以在程序中
被再次修改;
Hadoop集群的部署与各节点的通信
安装SSH服务
通过建立SSH无密码互访,可以实现Hadoop虚拟机群之间的无密码登录互访;在安装SSH服务之前,首先需要更新软件源,并保证每台机器上都安装了SSH服务器,且都能正常启动;
更新软件源命令为:sudoapt-getupdate
软件源更新完毕后,在terminal输入如下命令开始安装openssh-server:
sudoapt-getinstallopenssh-server
输入如下命令,检查openssh-server是否成功安装:
whichssh
如显示/usr/bin/ssh表示ssh安装成功
whichsshd
如显示/usr/bin/sshd表示sshd安装成功
如果以上二者都成功显示,表示open-server安装成功
克隆虚拟机作为Slave节点
将上面配置好的虚拟机作为master,关闭作为master的ubuntu系统,然后修改虚拟机的网络连接设置,改为“桥接模式”,即在master虚拟机主界面点击“虚拟机—设置—硬件—网络适配器”,在弹出的对话的“网络连接”项目下选择“桥接模式B”此举的目的在于使主节点和各从节点都能连上网络,从而使各台机器之间能够互访;
接下来对master进行克隆,得到slave1、slave2、slave3的雏形,即点击VM菜单下的“虚拟机—管理—克隆”,进入克隆虚拟机的向导界面,根据向导提示,在“克隆类型”引导界面选择“创建完整克隆”,具体设置如下图所示:
然后输入被克隆的虚拟机名称,先暂输入slave1,点击确认进行克隆,将克隆好的系统复制到除master之外的三台PC节点上,用虚拟机VMware识别并将其启动,并在虚拟机启动界面点击“虚拟机—设置—选项—常规”设置中,分别修改虚拟机名称为slave1、slave2和slave3,如下图所示;
设置IP地址
在Hadoop平台上,各个节点之间的互访是基于TCP/IP协议的,所以要为各个节点分配IP地址;在四个PC节点上,点击桌面右上角从左到右的第一个数据连接图标
在下拉菜单中选择最后一项“EditConnections…”
在弹出的“NetworkConnections”框中选择“Edit…”,显示“EditingEthernetconnection1”框,点击“IPv4Settings”将弹出的Method选择框设置为Manual,然后添加IP地址;
添加同一网关内的IP地址、子网掩码、默认网关,目的是让各个节点机器能够互访;需要注意的是在设置IP地址时,需要首先在DNSservers输入相应的IP地址,否则无法填写“Addresses”项内容;
因此,我们将DNS服务器DNSservers地址设置为:,接下来将master节点的IP地址Address设置为:,子网掩码Netmask设置为:,默认网关Gateway设置为:;
用同样的方法,将虚拟机salve1的IP地址设置为:DNS服务器;IP地址;子网掩码;网关,将slave2的IP地址设置为:DNS服务器;IP地址;子网掩码;网关,将slave3的IP地址设置为:DNS服务器;IP地址;子网掩码;网关;
修改机器名
通过克隆得到的ubuntu系统有相同的机器名,所以要修改加载在各虚拟机中的系统名称,来区分不同的节点,以便后期操作;
在master机器上打开etc/hostname文件,命令为:
sudogedit/etc/hostname
将etc/hostname文件内容修改为master
用同样的方法分别在刚刚克隆得到的slave1、slave2和slave3上,修改其机器名:
将slave1的机器名修改为slave1
将slave2的机器名修改为slave2
将slave3的机器名修改为slave3
修改hosts文件
通过修改hosts文件可以实现机器名和IP地址之间的映射,在master节点上,打开文件/etc/hosts,命令为:
sudogedit/etc/hosts
将/etc/hosts文件修改为
master
slave1
slave2
slave3
用同样的方法,在slave1、slave2和slave3机器上修改如上hosts文件,映射配置与master一致;配置完成后重启master和slave1、slave2和slave3使其生效;
建立SSH无密码互访
通过建立SSH无密码互访,可以实现Hadoop虚拟机集群之间的无密码登陆互访;首先在4台机器上均生成秘钥对,并将slave1、slave2和slave3分别所生成的公钥进行重命名后发送到master机器上,由master将自身所生成的公钥与其它三台slave节点发送过来的公钥合并到一个文件中,重新分发给三台slave节点;对于不同的机器执行对应的操作如下:
1master生成密钥对
ssh-keygen-trsash/隐藏的文件夹下生成两个文件id_rsa和
2slave1生成密钥对,重命名公钥,并将其发送到maser
在终端terminal输入如下命令:
ssh-keygen-trsash/隐藏的文件夹下生成两个文件id_rsa和,并重命名公钥为,执行命令:
scp~/.ssh/
将重命名后的文件都复制到master机,命令如下:
scp~/.ssh/hadoopmaster:/home/hadoop/.ssh/
3slave2生成密钥对,重命名公钥,并将其发送到maser
slave2执行与slave1类似的命令:
ssh-keygen-trsash/
4slave3生成密钥对,重命名公钥,并将其发送到maser
slave3也执行与slave1类似的操作:
ssh-keygen-trsash/
5master合并公钥,重新分发给各slave节点
在master机器的/home/hadoop/.ssh/文件夹中重命名秘钥文件,命令如下:
mvauthorized_keys
然后把每台slave机器发过来的文件合并到authorized_keys,命令如下:
cat>>authorized_keys
cat>>authorized_keys
cat>>authorized_keys
最后把合成的authorized_keys发给每台slave机器:
scpauthorized_keyshadoopslave1:/home/hadoop/.ssh/authorized_keys
scpauthorized_keys
scpauthorized_keys
6节点间无密码互访测试
在任意机器上输入命令访问另一台机器,命令如下:
sshslave1
如果返回”Agentadmittedfailuretosignusingthekey“,不能连接到slave1,此时可输入命令:
ssh-agent
使ssh-agent处于运行状态;再将id_rsa添加到ssh-agent中,命令为:
ssh-addid_rsa
启动Hadoop
启动HDFS
1初始化namenode
在运行Hadoop平台之前,要在master上格式化文件系统,建立HDFS;切换至hadoop用户,进入/home/hadoop/,初始化Namenode,执行命令如下:
cd/home/hadoop/namenode–formatStoragedirectory/home/hadoop/hdfs/namehasbeensuccessfullyformatted,则说明格式化HDFS成功,初始化完成之后会自动的在/home/hdoop/创建dfs/name/目录;
2测试启动HDFS
在hadoop用户下,启动namenode,执行命令:startnamenode;启动datanode,执行命令:startdatanode;当namenode与datanode均启动之后,可使用jps命令查看进程,命令如下:
jps
当同时看到下列进程时,标明hadoop正常运行:
3588NameNode
3692DataNode
3757Jps
如上述进程启动过程正常,则可启动HFS;在hadoop用户下,切换至/home/hadoop/目录下,执行命令:
cd/home/hadoop/执行脚本./,启动HDFS
在上述目录下执行脚本文件,命令为:./,使用jps命令查看进程,终端显示:
4177SecondaryNameNode
3588NameNode
3692DataNode
4285Jps
其中master产生SecondaryNameNode和NameNode进程,slave节点产生DataNode进程;
启动YARN
在hadoop用户下,切换至/home/hadoop/目录下,执行命令:
cd/home/hadoop/执行脚本./,启动YARN
在terminal终端输入命令:./,执行脚本文件,使用jps命令查看master节点进程时,终端显示:
4177SecondaryNameNode
4660Jps
3588NameNode
4411ResourceManager
3692DataNode
其中master产生ResourceManager、NameNode和SecondaryNameNode进程,同时输入jps命令在slave节点进行进程查看时终端显示:
3329DataNode
3670Jps
3484NodeManager
可知slave节点上产生DataNode和NodeManager进程;
异常处理2:
问题:Hadoop启动发生异常,有些进程不能被启动;
解决方法:执行命令./、./或直接执行./命令关闭进程后,清空/home/hadoop/dfs和/home/hadoop/dfs文件夹中的数据,并重新执行格式化,命令如下:
rm-rf/home/hadoop/dfs/
rm-rf/home/hadoop/tmp
hdfsnamenode–format
异常处理3:
问题:slave节点DataNode无法启动;
解决方法:
a、系统防火墙没有关闭:执行命令sudoufwdisable关闭防火墙;
b、所有节点hosts链表不统一,或有错误:重新检查IP地址与机器名之间的对应关系,检查hadoop的配置文件中是否发生IP地址的书写错误;
c、多次formatnamenode造成namenode和datanode的clusterID不一致:更改slaveClusterID使其与master相同,修改每一个datanode上面的CID位于home/hadoop/dfs/data/current/VERSION文件夹中使两者一致;删除所有节点/home/hadoop/dfs/data/下curren目录,重新运行脚本即可;
Hadoop平台测试
在Hadoop平台搭建完成后,我们要对Hadoop平台进行测试;在Hadoop的安装目录下,提供了一个单词统计程序—WordCount;WordCount程序运行于Hadoop计算平台之上,充分利用了MapReduce和HDFS;它可以对文件中单词出现次数进行统计,然后给出统计结果;我们通过运行WordCount程序,可以检测Hadoop平台是否能够正常运行;
1在HDFS上建立相应的目录和相应的文本文件
在/home/hadoop/目录下建立文件夹input,并进入文件夹input,执行命令如下:
mkdir/home/hadoop/input
cd/home/hadoop/input
建立文件file01和file02,并分别写入要统计的内容,命令如下:
echo"helloworldbyeworld">file01ar,${}/lib,${}/lib/.jar,${}/../lib/.jar,/usr/lib/hadoop/.jar,/home/hadoop/2配置文件
打开/home/hadoop/下的文件,在文件中检索文本“,将等号“=”后的目录修改为:/home/hadoop/,即配置:
此处的配置文件中不能用环境变量比如$HADOOP_HOME,必须用全路径;
jar包的拷贝与替换
1拷入需要用到的Oracle的jdbc包到相关目录
由于从Oracle等数据库向HBase、HDFS等Hadoop存储系统导入数据时,需要建立Oracle与Sqoop的连接,这就需要用到一个Oracle驱动程序jdbc的jar包,因此将下载好的包拷贝到以下两个Sqoop文件目录下:
/home/hadoop/到此,正常启动;