`
richard_2010
  • 浏览: 64105 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

搭建hadoop集群

阅读更多

一、前言
      本文假设你对hadoop有理论上的了解,因此不对hadoop及其涉及的概念做基本介绍,仅记录如何搭建一个可用的hadoop集群。不过提到hadoop不得不提引导其出生的Google发表的MapReduce论文,顺便感慨下Google的强大。最近Google的风头逐渐被如日中天的Facebook盖过,再顺便感慨下互联网时代的风云变幻。

二、搭建
1、准备工作
      要搭建一个物理上的hadoop集群,首先你得有几台机器吧,配置不用高,hadoop提倡的就是在低廉的物理设备上提供可靠的高性能计算能力。机器上装好Linux系统,JDK,ssh和hadoop。我用的是Ubuntu11.04,openjdk1.6和hadoop-0.19.1。另外配置好JAVA_HOME, HADOOP_HOME等环境变量,将HADOOP_HOME/bin加入PATH中。你可以去这里,根据上面的快速入门文档,在单机上跑一跑,看是否做好了全部准备工作。另外hadoop比较依赖JDK版本,0.19.x必须1.5以上版本,0.20.x则需1.6以上版本,如果你在配置集群或者运行MapReduce程序时出现莫名其妙的问题时需要检查你的JDK版本,可以去这里看看。

2、基础配置
      首先确保你每台机器名不一样,改机器名修改这个文件/etc/hostname。通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters,可以是一台机器。余下的机器即作为DataNode也作为TaskTracker,这些机器是slaves。配置/etc/hosts文件指定master和slave的IP地址,我的配置如图所示:

      进入hadoop根目录下的conf目录,修改masters和slaves文件,将我们的机器名添加进masters文件,slave机器名添加进slaves文件,注意一行一个。
      修改conf目录下的hadoop-site.xml文件,下面是我在网上找到的一些配置信息,直接copy进去可用(注意里面目录信息记得根据自身机器情况进行修改):
<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://master:54310/</value>
</property>
<property>
   <name>mapred.job.tracker</name>
   <value>hdfs://master:54311/</value>
</property>
<property>
   <name>dfs.replication</name>
   <value>3</value>                                     #指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/tmp/</value>      #hadoop的tmp目录路径
</property>
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/name/</value>      #hadoop的name目录路径
</property>
<property>
   <name>mapred.child.java.opts</name>
   <value>-Xmx512m</value>                        #进程
</property>
<property>
  <name>dfs.block.size</name>
  <value>67108864</value>
</property>                                                    #新文件默认block大小
<property>  
  <name>dfs.permissions</name>  
  <value>false</value>                                   #效验HDFS文件系统权限
</property>  
<property>  
   <name>dfs.web.ugi</name>  
   <value>hadoop,supergroup</value>          #hadoop页面访问权限
</property>
<property>
   <name>heartbeat.recheck.interval</name>
   <value>5000</value>                                  #心跳间隔时间,5000秒=40分
</property>
</configuration>
这些都需要在每台机器里面配置,不同的是slaves中配置hadoop-site.xml文件时去掉
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/name/</value> 
</property>
改成:
<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/data/</value> 
</property>
最后在hadoop根目录下建立临时文件目录tmp。

3、配置ssh
      虽然hadoop框架本身不需要ssh,但是它的守护程序(比如TaskTracker,DataNode)需要用到,所以要配置ssh,保证命令执行时不需要再输入密码,根据前人 经验,如果都是Master启动和关闭hadoop的话只需要建立单向(master到slaves)ssh连接就可以了。配置的方法网上很多,前面的链接里面都有提到,这里就不再赘述了。

4、启动hadoop集群
      启动Hadoop集群需要启动HDFS集群和Map/Reduce集群。启动之前需要格式化一个新的分布式文件系统,在master机器上运行:hadoop namenode –dfs。输入命令:start-dfs.sh启动HDFS,输入:start-mapred.sh启动MapReduce。也可以输入start-all.sh启动所有。

5、 验证
      输入命令:netstat –tnl可以看到hadoop的一些端口都已经开放了。在浏览器输入

http://master:50030

http://master:50070


均可正常访问。在集群正常运行时可以访问这两个地址查看集群运行状况。

6、加入hadoop集群
      如果一个hadoop集群已经在运行中,你又有了一些slave机器或者是宕掉的机器想加入这个集群,前者需要在master机器的HADOOP_HOME/conf/slaves文件中添加自己的机器名,再执行:
      hadoop-daemon.sh start datanode
      hadoop-daemon.sh start tasktracker
即可不用停掉集群动态添加进去。

7、停止hadoop集群
      stop-dfs.sh停用HDFS, stop-mapred.sh停用MapReduce。或者输入stop-all.sh。

三、总结
      集群的搭建工作并不是一件太难的事情,关键在于深入了解hadoop的内部运行机制,根据不同的情况对集群做一些优化配置,特殊的情况需要对hadoop源码进行一些改进。集群的配置还需要根据长期的生产运行跟进监控,不断的改进使它更适合我们的生产环境,没有最好的配置,只有最适合我们的配置。

 

  • 大小: 7.2 KB
  • 大小: 35.8 KB
  • 大小: 45.5 KB
分享到:
评论
1 楼 zhanzhan02 2011-07-19  
犀利啊 顶  希望可以连载

相关推荐

    基于Docker搭建Hadoop集群(2).docx

    "基于Docker搭建Hadoop集群" 在本文中,我们将介绍如何基于Docker搭建Hadoop集群。Hadoop是大数据处理的常用工具,而Docker则是当前最流行的容器化技术。通过将Hadoop部署到Docker容器中,我们可以更方便地管理和...

    脚本搭建hadoop集群

    脚本搭建hadoop集群 可以自定义主机名和IP地址 可以自定义安装jdk和hadoop(格式为*tar.gz) 注意事项 1、安装完jdk和hadoop请手动source /etc/profile 刷新环境变量 2测试脚本环境为centOS6,其他操作系统会有些...

    大数据教程之搭建Hadoop集群.zip_大数据环境搭建hadoop

    标题中的“大数据教程之搭建Hadoop集群.zip_大数据环境搭建hadoop”暗示了这是一个关于如何在大数据环境中构建Hadoop集群的教程。Hadoop是Apache软件基金会的一个开源项目,主要用于处理和存储海量数据,其分布式...

    LinuxRedHat、CentOS上搭建Hadoop集群.pdf

    搭建Hadoop集群在LinuxRedHat、CentOS上的实现 Hadoop是一种流行的开源大数据处理平台,由Google开发,现被Apache基金会维护。Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce,分别负责数据存储...

    Linux_RedHat、CentOS上搭建Hadoop集群

    【搭建Hadoop集群详解】 Hadoop是一个开源的分布式计算框架,专为处理和存储大量数据而设计。它的核心设计理念是高容错性、高效性和可扩展性,这使得Hadoop能够在大规模集群中处理PB级别的数据。Hadoop的可靠性源于...

    搭建hadoop集群的全部配置文件

    在搭建Hadoop集群的过程中,配置文件起着至关重要的作用,它们定义了集群的运行方式、节点间通信方式以及数据存储和处理的策略。本压缩包包含的文件是全面的Hadoop集群配置集合,旨在帮助用户顺利构建和管理自己的...

    mac环境下hadoop集群搭建

    在进行搭建Hadoop集群的过程中,需要注意的是本文档提到的参考资料,包括北航王宝会老师在Windows下大数据虚拟集群配置的指导,以及CSDN博主zhishengqianjun关于VMware Fusion配置Nat静态IP的文章,它们为本文档的...

    hadoop集群搭建(超级详细)

    在搭建Hadoop集群之前,首先需要准备多台虚拟机。可以使用VMware或VirtualBox等虚拟机软件,创建至少三台虚拟机,分别作为NameNode、DataNode和Secondary NameNode。确保每台虚拟机的网络设置为同一网络模式(如NAT...

    通过虚拟化技术在Linux系统下搭建Hadoop集群的研究与实现.pdf

    本文主要研究了通过虚拟化技术在Linux系统下搭建Hadoop集群的方法,并对其进行了详细的研究和实现。首先,文章对Hadoop进行了简介,介绍了Hadoop的框架、HDFS和MapReduce等核心组件,并对Hadoop集群的组成进行了说明...

    使用 IBCS 虚拟专线搭建 Hadoop 集群:详细步骤与优势

    为了提高集群的性能、稳定性和安全性,许多企业选择了使用 IBCS 虚拟专线来搭建 Hadoop 集群。 IBCS 虚拟专线是基于 IP 专线技术的二层网络服务,它为本地服务器提供独享且固定的 IP 地址,类似于物理专线,但更...

    《Hadoop大数据开发实战》教学教案—02搭建Hadoop集群.pdf

    标题 "《Hadoop大数据开发实战》教学教案—02搭建Hadoop集群" 是关于Hadoop大数据开发实战课程中第二章的教学内容,主要聚焦于如何在Linux环境下搭建Hadoop集群。描述提到该章节适用于互联网相关领域的学习,暗示了...

    Hadoop集群环境虚拟机上搭建详解

    根据提供的文件信息,下面将详细介绍在虚拟机上搭建Hadoop集群环境的相关知识点。 1. 安装虚拟机和操作系统 首先,需要安装虚拟机软件,例如文档中提到的VMware Workstation,它是一款流行的虚拟化软件,可以安装在...

    Hadoop集群构建实训报告.doc

    这些步骤是搭建Hadoop集群的基础,每一步都至关重要,确保了集群的安全性和稳定性。在实际部署过程中,还需要根据具体需求进一步配置Hadoop的相关组件,如HDFS、MapReduce等,以满足数据处理的需求。

    《Hadoop大数据开发实战》教学教案—02搭建Hadoop集群.docx

    在本章《Hadoop大数据开发实战》的教学中,我们将深入探讨如何搭建Hadoop集群,这是进行大数据处理的基础。首先,我们需要了解的是,Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理领域,尤其是在Linux...

    大数据教程之搭建Hadoop集群.zip

    在大数据领域,Hadoop...总之,搭建Hadoop集群是一个涉及多步骤的过程,需要理解Hadoop的基本原理,并熟悉Linux环境下的系统管理和网络配置。通过这些文档和资源,你可以逐步学习并实践,建立起自己的大数据处理平台。

    从零开始搭建hadoop集群 视频 # 谭子

    大数据课程入门,使用Vm虚拟机搭建hadoop集群,用到的系统是centOS6.8,该视频同步了如何安装虚拟机、修改虚拟网卡、配置ssh环境、配置JDK1.8及hadoop2.7.4。视频时长一小时半,当然也可以看另外一条链接:...

    CM5和CDH5 搭建Hadoop 集群

    在本篇中,我们将探讨如何使用CM5和CDH5搭建Hadoop集群,包括安装过程、可能遇到的问题以及解决方案。CM5(Cloudera Manager 5)是Cloudera公司提供的一个管理工具,用于简化Hadoop集群的部署、管理和监控。而CDH5...

    搭建Hadoop集群所需的tar包.zip

    在这个"搭建Hadoop集群所需的tar包.zip"压缩文件中,包含了几个关键组件:Hadoop、HBase、Kafka、ZooKeeper以及Apache Flume。这些工具在大数据生态系统中扮演着重要角色,下面将详细介绍它们的功能和在集群搭建中的...

Global site tag (gtag.js) - Google Analytics