Hadoop集群参数配置原则

2019-03-28 14:00|来源: 网络

dfs.datanode.handler.count
datanode上用于处理RPC的线程数。默认为3,较大集群,可适当调大些,比如8。需要注意的是,每添加一个线程,需要的内存增加。

tasktracker.http.threads

HTTP server上的线程数。运行在每个TaskTracker上,用于处理map task输出。大集群,可以将其设为40~50。

dfs.replication 

文件副本数,通常设为3,不推荐修改
dfs.block.size
HDFS中数据block大小,默认为64M,我们是128MB
mapred.local.dir
运行 mapreduce 中间结果存储处 
dfs.data.dir
HDFS Block 存储空间
数据 使用 压缩  - LZO (使用更多 map)
FileInputFormat.setMaxInputSplitSize(job, 64 *1024 * 1024);

{map/reduce}.tasks.maximum
同时运行在TaskTracker上的最大map/reduce task数,
io.sort.factor
当一个map task执行完之后,本地磁盘上(mapred.local.dir)有若干个spill文件,merge sort 把这些文件合成一个。执行merge sort的时候,每次同时打开多少个spill文件由该参数决定。打开的文件越多,不一定merge sort就越快,所以要根据数据情况适当的调整。
mapred.child.java.opts
设置JVM堆的最大可用内存,需从应用程序角度进行配置。

io.sort.mb

Map task的输出结果在内存中所占的buffer总大小。

mapred.compress.map.output/ Mapred.output.compress
中间结果和最终结果是否要进行压缩,如果是,指定压缩方式(Mapred.compress.map.output.codec/ Mapred.output.compress.codec)。推荐使用LZO压缩。Intel内部测试表明,相比未压缩,使用LZO压缩的 TeraSort作业运行时间减少60%,且明显快于Zlib压缩。

reduce task相关配置
Reduce shuffle阶段copier线程数。默认是5,对于较大集群,可调整为16~25。

相关问答

更多
  • Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭 建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,...
  • 如果是端口的问题,你去查一下怎么允许端口就行了。。
  • 在过去,大数据处理主要是采用标准化的刀片式服务器和存储区域网络(SAN)来满足网格和处理密集型工作负载。然而随着数据量和用户数的大幅增长,基础设施的需求已经发生变化,硬件厂商必须建立创新体系,来满足大数据对包括存储刀片,SAS(串行连接SCSI)开关,外部SATA阵列和更大容量的机架单元的需求。即寻求一种新的方法来存储和处理复杂的数据,Hadoop正是基于这样的目的应运而生的。Hadoop的数据在集群上均衡分布,并通过复制副本来确保数据的可靠性和容错性。因为数据和对数据处理的操作都是分布在服务器上,处理指令 ...
  • 随着Apache Hadoop的起步,云客户的增多面临的首要问题就是如何为他们新的的Hadoop集群选择合适的硬件。 尽管Hadoop被设计为运行在行业标准的硬件上,提出一个理想的集群配置不想提供硬件规格列表那么简单。 选择硬件,为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性。(比如,IO密集型工作负载的用户将会为每个核心主轴投资更多)。 在这个博客帖子中,你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用。在这个过程中,你也将学到Hadoop管理员应该考虑到各种因素。 结合 ...
  • 您好,很高兴为您解答。 在过去,大数据处理主要是采用标准化的刀片式服务器和存储区域网络(SAN)来满足网格和处理密集型工作负载。然而随着数据量和用户数的大幅增长,基础设施的需求已经发生变化,硬件厂商必须建立创新体系,来满足大数据对包括存储刀片,SAS(串行连接SCSI)开关,外部SATA阵列和更大容量的机架单元的需求。即寻求一种新的方法来存储和处理复杂的数据,Hadoop正是基于这样的目的应运而生的。Hadoop的数据在集群上均衡分布,并通过复制副本来确保数据的可靠性和容错性。因为数据和对数据处理的操作都是 ...
  • Hadoop 集群的安装配置大致为如下流程: 选定一台机器作为 Master 在 Master 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境 在 Master 节点上安装 Hadoop,并完成配置 在其他 Slave 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境 将 Master 节点上的 /usr/local/hadoop 目录复制到其他 Slave 节点上 在 Master 节点上开启 Hadoop
  • 特点1:MAC(Mandatory Access Control)―――对访问的控制彻底化 对于所有的文件,目录,端口这类的资源的访问,都可以是基于策略设定的,这些策略是由管理员定制的、一般用户是没有权限更改的。 对于进程只赋予最小的权限 特点2:TE (Type Enforcement)――― 对于进程只赋予最小的权限 Te概念在 SELinux里非常的重要。它的特点是对所有的文件都赋予一个叫type的文件类型标签,对于所有的进程也赋予各自的一个叫 domain的 标签。Domain标签能够执行的操作也是 ...
  • 请注意,您使用的curl命令是用于以蓝图格式(其XGET)下载现有群集配置。 您将不得不使用curl -XPOST注册并将新蓝图上传到ambari。 curl --verbose -H "X-Requested-By: ambari" -X POST -u admin:admin http://10.14.5.40:8080/api/v1/blueprints/:HDP6new?validate_topology=false --data "@./blueprint.json" 还要注意,要改变现有的群 ...
  • 它需要这样的东西: conf.set("hadoop.security.authentication", "Kerberos"); UserGroupInformation.setConfiguration(conf); It requires something like this: conf.set("hadoop.security.authentication", "Kerberos"); UserGroupInformation.setConfiguration(conf);
  • 没有公式。 这取决于你有多少核心和多少内存。 映射器的数量+减速器的数量一般不应超过核心数量。 请记住,该计算机还运行任务跟踪器和数据节点守护程序。 一般的建议是更多地图绘制器而不是减速器。 如果我是你,我会用合理数量的数据运行我的一个典型工作来试试。 There is no formula. It depends on how many cores and how much memory do you have. The number of mapper + number of reducer shoul ...