`

hadoop-集群管理(1)——配置文件

 
阅读更多
 

1. 配置文件列表如下:

[tianyc@Route conf]$ pwd
/home/tianyc/hadoop-1.0.4/conf
[tianyc@Route conf]$ ll
总用量 76
-rw-rw-r--. 1 tianyc NEU 7457 3月 6 10:38 capacity-scheduler.xml
-rw-rw-r--. 1 tianyc NEU 535 3月 6 10:38 configuration.xsl
-rw-rw-r--. 1 tianyc NEU 371 3月 6 14:26 core-site.xml
-rw-rw-r--. 1 tianyc NEU 327 3月 6 10:38 fair-scheduler.xml
-rw-rw-r--. 1 tianyc NEU 2233 3月 6 10:38 hadoop-env.sh
-rw-rw-r--. 1 tianyc NEU 1488 3月 6 10:38 hadoop-metrics2.properties
-rw-rw-r--. 1 tianyc NEU 4644 3月 6 10:38 hadoop-policy.xml
-rw-rw-r--. 1 tianyc NEU 258 3月 6 10:38 hdfs-site.xml
-rw-rw-r--. 1 tianyc NEU 4441 3月 6 10:38 log4j.properties
-rw-rw-r--. 1 tianyc NEU 2033 3月 6 10:38 mapred-queue-acls.xml
-rw-rw-r--. 1 tianyc NEU 270 3月 7 14:45 mapred-site.xml
-rw-rw-r--. 1 tianyc NEU 19 3月 7 11:52 masters
-rw-rw-r--. 1 tianyc NEU 19 3月 6 10:38 slaves
-rw-rw-r--. 1 tianyc NEU 1243 3月 6 10:38 ssl-client.xml.example
-rw-rw-r--. 1 tianyc NEU 1195 3月 6 10:38 ssl-server.xml.example
-rw-rw-r--. 1 tianyc NEU 382 3月 6 10:38 taskcontroller.cfg

2. 常用配置文件:

  • hadoop-env.sh:记录脚本要用的环境变量。
  • core-site.xml:Hadoop核心配置项
  • hdfs-site.xml:Hadoop守护进程配置项,例如namenode,secondarynamenode和datanode等。
  • mapred-site.xml:MapReduce守护进程配置项,包括jobtracker和tasktracker。
  • master:运行secondarynamenode(而不是namenode)的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点。
  • slave:运行datanode和tasktracker的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点。

3. 配置管理

hadoop支持为所有的节点采用同一套配置文件,这样管理会变得非常简单,不过这对于某些集群来说并不适合。例如在扩展集群时,如果新机器的硬件和现有机器不同,则需要为新机器创建一套新的配置文件,以充分利用新硬件资源。所以,非常推荐在每个节点保存一套配置文件,并由管理员完成这些配置文件的同步工作。hadoop提供了一个基本工具来进行同步配置,即rsync。

这种情况下,需要引入“机器类”的概念,为不同的机器类分别维护一套配置文件。不过hadoop并没有提供执行这个操作的工具,需要借助外部工具,例如Chef,Puppet,cfengine和bcfg2等。

4. 控制脚本

  • start-dfs.sh:在本地节点启动namenode,在slave文件指定的每个节点启动datanode,在master文件指定的每个节点启动secondarynamenode
  • start-mapred.sh:在本地节点启动jobtracker,在slave文件指定的每个节点启动tasktracker。
  • start-all.sh:依次调用start-dfs.sh和start-mapred.sh
  • stop-dfs.sh/stop-mapred.sh/stop-all.sh:前面的start脚本对应的关闭脚本。
  • hadoop-daemon.sh:上述脚本调用它来执行启动和终止hadoop守护进程。如果用户需要从其他系统或自己编写脚本控制hadoop守护进程,可以调用它。
  • hadoop-daemons.sh:用于在多个主机上启动同一hadoop守护进程。

5. 守护进程管理

对于小型集群(几十个节点),可以将namenode、secondarynamenode、jobtracker放到单独一台机器上,但对于大型集群,最好分别放到不同的机器上。

  • namenode:在内存中保存整个命名空间的所有文件和块元数据,它的内存需求很大。
  • secondnamenode:保存一份最新的检查点,记录文件系统的元数据,有助于在数据丢失或系统崩溃时恢复namenode的元数据;它在大多时候空闲,但它创建检查时的内存需求和namenode差不多。一旦文件系统包含大量文件,单台主机可能无法同时运行namenode和secondarynamenode。
  • jobtracker:在一个运行大量mapreduce作业的高负载集群上,jobtracker会使用大量内存和CPU资源,因此它最好运行在一个专用节点上。

HDFS控制脚本需要在namenode机器上运行;mapreduce控制脚本需要在jobtracker机器上运行。

分享到:
评论

相关推荐

    hadoop-eclipse-plugin1.2.1 and hadoop-eclipse-plugin2.8.0

    在创建新项目时,可以指定Hadoop的配置文件路径,插件会自动识别并连接到集群。 总的来说,Hadoop-Eclipse-Plugin是Hadoop开发不可或缺的一部分,无论是1.2.1版本还是2.8.0版本,它们都为开发者提供了便利的工具,...

    大数据安全-kerberos技术-hadoop安装包,hadoop版本:hadoop-3.3.4.tar.gz

    1. 修改Hadoop配置文件(如core-site.xml、hdfs-site.xml、yarn-site.xml等),设置安全相关的参数,启用Kerberos认证。 2. 配置Hadoop的kerberos认证策略,例如,决定哪些操作需要进行Kerberos认证,哪些可以免密。...

    hadoop-2.6.0.tar.gz&hadoop-2.6.0-cdh5.16.2.tar.gz

    这个版本还包含了其他相关工具,如Hadoop命令行工具、Hadoop守护进程等,用于管理和操作Hadoop集群。 而hadoop-2.6.0-cdh5.16.2.tar.gz则是Cloudera公司推出的基于Hadoop 2.6.0的CDH(Cloudera Distribution ...

    hadoop-common-2.7.1-bin-master.zip

    7. **配置管理**:Hadoop的配置文件管理和解析也由Common组件提供,例如core-site.xml和hdfs-site.xml等,这些配置文件定义了Hadoop的行为和参数。 总结来说,"hadoop-common-2.7.1-bin-master.zip"不仅包含了使...

    hadoop-3.2.4.tar.gz

    - `conf`: 默认配置文件,可以在这里配置Hadoop集群的设置。 - `lib`: Hadoop运行所需的库文件。 - `sbin`: 系统级脚本,用于启动、停止和管理Hadoop守护进程。 - `share`: 共享资源,如文档和示例。 - `src`: 源...

    hadoop-2.7.1.tar.gz

    7. **优化与调优**:为了提高Hadoop集群的性能,需要考虑节点配置、网络拓扑、数据分布策略等因素,并可能需要调整MapReduce和HDFS的配置参数。 8. **安全性**:Hadoop 2.7.1支持Kerberos认证,增强了集群的安全性...

    hadoop-2.6.0-cdh5.14.2.tar.gz

    6. 运行测试任务,验证Hadoop集群是否正常工作。 此外,CDH还提供了额外的管理和监控工具,如Cloudera Manager,方便用户对整个集群进行一站式管理,包括安装、配置、监控和优化。这些工具简化了Hadoop在企业环境中...

    hadoop-eclipse-plugin-2.7.4.jar

    通过这个选项,你可以创建一个专门针对Hadoop的MapReduce项目,设置项目属性,包括指定Hadoop配置目录,这样Eclipse就可以连接到你的Hadoop集群,并进行相关的开发工作。 接下来,我们讨论一下这个插件的一些关键...

    hadoop-2.6.0-cdh5.7.0.tar.gz

    在使用这个安装包时,首先需要在服务器集群上解压,然后进行配置,包括设置环境变量、修改配置文件(如core-site.xml、hdfs-site.xml、yarn-site.xml等),以适应具体环境需求。接着,启动Hadoop服务,进行格式化...

    hadoop-common-2.7.5-bin-master

    3. `conf`目录:存放配置文件,如`core-site.xml`、`hdfs-site.xml`等,用于设置Hadoop集群的参数。 4. `sbin`目录:包含系统级别的脚本,如用于初始化或管理Hadoop集群的脚本。 5. `share`目录:通常包含文档、示例...

    hadoop-2.4.1-src

    编译完成后,你可以得到编译后的二进制包,这些包可以部署到Hadoop集群中使用。 了解Hadoop源代码有助于开发者调试问题、优化性能、扩展功能,或者为Hadoop贡献代码。通过阅读和分析源代码,你可以深入理解Hadoop...

    hadoop-2.7.6src.tar.gz的压缩包

    1. **Hadoop Common**: 这部分包含了Hadoop的基础工具和库,如网络通信、文件系统操作、配置管理等,这些是所有Hadoop服务的基础。 2. **Hadoop HDFS (Hadoop Distributed File System)**: HDFS是Hadoop的核心组件...

    hadoop-3.1.4.tar.gz

    另外,为了监控和管理Hadoop集群,可以安装Ambari工具,它提供了一个用户友好的Web界面。 一旦Hadoop安装成功,你可以通过编写MapReduce程序来处理数据。Hadoop支持多种编程语言,如Java、Python和Scala。MapReduce...

    hadoop-eclipse-plugin-2.6.0

    1. **plugin.xml**:这是Eclipse插件的核心配置文件,定义了插件的元数据,包括插件ID、依赖关系、提供的服务和使用的扩展点等。通过这个文件,Eclipse知道如何加载和运行插件。 2. **classes**:这个目录存放的是...

    hadoop-eclipse-plugin-2.6.1.jar

    此外,插件还提供了对Hadoop配置文件的管理,允许开发者在Eclipse中直接查看和修改core-site.xml、hdfs-site.xml、mapred-site.xml等配置文件,无需在命令行或Hadoop配置目录中手动操作。 总结来说,hadoop-eclipse...

    hadoop-2.7.6.tar.zip

    YARN负责集群资源的管理和调度,使得Hadoop可以支持更多类型的计算框架,如Spark、Tez等。此外,MapReduce任务的优化也在持续进行,比如TaskTracker被Container的概念取代,提高了任务执行的灵活性和效率。 Hadoop ...

    hadoop集群配置之————flume安装配置(详细版)

    1. 创建配置文件:例如使用Flume实时监控整个目录的新文件,自动输出到控制台。 2. 在配置文件中,配置一个agent,指定source、channel和sink的类型以及具体参数。 3. 启动Flume agent,监控目录和输出设置,即可...

    hadoop-2.7.2.tar.gz

    3. Federation:NameNode Federation允许在一个Hadoop集群中部署多个NameNode实例,每个实例管理一部分命名空间,解决了单点瓶颈问题,提升了系统的扩展性。 4. Erasure Coding:2.7.2版本开始引入Erasure Coding,...

    hadoop-2.7.6-src

    - `hadoop-common`:包含了Hadoop的通用工具和库,如网络通信、配置管理、安全认证等。 - `hadoop-hdfs`:实现HDFS的模块,包括NameNode、DataNode和Secondary NameNode等组件。 - `hadoop-yarn`:YARN(Yet ...

    hadoop-eclipse插件2.8.1版本和2.6.5版本

    - 配置:在Eclipse中,进入“Window” -> “Preferences” -> “Hadoop Map/Reduce”,配置Hadoop集群的连接信息,包括Hadoop的安装路径、 Namenode地址和JobTracker(如果是旧版本)或ResourceManager(如果是YARN...

Global site tag (gtag.js) - Google Analytics