Hadoop:The Definitive Guid 总结 Chapter 9 构建MapReduce集群
时间:2014-12-30 23:26 来源:cnblogs 作者:IT
1.集群规范
1)配置规范
一般Hadoop DataNode和TaskTracker节点典型机器具有吐下规范:
-
处理器:2个四核 2~2.5 GHz CPU
-
内存:16~24 ECC RAM
-
存储器:4*1TB SATA 磁盘
-
网络:千兆以太网
2).网络拓扑
Hadoop集群架构包含两级网络拓扑,如下图所示,机架拓扑由两个网络位置描述,例如:/交换机1/机架1 和 /交换机1/机架2。这个架构的一突出特点是:同一机架内部节点间的总宽带要远高于不同机架间的节点的宽带
2.集群的构建原装、SSH配置、Hadoop配置
这里只给出Yarn的典型伪分布配置 分布式配置与此差别不大 详见http://hadoop.apache.org/ 里面的配置安装文档较比权威指南的要更加权威和准确
core.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
hdfs.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/dfs/data</value> </property> <property> <name>dfs.federation.nameservices</name> <value>ns1</value> </property> <property> <name>dfs.namenode.rpc-address.ns1</name> <value>localhost:8020</value> </property> <property> <name>dfs.namenode.http-address.ns1</name> <value>localhost:23004</value> </property> <property> <name>dfs.namenode.secondary.http-address.ns1</name> <value>localhost:23005</value> </property> </configuration>
mapred.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.cluster.temp.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/mapred/temp</value> </property> <property> <name>mapreduce.cluster.local.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/mapred/local</value> </property> </configuration>
yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce.shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>localhost:8042</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>localhost:8032</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>localhost:18089</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>localhost:8027</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>localhost:8143</value> </property> </configuration>
3.安全性
Kerberos实现了用户验证,它的职责在于鉴定登陆账号是否是他所声称的用户,Hadoop则决定这个用户到底有多少权限。
使用Kerberos时,客户端要经过三个步骤来获取服务:
1).认证
2).授权
3).服务请求
如下图:
另外还有一种认证方法--委托令牌,它有服务器创建(NameNode),可以视为客户端和服务器之间共享的密文
4.利用基准测试程序测试Hadoop集群
1).使用TestDFSIO来测试HDFS
TestDFSIO能够用于测试HDFS的I/O性能,它用一个MapReduce作业并行地读或写作业
2).使用Sort程序测试MapReduce
整个测试含三个步骤:随机才生一些数据,排序操作,验证结果。
5.云端Hadoop
主要举例在Amazon EC2上的Hadoop 详见相关资料
转载地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/08/13/2635392.html
(责任编辑:IT)
1.集群规范 1)配置规范 一般Hadoop DataNode和TaskTracker节点典型机器具有吐下规范:
2).网络拓扑 Hadoop集群架构包含两级网络拓扑,如下图所示,机架拓扑由两个网络位置描述,例如:/交换机1/机架1 和 /交换机1/机架2。这个架构的一突出特点是:同一机架内部节点间的总宽带要远高于不同机架间的节点的宽带
2.集群的构建原装、SSH配置、Hadoop配置 这里只给出Yarn的典型伪分布配置 分布式配置与此差别不大 详见http://hadoop.apache.org/ 里面的配置安装文档较比权威指南的要更加权威和准确 core.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
hdfs.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/dfs/data</value> </property> <property> <name>dfs.federation.nameservices</name> <value>ns1</value> </property> <property> <name>dfs.namenode.rpc-address.ns1</name> <value>localhost:8020</value> </property> <property> <name>dfs.namenode.http-address.ns1</name> <value>localhost:23004</value> </property> <property> <name>dfs.namenode.secondary.http-address.ns1</name> <value>localhost:23005</value> </property> </configuration>
mapred.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.cluster.temp.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/mapred/temp</value> </property> <property> <name>mapreduce.cluster.local.dir</name> <value>/home/yourname/Hadoop/hadoop-0.23.1/mapred/local</value> </property> </configuration>
yarn-site.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce.shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>localhost:8042</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>localhost:8032</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>localhost:18089</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>localhost:8027</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>localhost:8143</value> </property> </configuration>
3.安全性 Kerberos实现了用户验证,它的职责在于鉴定登陆账号是否是他所声称的用户,Hadoop则决定这个用户到底有多少权限。 使用Kerberos时,客户端要经过三个步骤来获取服务: 1).认证 2).授权 3).服务请求 如下图:
另外还有一种认证方法--委托令牌,它有服务器创建(NameNode),可以视为客户端和服务器之间共享的密文
4.利用基准测试程序测试Hadoop集群 1).使用TestDFSIO来测试HDFS TestDFSIO能够用于测试HDFS的I/O性能,它用一个MapReduce作业并行地读或写作业 2).使用Sort程序测试MapReduce 整个测试含三个步骤:随机才生一些数据,排序操作,验证结果。
5.云端Hadoop
主要举例在Amazon EC2上的Hadoop 详见相关资料 (责任编辑:IT) |