Ubuntu1510下安装Hadoop260 单机模式伪分布式.docx
- 文档编号:24109774
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:13
- 大小:189.39KB
Ubuntu1510下安装Hadoop260 单机模式伪分布式.docx
《Ubuntu1510下安装Hadoop260 单机模式伪分布式.docx》由会员分享,可在线阅读,更多相关《Ubuntu1510下安装Hadoop260 单机模式伪分布式.docx(13页珍藏版)》请在冰豆网上搜索。
Ubuntu1510下安装Hadoop260单机模式伪分布式
Ubuntu15.10下安装Hadoop2.6.0(单机模式)
(制作者:
南阳理工学院--李留威)
一、实验环境说明
1.环境登录
无需密码自动登录,系统用户名llw,密码llw
2.环境介绍
本实验环境采用带桌面的UbuntuLinux环境,实验中会用到桌面上的程序:
3.参考文档
本实验参考下列文档内容制作:
∙http:
//hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html
∙
二、Hadoop启动模式
Hadoop集群有三种启动模式:
∙单机模式:
默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
∙伪分布模式:
在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行
∙完全分布式模式:
真实的生产环境,搭建在完全分布式的集群环境
三、用户及用户组
需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop。
1.添加用户及用户组
创建用户hadoop
$sudoadduserhadoop
并按照提示输入hadoop用户的密码。
2.添加sudo权限
将hadoop用户添加进sudo用户组
$sudousermod-Gsudohadoop
四、安装及配置依赖的软件包
1.安装openssh-server、java、rsync等
$sudoapt-getupdate
$sudoapt-getinstallopenssh-serverrsync
$sudoservicesshrestart
$sudoapt-getinstallopenjdk-7-jdk
$java-version
2.配置ssh免密码登录
切换到hadoop用户,需要输入添加hadoop用户时配置的密码。
后续步骤都将在hadoop用户的环境中执行。
$su-lhadoop
配置ssh环境免密码登录。
$ssh-keygen-trsa-P""
在/home/hadoop/.ssh目录下生成了id_rsa(私钥)和id_rsa.pub(公钥)两个文件,将公钥追加到authorized_keys中,该文件保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
验证登录本机是否还需要密码,配置正确的话是可以不需密码登录的。
$sshlocalhost
五、下载并安装Hadoop
在hadoop用户登录的环境中进行下列操作:
1.下载Hadoop2.6.0
$wget
2.解压并安装
$tarzxvfhadoop-2.6.0.tar.gz
$sudomvhadoop-2.6.0/usr/local/hadoop
$sudochmod774/usr/local/hadoop
3.配置Hadoop
$vim/home/hadoop/.bashrc
在/home/hadoop/.bashrc文件末尾添加下列内容:
#HADOOPSTART
exportJAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
exportHADOOP_INSTALL=/usr/local/hadoop
exportPATH=$PATH:
$HADOOP_INSTALL/bin
exportPATH=$PATH:
$HADOOP_INSTALL/sbin
exportHADOOP_MAPRED_HOME=$HADOOP_INSTALL
exportHADOOP_COMMON_HOME=$HADOOP_INSTALL
exportHADOOP_HDFS_HOME=$HADOOP_INSTALL
exportYARN_HOME=$HADOOP_INSTALL
exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
exportHADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOPEND
保存退出后,激活新加的环境变量
$source~/.bashrc
至此,Hadoop单机模式安装完成,可以通过下述步骤的测试来验证安装是否成功。
六、测试验证
创建输入的数据,暂时采用/etc/protocols文件作为测试
$cd/usr/local/hadoop
$sudomkdirinput
$sudocp/etc/protocols./input
执行HadoopWordCount应用(词频统计)
$bin/hadoopjarshare/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jarorg.apache.hadoop.examples.WordCountinputoutput
查看生成的单词统计数据
$catoutput/*
Ubuntu14.04下安装Hadoop2.4.0(伪分布模式)
一、实验环境说明
∙注意:
本实验需要按照上一节单机模式部署后继续进行操作
1.环境登录
无需密码自动登录,系统用户名llw,密码llw
2.环境介绍
本实验环境采用带桌面的UbuntuLinux环境,实验中会用到桌面上的程序:
3.参考文档
本实验参考下列文档内容制作:
∙
∙
注意:
本实验需要按照上一节单机模式部署后继续进行操作,因此您必须先完成上一节实验。
1.相关配置文件修改
1).修改core-site.xml:
$sudogvim/usr/local/hadoop/etc/hadoop/core-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
//localhost:
9000
常用配置项说明:
∙fs.default.name这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。
DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。
独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
∙hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。
如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在/tmp/hadoop-${user.name}这个路径中
更多说明请参考core-default.xml,包含配置文件所有配置项的说明和默认值。
2).修改hdfs-site.xml:
$sudogvim/usr/local/hadoop/etc/hadoop/hdfs-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
常用配置项说明:
∙dfs.replication它决定着系统里面的文件块的数据备份个数。
对于一个实际的应用,它应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。
少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)
∙dfs.data.dir这是DataNode结点被指定要存储数据的本地文件系统路径。
DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。
但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。
默认的情况下,它的值为file:
//${hadoop.tmp.dir}/dfs/data这个路径只能用于测试的目的,因为它很可能会丢失掉一些数据。
所以这个值最好还是被覆盖。
∙dfs.name.dir这是NameNode结点存储hadoop文件系统信息的本地系统路径。
这个值只对NameNode有效,DataNode并不需要使用到它。
上面对于/temp类型的警告,同样也适用于这里。
在实际应用中,它最好被覆盖掉。
更多说明请参考hdfs-default.xml,包含配置文件所有配置项的说明和默认值。
3).修改mapred-site.xml:
$sudocp/usr/local/hadoop/etc/hadoop/mapred-site.xml.template/usr/local/hadoop/etc/hadoop/mapred-site.xml
$sudogvim/usr/local/hadoop/etc/hadoop/mapred-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
常用配置项说明:
∙mapred.job.trackerJobTracker的主机(或者IP)和端口。
更多说明请参考mapred-default.xml,包含配置文件所有配置项的说明和默认值
4).修改yarn-site.xml:
常用配置项说明:
∙yarn.nodemanager.aux-services通过该配置,用户可以自定义一些服务
更多说明请参考yarn-default.xml,包含配置文件所有配置项的说明和默认值
5).修改hadoop-env.sh:
$sudovim/usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改JAVA_HOME如下:
这样简单的伪分布式模式就配置好了。
三、格式化HDFS文件系统
在使用hadoop前,必须格式化一个全新的HDFS安装,通过创建存储目录和NameNode持久化数据结构的初始版本,格式化过程创建了一个空的文件系统。
由于NameNode管理文件系统的元数据,而DataNode可以动态的加入或离开集群,因此这个格式化过程并不涉及DataNode。
同理,用户也无需关注文件系统的规模。
集群中DataNode的数量决定着文件系统的规模。
DataNode可以在文件系统格式化之后的很长一段时间内按需增加。
1.先切换到hadoop账户,按照提示输入账户密码
$suhadoop
2.格式化HDFS文件系统
$hadoopnamenode-format
会输出如下信息,则表格式化HDFS成功:
DEPRECATED:
Useofthisscripttoexecutehdfscommandisdeprecated.
Insteadusethehdfscommandforit.
INFOnamenode.NameNode:
STARTUP_MSG:
/************************************************************
STARTUP_MSG:
StartingNameNode
STARTUP_MSG:
host=[你的主机名]/127.0.0.1
STARTUP_MSG:
args=[-format]
STARTUP_MSG:
version=2.4.1
...
...
INFOutil.ExitUtil:
Exitingwithstatus0
INFOnamenode.NameNode:
SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG:
ShuttingdownNameNodeat[你的主机名]/127.0.0.1
************************************************************/
四、Hadoop集群启动
1.启动hdfs守护进程,分别启动NameNode和DataNode
$hadoop-daemon.shstartnamenode
$hadoop-daemon.shstartdatanode
或者一次启动
$start-dfs.sh
输出如下(可以看出分别启动了namenode,datanode,secondarynamenode,因为我们没有配置secondarynamenode,所以地址为0.0.0.0):
Startingnamenodeson[]
hadoop@localhost'spassword:
localhost:
startingnamenode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-namenode-G470.out
hadoop@localhost'spassword:
localhost:
startingdatanode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-datanode-G470.out
localhost:
OpenJDK64-BitServerVMwarning:
Youhaveloadedlibrary/usr/local/hadoop/lib/native/libhadoop.so.1.0.0whichmighthavedisabledstackguard.TheVMwilltrytofixthestackguardnow.
localhost:
It'shighlyrecommendedthatyoufixthelibrarywith'execstack-c
Startingsecondarynamenodes[0.0.0.0]
hadoop@0.0.0.0'spassword:
0.0.0.0:
startingsecondarynamenode,loggingto/usr/local/hadoop/logs/hadoop-hadoop-secondarynamenode-G470.out
2.启动yarn,使用如下命令启ResourceManager和NodeManager:
$yarn-daemon.shstartresourcemanager
$yarn-daemon.shstartnodemanager
或者一次启动:
$start-yarn.sh
3.检查是否运行成功
打开浏览器
∙输入:
http:
//localhost:
8088进入ResourceManager管理页面
∙输入:
http:
//localhost:
50070进入HDFS页面
可能出现的问题及调试方法:
启动伪分布后,如果活跃节点显示为零,说明伪分布没有真正的启动。
原因是有的时候数据结构出现问题会造成无法启动datanode。
如果使用hadoopnamenode-format重新格式化仍然无法正常启动,原因是/tmp中的文件没有清除,则需要先清除/tmp/hadoop/*再执行格式化,即可解决hadoopdatanode无法启动的问题。
具体步骤如下所示:
#删除hadoop:
/tmp
$hadoopfs-rmr/tmp
#停止hadoop
$stop-all.sh
#删除/tmp/hadoop*
$rm-rf/tmp/hadoop*
#格式化
$hadoopnamenode-format
#启动hadoop
$start-all.sh
六、测试验证
测试验证还是使用上一节的WordCount。
不同的是,这次是伪分布模式,使用到了hdfs,因此我们需要把文件拷贝到hdfs上去。
首先创建相关文件夹(要一步一步的创建):
$hadoopdfs-mkdir/user
$hadoopdfs-mkdir/user/hadoop
$hadoopdfs-mkdir/user/hadoop/input
1.创建输入的数据,采用/etc/protocols文件作为测试
先将文件拷贝到hdfs上:
$hadoopdfs-put/etc/protocols/user/hadoop/input
2.执行HadoopWordCount应用(词频统计)
#如果存在上一次测试生成的output,由于hadoop的安全机制,直接运行可能会报错,所以请手动删除上一次生成的output文件夹
$bin/hadoopjarshare/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jarorg.apache.hadoop.examples.WordCountinputoutput
执行过程截图(部分):
3.查看生成的单词统计数据
$hadoopdfs-cat/user/hadoop/output/*
七、关闭服务
输入命令
$hadoop-daemon.shstopnamenode
$hadoop-daemon.shstopdatanode
$yarn-daemon.shstopresourcemanager
$yarn-daemon.shstopnodemanager
或者
$stop-dfs.sh
$stop-yarn.sh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ubuntu1510下安装Hadoop260 单机模式伪分布式 Ubuntu1510 安装 Hadoop260 单机 模式 分布式
![提示](https://static.bdocx.com/images/bang_tan.gif)