伪分布搭建详细记录.docx
- 文档编号:29680169
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:14
- 大小:804.52KB
伪分布搭建详细记录.docx
《伪分布搭建详细记录.docx》由会员分享,可在线阅读,更多相关《伪分布搭建详细记录.docx(14页珍藏版)》请在冰豆网上搜索。
伪分布搭建详细记录
Hadoop2.6.0的为分布式的安装与配置
Hadoop版本号是:
2.6.0
1.先在虚拟机CentOS系统中装jdk-7
检验系统原版本
[root@linuxidc~]#java-version
javaversion"1.6.0_24"
OpenJDKRuntimeEnvironment(IcedTea61.11.1)(rhel-1.45.1.11.1.el6-x86_64)
OpenJDK64-BitServerVM(build20.0-b12,mixedmode)
进一步查看JDK信息:
[root@linuxidc~]#rpm-qa|grepjava
tzdata-java-2012c-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
卸载OpenJDK,执行以下操作:
[root@linuxidc~]#rpm-e--nodepstzdata-java-2012c-1.el6.noarch
[root@linuxidc~]#rpm-e--nodepsjava-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
安装JDK
上传新的jdk-7-linux-x64.rpm软件到/usr/local/执行以下操作:
[root@linuxidclocal]#rpm-ivhjdk-7u75-linux-x64.rpm
JDK默认安装在/usr/java中。
验证安装,执行以下操作,查看信息是否正常:
[root@linuxidcbin]#java
[root@linuxidcbin]#javac
[root@linuxidcbin]#java-version
javaversion"1.7.0"(此语句执行后如显示了jdk版本的话说明配置成功,如果没有则需检查profile中路径是否正确)
Java(TM)SERuntimeEnvironment(build1.7.0-b147)
JavaHotSpot(TM)64-BitServerVM(build21.0-b17,mixedmode)
配置环境变量
有的机器安装完jdk-7-linux-x64.rpm后不用配置环境变量也可以正常执行javac、java–version操作。
但是为了以后的不适之需,这里还是记录一下怎么进行配置,操作如下:
vi+/etc/profile
(linuxvi编辑器下经常会用到保存退出与不保存退出这两个操作.
linuxvi保存退出操作:
esc键,输入 :
wq
linuxvi不保存退出操作:
esc键,键入 :
q!
)
向文件里面追加以下内容:
JAVA_HOME=/usr/java/jdk1.7.0_75
JRE_HOME=/usr/java/jdk1.7.0_75/jre
PATH=$PATH:
$JAVA_HOME/bin:
$JRE_HOME/bin
CLASSPATH=.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar:
$JRE_HOME/lib
exportJAVA_HOMEJRE_HOMEPATHCLASSPATH
使修改生效
[root@linuxidclocal]#source/etc/profile//使修改立即生效
[root@linuxidclocal]#echo$PATH//查看PATH值
退到用户的家目录下,查看系统环境状态
[root@linuxidc~]#echo$PATH
jdk的安装配置到此结束。
2.配置ssh,实现本地无密码登陆localhost
a)切换目录到root根目录下:
命令:
cd~
b)在root根目录下,命令:
ssh-keygen-trsa-P''产生密钥对
这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。
生成的密钥对:
id_rsa和id_rsa.pub,默认存储在"/root/.ssh"目录下。
c)接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
命令:
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
d)修改文件"authorized_keys"
命令:
chmod600~/.ssh/authorized_keys
e)成功检验:
sshlocalhost
(看是否需要输入密码,不需要说明设置成功,反之不成功)
3.安装Hadoop2.6.0
3.1解压hadoop-2.6.0.tar.gz
(a)将hadoopX.X.X.tar.gz复制到usr下面
mv./hadoop-2.6.0.tar.gz/usr
(b)进入到usr目录下,解压hadoop-2.6.0.tar.gz
tar-xzvfhadoop-2.6.0.tar.gz
解压后会在/usr/目录下产生文件夹hadoop-2.6.0。
1.
2.
3.
3.1.
3.2.配置hadoop文件
注(我们都是在root用户下去搭建hadoop)
进入到hadoop-2.6.0的目录下,
profile中配置hadoop
/etc/profile
exportHADOOP_HOME=/usr/hadoop-2.6.0
exportPATH=$HADOOP_HOME/bin:
$PATH
exportHADOOP_LOG_DIR=${HADOOP_HOME}/logs
source/etc/profile生效。
这里要涉及到的配置文件有7个:
usr/hadoop-2.6.0/etc/hadoop/hadoop-env.sh
usr/hadoop-2.6.0/etc/hadoop/yarn-env.sh
usr/hadoop-2.6.0/etc/hadoop/slaves
usr/hadoop-2.6.0/etc/hadoop/core-site.xml
usr/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
usr/hadoop-2.6.0/etc/hadoop/mapred-site.xml
usr/hadoop-2.6.0/etc/hadoop/yarn-site.xml
目录开始切换到/usr/hadoop-2.6.0/etc/hadoop(hadoop安装目录)
3.2.1.配置文件1:
hadoop-env.sh
修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_75)
命令:
[hadoop@masterhadoop]$vihadoop-env.sh
保存退出!
3.2.2.配置文件2:
yarn-env.sh
修改JAVA_HOME值(exportJAVA_HOME=/usr/java/jdk1.7.0_75)
命令:
[hadoop@masterhadoop]$viyarn-env.sh
3.2.3.配置文件3:
slaves(这个文件里面保存所有slave节点,我们是一台主机,就填一个本地ip:
localhost)
[hadoop@masterhadoop]$vislaves
写入以下内容:
localhost
3.2.4.配置文件4core-site.xml
etc/hadoop/core-site.xml
//localhost:
9000
3.2.5. 配置文件5hdfs-site.xml
etc/hadoop/hdfs-site.xml
3.2.6配置文件6mapred-site.xml
etc/hadoop/mapred-site.xml
//localhost:
9001
3.2.7配置文件7yarn-site.xml
四.格式化namenode(首次运行前必需的)
(a)保证此时在hadoop的解压目录下,如不在,请先进入此目录。
(b)格式化namenode
命令:
bin/hadoopnamenode–format
关闭防火墙:
serviceiptablesstop
五.运行测试
(1)启动hadoop
命令:
bin/start-all.sh
(2)验证hadoop是否正常启动
命令:
jps
此语句执行后会列出已启动的东西——NameNode,JobTracker等。
如果NameNode没有成功启动的话就要先执行"bin/stop-all.sh"停掉所有东西,然后重新格式化namenode,再启动。
Hadoop的datanode一直没起来,Hadoop根本就没有正常启动,正常启动的话!
5个关键的进程都应该会显示,包括namenode,secondarynamenode,datanode,jobtracker,tasktracker。
(3)
跑WorldCount验证程序
a、准备需要进行wordcount的文件
vi/tmp/test/wordcount1.txt
(打开后随便输入一些内容,然后保存退出)
b、将准备的测试文件上传到dfs文件系统中的wordcounttest目录下
hadoopdfs-copyFromLocal/tmp/test/wordcount1.txtwordcounttest
罗师兄说用这个:
hadoopfs-put/tmp/test/wordcount1.txtwordcounttest2
(注:
如dfs中不包含wordcounttest目录的话就会自动创建一个,关于查看dfs文件系统中已有目录的指令为"hadoopdfs-ls")
出现下面错误:
15/03/3113:
52:
48WARNhdfs.DFSClient:
DataStreamerException:
org.apache.hadoop.ipc.RemoteException:
java.io.IOException:
File/user/root/wordcounttestcouldonlybereplicatedto0nodes,insteadof1
说明从本地上传文件到HDFS没有成功!
c、执行wordcount
hadoopjarhadoop-examples-1.2.1.jarwordcountwordcounttestresult
(注:
此语句意为“对wordcounttestt下的所有文件执行wordcount,将统计结果输出到result文件夹中”,若result文件夹不存在则会自动创建一个)
实际操作时出现下面的错误:
15/03/3114:
15:
00ERRORsecurity.UserGroupInformation:
PriviledgedActionExceptionas:
rootcause:
org.apache.hadoop.ipc.RemoteException:
org.apache.hadoop.mapred.JobTrackerNotYetInitializedException:
JobTrackerisnotyetRUNNING
但是用jps命令查看运行的进程,发现JobTracker是运行的,如下图:
d、查看结果
hadoopdfs-catresult/part-r-00000
(注:
结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoopdfs-lsresult”查看result目录下包含哪些文件)
实际操作后发现如下错误:
结果文件根本就不存在,说明示例程序根本就没有运行!
但是,50070和50030的web界面都可以打开
六、解决方法:
查看logs目录下的datanode日志(这是个好方法!
),发现有下面的错误
SHUTDOWN_MSG:
ShuttingdownDataNodeat.UnknownHostException
XX之,找到下面两篇博客:
之后修改了一下/etc/hosts文件,在127.0.0.1后面,在localhost旁边加上了我的虚拟机的名字:
ljCentOS64Full
之后重新格式化namenode,再重新start-all.sh(先stop-all.sh),使用jps查看进程,会有五个关键进程,
再往后,执行WordCount示例程序也成功了!
查看结果:
成功!
50030
50070
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布 搭建 详细 记录