Hadoop云计算平台搭建方案2.docx
《Hadoop云计算平台搭建方案2.docx》由会员分享,可在线阅读,更多相关《Hadoop云计算平台搭建方案2.docx(35页珍藏版)》请在冰点文库上搜索。
![Hadoop云计算平台搭建方案2.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/16f8491e-4e64-42ef-8e7c-1f1e413ef5ec/16f8491e-4e64-42ef-8e7c-1f1e413ef5ec1.gif)
Hadoop云计算平台搭建方案2
Hadoop云计算平台搭建方案
一、平台搭建概述
1.1总体思路
针对于电网企业在营销服务领域展开的大数据分析处理,搭建Hadoop云计算平台进行海量数据存储,并作深层次加工、处理,挖掘出无法简单直观便可得到的新的模式,为电力企业的决策提供指导。
平台采用Hadoop-2.2.0作为海量数据存储和分析工具,将其部署在4个物理计算机节点上,搭建Hadoop集群,其中1个节点作为master节点,其余3个作为slave节点。
为了获取更好的稳定性,平台搭建在Linux系统(ubuntu-14.04-desktop-i386)环境下。
1.2软件列表
软件
描述
版本
VMwareWorkstation
虚拟化软件
VMwareWorkstation10.0.2.46408
Ubuntu
Linux操作系统
ubuntu-14.04-desktop-i386
JDK
Java的软件开发工具包
jdkl.8.0_20
Hadoop
开源的云计算基础框架
Hadoop-2.2.0
HBase
分布式数据存储系统
Hbase-0.96.2
Zookeeper
Hadoop可靠协调系统
Zookeeper-3.4.5
Sqoop
数据迁移工具
Sqoop-1.99.3
1.3平台搭建总流程和节点信息一览表
在平台搭建前,给出实现的总流程图和节点信息一览表,从而对平台搭建过程和各节点信息有一个全局的认识,平台搭建总流程如下图所示。
创建虚拟机master,完成JDK、Hadoop等应用的安装和配置
对虚拟机master进行克隆,得到的虚拟机分别作为slave1、slave2和slave3
完成Zookeeper、HBase等其它分布式服务的部署,搭建Hadoop集群
运行并测试Hadoop集群系统
各节点信息如下表所示:
机器名
IP地址
用户名
充当角色
master
172.19.17.102
hadoop
JobTracker、Namenode
slave1
172.19.17.104
hadoop
TaskTracker、Datanode
slave2
172.19.17.105
hadoop
TaskTracker、Datanode
slave3
172.19.17.106
hadoop
TaskTracker、Datanode
二、基础平台的搭建步骤
此次大数据存储和处理平台的搭建,需要4台物理节点来部署Hadoop平台环境。
我们使用虚拟机软件VMwareWorkstation创建4台虚拟机,承载平台搭建工作。
另外,由于对4台虚拟机的配置大部分是相同的,所以利用VMwareWorkstation的克隆功能,可以减少部署的工作量。
2.1安装虚拟机软件VMwareWorkstation
首先在4台PC机器上均安装虚拟化软件VMwareWorkstation,并输入相应的序列号。
2.2在master节点上安装Linux系统Ubuntu
在设定为masterPC节点上首先安装Linux系统(版本为ubuntu-11.04-desktop-i386),在安装过程中为提高后期安装软件的兼容性和稳定性,在系统语言上选择英语。
创建用户名为“hadoop”的普通用户,设置统一的密码。
安装完成后将系统的terminal命令窗口调出来,以便使用。
同时,为实现虚拟机的Ubuntu系统与本机的Windows系统之间方便快捷的文字复制粘贴以及物理主机系统与虚拟机系统相互拖放文件进行共享,需要安装VMareTools工具,具体操作如下:
启动虚拟机,进入Ubuntu系统,在VM菜单栏“虚拟机(M)”的下拉菜单点击“安装VMareTools(T)”后,会弹出一个“VMareTools”文件夹,里面包含VMareTools的安装包VMwareTools-9.6.2-1688356.tar.gz,将该安装包拷贝到/home/hadoop目录下,输入命令进行解压安装:
tarxzvfVMwareTools-9.6.2-1688356.tar.gz
此时在/home/hadoop/目录下产生vmware-tools-distrib文件夹,进入该目录,通过在terminal终端输入相应命令,运行vmware-install.pl脚本:
cd/home/hadoop/vmware-tools-distrib//进入目录
sudo./vmware-install.pl//执行vmware-install.pl脚本
按提示多次“回车”直至显示安装成功的信息,再重启系统即可。
在完成上述操作后,为保障Hadoop集群各节点之间的无障碍通信,需关闭系统防火墙。
在重启系统后,在terminal终端输入命令:
sudoufwdisable
当显示“Firewallstoppedanddisableonsystemstartup”时表示防火墙已关闭,若后续服务部署过程中机器重启无法实现节点之间的相互通信,可尝试检查防火墙是否关闭。
2.3master节点的JDK安装与配置
由于Hadoop底层实现是用JAVA语言编写的,因此它的运行离不开JAVA运行环境(JRE)的支持,这就需要JDK。
JDK有多个更新版本,安装过程大致相同,这里选择安装最近更新的版本jdkl.8.0_20。
先将安装文件jdk-8u20-linux-i586.gz拷贝到master节点的目录/home/hadoop/下,在终端输入命令:
tarxzvfjdk-8u20-linux-i586.gz
进行解压安装,此时会产生文件夹“jdk1.8.0_20”,所得的JDK安装路径为“/home/hadoop/jdk1.8.0_20”。
安装结束后打开/etc/profile文件,配置JDK的classpath:
在terminal终端键入命令:
sudogedit/etc/profile打开profile文件,在文件末尾加上以下语句:
#setjavaenvironment
exportJAVA_HOME=/home/hadoop/jdk1.8.0_20
exportJRE_HOME=/home/hadoop/jdk1.8.0_20/jre
exportCLASSPATH=.:
$JAVA_HOME/lib:
$JRE_HOME/lib:
$CLASSPATH
exportPATH=$JAVA_HOME/bin:
$JRE_HOME/bin:
$PATH///home/hadoop/是hadoop文件夹所在路径,不可照抄,要以实际路径为准
保存之后,在terminal终端输入命令:
source/etc/profile使其生效。
并键入命令java–version查看是否配置成功,若出现如下信息,则表示java环境变量配置成功。
javaversion"1.8.0_20"
Java(TM)SERuntimeEnvironment(build1.8.0_20-b26)
JavaHotSpot(TM)ClientVM(build25.20-b23,mixedmode)
注:
以上灰色背景标注的文字表示的Linux命令,红色字体颜色标注的文本表示的需要写入的Hadoop环境配置文件中的信息,绿色字体颜色标注的小5号文本表示注释,下同
2.4master节点的hadoop安装与配置
Hadoop的安装是Hadoop平台搭建的关键步骤,将从http:
//hadoop.apache.org下载的安装包hadoop-2.2.0.tar.gz拷贝到master节点目录/home/hadoop/下,进行解压安装,输入命令:
tarxzvfhadoop-2.2.0.tar.gz
安装完成后配置环境变量:
在系统文件/etc/profile以及Hadoop的安装目录/home/hadoop/hadoop-2.2.0文件夹下的多个文件添加相应的配置信息。
2.4.1添加环境变量
打开/etc/profile文件,在terminal终端键入命令:
sudogedit/etc/profile调出profile文件,在文件末尾加上:
#sethadoopenvironment
exportHADOOP_HOME=/home/hadoop/hadoop-2.2.0
exportPATH=$HADOOP_HOME/bin:
$PATH
exportPATH=$HADOOP_HOME/sbin:
$PATH
然后保存,在终端键入命令source/etc/profile使其生效。
异常处理1:
问题:
保存添加的环境变量并使其生效后,terminal可能会出现如下警告:
(gedit:
2949):
Gtk-WARNING**:
Attemptingtosetthepermissionsof`/root/.local/share/recently-used.xbel',butfailed:
Nosuchfileordirectory
(gedit:
2949):
Gtk-WARNING**:
Attemptingtostorechangesinto`/root/.local/share/recently-used.xbel',butfailed:
Failedtocreatefile'/root/.local/share/recently-used.xbel.MN6R3V':
Nosuchfileordirectory
(gedit:
2949):
Gtk-WARNING**:
Attemptingtosetthepermissionsof`/root/.local/share/recently-used.xbel',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重启系统即可使系统恢复正常登陆,然后按照上述方法重新配置。
2.4.2目录设置
在普通用户hadoop下创建hadoop的数据存储目录(若使用root用户创建上述文件夹则会因权限问题导致无法向这些文件夹中写入并读取数据),可自行选择数据存储的路径,我们选择在/home/hadoop/文件夹下创建dfs和tmp作为数据存储与交换的目录,并在dfs文件夹下创建name和data两个子文件夹。
分别执行命令:
mkdir/home/hadoop/dfs/name//创建/home/hadoop/下dfs的子文件夹name
mkdir/home/hadoop/dfs/data//创建/home/hadoop/下dfs的子文件夹data
mkdir/home/hadoop/tmp//创建/home/hadoop/tmp
2.4.3/home/hadoop/hadoop-2.2.0/etc/hadoop下配置文件的修改
接下来在/home/hadoop/hadoop-2.2.0/etc/hadoop目录下需要修改以下文件的内容:
在slaves文件下分别写入三个slave节点的名称,完成节点信息配置,并分别通过对hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、yarn-env.sh等文件分别进行Hadoop核心文件配置、HDFS配置、Mapreduce配置和Yarn配置。
对/home/hadoop/hadoop-2.2.0/etc/hadoop文件夹下的几个文件做一定的修改,配置每个文件时先单击文件右键,选择“openwithtexteditor”方式打开,按照以下方式修改,需要配置的文件如下:
(1)配置hadoop-env.sh文件,打开该文件,检索“#exportJAVA_HOME=${JAVA_HOME}”文本,在该语句的下一行添加:
exportJAVA_HOME=/home/hadoop/jdk1.8.0_20
这样配置的目的是为Hadoop的守护进程设置环境变量,让Hadoop能够获取到JDK服务的支持。
(2)配置slaves文件,打开该文件,将其内容修改为slave1、slave2、slave3。
文件名
打开后,将其内容修改为:
slaves
slave1
slave2
slave3
(3)配置core-site.xml文件,打开该文件,在文件末尾添加以下语句。
文件名
打开文件后,在其末尾添加语句:
core-site.xml
fs.defaultFS
hdfs:
//172.19.17.102:
9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:
/home/hadoop/tmp
Abaseforothertemporarydirectories.
hadoop.proxyuser.tan.hosts
*
hadoop.proxyuser.tan.groups
*
(4)配置hdfs-site.xml文件,打开该文件,在文件末尾添加以下语句。
文件名
打开文件后,在其末尾添加语句:
hdfs-site.xml
dfs.namenode.secondary.http-address
172.19.17.102:
9001
dfs.namenode.name.dir
file:
/home/hadoop/dfs/name
dfs.datanode.data.dir
file:
/home/hadoop/dfs/data
dfs.replication
4
dfs.webhdfs.enabled
true
注意:
需要在hdfs-site.xml中配置dfs.replication属性时,dfs.replication属性指定HDFS中文件块复制的份数,其默认值为3,当datanode节点少于3台便会报错。
在一般情况下,当其属性值为3的时候,HDFS的部署策略是在本地机柜中一个节点放置一个备份,在本地机柜的不同结点再放置一个备份,然后再在另一个机柜中的一个结点放置一个备份。
(5)配置mapred-site.xml文件。
事实上在进行配置之前,mapred-site.xml文件默认并不存在,需要首先将该目录下的mapred-site.xml.template文件进行复制,并重命名为mapred-site.xml,接下来打开mapred-site.xml,添加以下语句。
文件名
打开文件后,在其末尾添加语句:
mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
172.19.17.102:
10020
mapreduce.jobhistory.webapp.address
172.19.17.102:
19888
(6)配置yarn-site.xml文件,打开该文件,在文件末尾添加以下语句。
文件名
打开文件后,在其末尾添加语句:
yarn-site.xml
--SitespecificYARNconfigurationproperties-->
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
172.19.17.102:
8032
yarn.resourcemanager.scheduler.address
172.19.17.102:
8030
yarn.resourcemanager.resource-tracker.address
172.19.17.102:
8031
yarn.resourcemanager.admin.address
172.19.17.102:
8033
yarn.resourcemanager.webapp.address
172.19.17.102:
8088
(7)配置yarn-env.sh文件,打开该文件,检索“#exportJAVA_HOME=/home/y/libexec/jdk1.6.0/”语句,在该语句下一行添加:
exportJAVA_HOME=/home/hadoop/jdk1.8.0_20
通过对上述文件的修改,完成对Hadoop的配置。
事实上,配置过程并不复杂,一般而言,除了规定的端口、IP地址、文件的存储位置外,其他配置都不是必须修改的,可以根据需要决定是采用默认配置还是自行修改。
还有一点需要注意的是以上配置都被默认为最终参数,这些参数都不可以在程序中被再次修改。
2.5Hadoop集群的部署与各节点的通信
2.5.1安装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安装成功
2.5.2克隆虚拟机作为Slave节点
将上面配置好的虚拟机作为master,关闭作为master的ubuntu系统,然后修改虚拟机的网络连接设置,改为“桥接模式”,即在master虚拟机主界面点击“虚拟机—设置—硬件—网络适配器”,在弹出的对话的“网络连接”项目下选择“桥接模式(B)”此举的目的在于使主节点和各从节点都能连上网络,从而使各台机器之间能够互访。
接下来对master进行克隆,得到slave1、slave2、slave3的雏形,即点击VM菜单下的“虚拟机—管理—克隆”,进入克隆虚拟机的向导界面,根据向导提示,在“克隆类型”引导界面选择“创建完整克隆”,具体设置如下图所示:
然后输入被克隆的虚拟机名称,先暂输入slave1,点击确认进行克隆,将克隆好的系统复制到除master之外的三台PC节点上,用虚拟机VMware识别并将其启动,并在虚拟机启动界面点击“虚拟机—设置—选项—常规”设置中,分别修改虚拟机名称为slave1、slave2和slave3,如下图所示。
2.5.3设置IP地址
在Hadoop平台上,各个节点之间的互访是基于TCP/IP协议的,所以要为各个节点分配IP地址。
在四个PC节点上,点击桌面右上角从左到右的第一个数据连接图标
在下拉菜单中选择最后一项“EditConnections…”
在弹出的“NetworkConnections”框中选择“Edit…”,显示“EditingEthernetconnection1”框,点击“IPv4Settings”将弹出的Method选择框设置为Manual,然