网上有很多hadoop0.23.0的安装,各有问题。 该版本和hadoop0.21.0目录结构稍有不同。conf里面只有一个slaves, 其它配置在etc/hadoop/目录下。然后参考http://www.oschina.net/question/54100_33772的配置安装(以下内容复制于链接:
hadoop 0.23.0比先前的0.20版本有了很大的改动,而我目前最感兴趣的还是HDFS部分的federation部分,由于相关配置资料比较少,下面就把这两天配置情况总结一下作为备忘:
要配置hdfs,关键要知道namenode、datanode、secondarynamenode、backupnode都需要什么配置,下面分别来讨论一下:
1、namenode
1)需要一些目录放置fsimage和edits,对应配置dfs.namenode.name.dir、dfs.namenode.edits.dir
2)打开两个端口来提供RPC服务,一个是给client对应配置dfs.namenode.rpc-address;一个端口是提供给datanode对应配置dfs.namenode.servicerpc-address,如果不指定则使用dfs.namenode.rpc-address,其实这两个端口的RPC服务没什么区别,之所以要区分,我猜想这样分开主要是因为datanode和namenode通讯时不会影响client和namenode的通讯,因为同一个端口同时打开的句柄毕竟是预先设定的,缺省为10个
3)需要打开一个http服务,用于提供web访问以及传输edits log,checkpoint等,对应配置为dfs.namenode.http-address
2、datanode
1)需要指定一个目录来保存blocks,对应配置dfs.datanode.data.dir
2)当然还需要知道namenode所打开的RPC服务端口,以便于建立RPC联接
3、secondarynamenode
本次没有测试,而且所做的工作可以为backupnode取代,就略过了。
4、backupnode
backupnode本质上也是一个namnode,因此namenode需要的它都需要,只是名称上可能有些不同,具体如下:
1)对于保存image和edits的目录与namenode没什么不同dfs.namenode.backup.address
2)对我提供RPC服务的配置项分别叫做dfs.namenode.servicerpc-address(与namenode相同),dfs.namenode.backup.address(namenode叫做dfs.namenode.rpc-address)
3)对我提供的http服务配置项叫做:dfs.namenode.backup.http-address
4)backupnode需要和对应的namenode的http服务通讯因此需要告诉backupnode对应的namenode的http服务的地址,对应配置项dfs.namenode.http-address
5)比较没趣的还要指定一个配置项dfs.federation.nameservice.id,随便可以指定什么值,目前不会使用到,但不知定还不行,就随便指定一个值就可以了,因为backupnode继承namennode导致的,当然也可以不指定,通过其他方法来配置,但那种方法也很不理想,使配置变的怪怪的,所以还是指定一下为好
hadoop 0.23的一个重要feature就是federation,因此通过配置项dfs.federation.nameservices来枚举出全部的 nameserviceID,上面说的一些配置项,后面跟上对应的ID,就可以完成配置了,其实namenode在启动时是这样做的,通过比较本机的ip 和配置项中value的ip来确定该配置想是否应该加入到启动是的conf当中,通过这个手段,就可以将自己需要的配置从配置文件中分离出来了。
另外,传说hadoop 0.23.0兼容0.20的各种配置,但还是有些差别,缺省情况下,系统从hadoop-0.23.0/etc/hadoop/目录中读取配置文件,当然可以通过HDFS_CONF_DIR来指定,基于这一点,我们把配置文件放在hadoop-0.23.0/etc/hadoop/目录下
假设我们有4台机器,h1-1、h1-2、h1-3、h1-4
1)namenode为h1-1、h1-2
2)datanode为h1-1、h1-2、h1-3、h1-4
3)backupnode为h1-3
具体的配置文件如下:
1)h1-1、h1-2、h1-3、h1-4的hadoop-0.23.0/etc/hadoop/slaves
h1-1
h1-2
h1-3
h1-4
2)h1-1、h1-2、h1-4(不包括h1-3)的hadoop-0.23.0/etc/hadoop/hdfs.site的配置如下:
04 |
< name > dfs.namenode.name.dir</ name >
|
05 |
< value >/home/rmss/zhanggang/hdfs/name</ value >
|
08 |
< name >dfs.namenode.edits.dir</ name >
|
09 |
< value >/home/rmss/zhanggang/hdfs/edits</ value >
|
12 |
< name >dfs.namenode.checkpoint.dir</ name >
|
13 |
< value >/home/rmss/zhanggang/hdfs/checkpoint</ value >
|
16 |
< name >dfs.namenode.checkpoint.edits.dir</ name >
|
17 |
< value >/home/rmss/zhanggang/hdfs/checkpoint_edits</ value >
|
20 |
< name > dfs.datanode.data.dir</ name >
|
21 |
< value >/home/rmss/zhanggang/hdfs/data</ value >
|
24 |
< name >dfs.federation.nameservices</ name >
|
25 |
< value >ns1,ns2</ value >
|
28 |
< name >dfs.namenode.rpc-address.ns1</ name >
|
29 |
< value >h1-1:9000</ value >
|
32 |
< name >dfs.namenode.http-address.ns1</ name >
|
33 |
< value >h1-1:50070</ value >
|
36 |
< name >dfs.namenode.servicerpc-address.ns1</ name >
|
37 |
< value >h1-1:9005</ value >
|
40 |
< name >dfs.namenode.rpc-address.ns2</ name >
|
41 |
< value >h1-2:9000</ value >
|
44 |
< name >dfs.namenode-http-address.ns2</ name >
|
45 |
< value >h1-2:50070</ value >
|
48 |
< name >dfs.namenode.servicerpc-address.ns2</ name >
|
49 |
< value >h1-2:9005</ value >
|
3)h1-3作为backupnode的hadoop-0.23.0/etc/hadoop/hdfs.site配置文件如下:
04 |
< name > dfs.namenode.name.dir</ name >
|
05 |
< value >/home/rmss/zhanggang/hdfs/name</ value >
|
08 |
< name >dfs.namenode.edits.dir</ name >
|
09 |
< value >/home/rmss/zhanggang/hdfs/edits</ value >
|
12 |
< name >dfs.namenode.checkpoint.dir</ name >
|
13 |
< value >/home/rmss/zhanggang/hdfs/checkpoint</ value >
|
16 |
< name >dfs.namenode.checkpoint.edits.dir</ name >
|
17 |
< value >/home/rmss/zhanggang/hdfs/checkpoint_edits</ value >
|
20 |
< name > dfs.datanode.data.dir</ name >
|
21 |
< value >/home/rmss/zhanggang/hdfs/data</ value >
|
24 |
< name >dfs.federation.nameservices</ name >
|
25 |
< value >ns1,ns2</ value >
|
28 |
< name >dfs.namenode.rpc-address.ns1</ name >
|
29 |
< value >h1-1:9000</ value >
|
32 |
< name >dfs.namenode.http-address.ns1</ name >
|
33 |
< value >h1-1:50070</ value >
|
36 |
< name >dfs.namenode.servicerpc-address.ns1</ name >
|
37 |
< value >h1-1:9005</ value >
|
40 |
< name >dfs.namenode.rpc-address.ns2</ name >
|
41 |
< value >h1-2:9000</ value >
|
44 |
< name >dfs.namenode-http-address.ns2</ name >
|
45 |
< value >h1-2:50070</ value >
|
48 |
< name >dfs.namenode.servicerpc-address.ns2</ name >
|
49 |
< value >h1-2:9005</ value >
|
52 |
< name >dfs.namenode.http-address</ name >
|
53 |
< value >h1-1:50070</ value >
|
58 |
< name >dfs.namenode.backup.http-address</ name >
|
59 |
< value >h1-3:8003</ value >
|
62 |
< name >dfs.namenode.backup.address</ name >
|
63 |
< value >h1-3:8002</ value >
|
66 |
< name >dfs.namenode.servicerpc-address</ name >
|
67 |
< value >h1-1:9000</ value >
|
70 |
< name >dfs.federation.nameservice.id</ name >
|
其他一些需要注意的地方:
1)环境变量JAVA_HOME
2)如果显示的datanode名称不对可以指定slave.host.name,到hadoop-0.23.0/etc/hadoop/core.site
如果一切顺利准备启动了
1)bin/hdfs namenode –format –clusterid your_cluster_id
2)sbin/start-hdfs.sh
sbin/start-dfs.sh只负责启动namenode、datanode、secondarynamenode,不负责启动backupnode
3)backupnode启动
ssh h1-3
bin/hdfs namenode -backup
可以打开浏览器分别访问:
1)ns1:
http://h1-1:50070
2)ns2
http://h1-2:50070
3)backupnode
http://h1-3:8003
由于有多个namenode,因此使用hdfs是需要指定某个具体的namenode,例如在ns1和ns2上创建目录可以用下面命令:
bin/hadoop fs -mkdir hdfs://h1-1:9000/test
bin/hadoop fs -mkdir hdfs://h1-2:9000/test
bin/hadoop fs -ls hdfs://h1-1:9000/
因为启动了backup,因此可以查看backupnode的namespace,如下:
bin/hadoop fs -ls hdfs://h1-3:8002/得到的结果和bin/hadoop fs -ls hdfs://h1-1:9000/是一样的)
一切配置完成后启动失败。提示错误的Namenode 路径配置错误。我猜是因为不能在conf里面找到hdfs-site.xml文件,所以我把/hadoop/etc/hadoop/hdfs-site.xml copy到/hadoop/conf下面, 把yarn-env.sh改成hadoop.env,里面添加JAVA_HOME。再次启动成功,Namenode,datanode,backupnode都正常。
分享到:
相关推荐
linux上在centos系统中进行hadoop完全分布式集群安装,在hadoop安装完成后的基础之上安装元数据库Mariadb,配置完成后安装hive,zookeeper等。
对于想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,Spark 集群的构建分为了五个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个细节,构建完整...
毕业设计基于hadoop+spark完全分布式平台的薪资水平预测系统源码(高分项目).zip本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师...
hadoop+spark分布式集群搭建及spark程序示例,例子程序为用二项逻辑斯蒂回归进行二分类分析和一个简单的求平均的程序,两种不同的运行方式
这个过程涉及了虚拟化技术、分布式系统、Hadoop和HBase的安装配置、远程调试等多个环节,每个环节都需要细心操作,确保所有配置正确无误,才能实现Windows7下通过Eclipse对Fedora虚拟机中Hadoop+hBase伪分布式的有效...
基于hadoop+spark完全分布式平台的薪资水平预测系统源代码+数据集(高分毕设&大作业),含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为...
### CentOS下Hadoop+Hbase+ZooKeeper分布式存储部署详解 #### 一、前言与背景 Hadoop是Apache基金会旗下的一个开源分布式计算框架,它最初由Doug Cutting及其团队开发,旨在处理大规模数据集。Hadoop的核心组件...
基于hadoop+hbase+springboot实现分布式网盘系统源码+数据集+详细文档(高分毕业设计).zip基于hadoop+hbase+springboot实现分布式网盘系统源码+数据集+详细文档(高分毕业设计).zip基于hadoop+hbase+springboot...
"Hadoop技术-Hadoop完全分布式安装" Hadoop技术是当前最流行的分布式计算框架之一,广泛应用于数据存储、数据处理和数据分析等领域。Hadoop完全分布式安装是指在多台机器上安装和配置Hadoop,以便更好地处理大规模...
首先,我们来看Hadoop,这是一个分布式文件系统,核心由HDFS(Hadoop Distributed File System)和MapReduce组成。HDFS提供了高容错性和高吞吐量的数据存储,而MapReduce则是用于处理和生成大规模数据集的编程模型。...
基于Python+Hadoop+Spark完全分布式平台的薪资水平预测系统源码+详细文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过...
Hadoop是一种分布式系统基础架构,由Apache基金会开发,广泛用于存储和处理大数据。它主要由HDFS(Hadoop Distributed File System,分布式文件系统)和MapReduce编程模型组成。Hadoop的设计思想是通过简单的编程...
2、大数据环境-安装Hadoop2.5.2伪分布式傻瓜教程 原创
hadoop与spark分布式安装,内容详细,亲自搭建成功。助于新手
Hadoop-2.4.0分布式安装手册
在这个基于Hadoop和Spark的完全分布式薪资水平预测系统中,我们深入探讨了大数据处理与分析的关键技术,以及如何利用这些技术构建一个高效、可扩展的预测模型。Hadoop和Spark是大数据领域的重要工具,它们各自在...
本压缩包提供了这些组件的安装部署资源,便于快速搭建一个完整的Hadoop2.7.1、ZK3.5、HBase2.1和Phoenix5.1.0的基础环境。 首先,Hadoop是Apache开源项目,它提供了分布式文件系统(HDFS)和MapReduce计算框架,...