配色: 字号:
part8-hadoop调优和运维
2018-06-23 | 阅:  转:  |  分享 
  
Hadoop调优和运维Hadoop的客户端在以前使用hadoop的时候,我们执行过开启hdfs,yarn集群,提交文件到hdfs上等操作。当
时我们是在集群中的任意节点上指定这些命令的。也就是说我们将执行任务的集群中的一个节点当成了客户端。这样做使得集群维护十分困难。因
此我们最后将客户端单独分离出来,即添加一个节点,该节点不属于集群节点,也就是说该节点不执行集群中有关数据操作的任何操作。我们将该节
点作为客户端,之前所说的hive,sqoop等都属于hadoop的客户端,因此对于hive等操作,我们都将其移动到客户端来执行。
我们在客户端上可以进行集群开启,程序提交,文件查询等工作。配置客户端很简单,客户端所在的节点与集群中的节点一样,我们并不用担心当
开启集群时,单拿出来的这个客户端节点也会被开启hdfs等的守护进程,它是不会被开启的。一来我们想要在哪台节点上开启datanode
进程,则必须在该节点上手动执行hadoop-daemon.shstartdatanode命令。二来即是我们使用的是star
t-dfs.sh命令来开启集群中所有的hdfs进程,但只要我们不再slaver文件中将客户端节点的IP写入,那么客户端节点也不会
被启动进程。Hadoop性能调优Hadoop调优可以从四个方面来考虑选择合适的硬件虽然hadoop能够在普通的硬件上良好地运行,所
以不需要昂贵的硬件,但是仍然需要考虑实际工作中的硬件负荷,如CPU、内存和磁盘。对于主节点就需要高质量的机器,而从节点次之。Sen
condarynamenode也需要高质量的机器。Hadoop中的元数据可以分成两种,一个是namenode的元数据,一个是r
esourceManager上的元数据。(1)Namenode的元数据的大小跟文件的block块数有关:当启动hdfs时,name
node会将自己的元数据加载到自己所在节点的内存中,若是内存不足,则一般考虑使用联邦集群。resourceManager上的元数据
与作业数量有关:resourceManager保存了最近100个(默认配置)运行在集群上的作业的元数据信息,这些信息随着作业的完成
度增长而增长,这些信息都被存放在resourceManager的内存中,所以在考虑resourceManagerde内存时,需要
考虑集群的使用场景。(2)操作系统调优1、避免使用swap分区Swap分区是指在系统的物理内存不够用的时候,把物理内存中的一部分空
间释放出来,以供当前运行的程序使用。通过vm.swappiness参数进行控制,值域为0-100,值越高说明操作系统内核更积极地将
应用程序的数据集交换到磁盘。将hadoop守护进程的数据交换到磁盘的行为时危险的,有可能导致操作超时,所以将该值设为0.2、调整内
存分配策略修改net.core.somaxconn参数增大同时打开文件描述符的上限选择合适的文件系统(3)JVM调优(4)hado
op参数调优1hdfs-site.xml2Core-site.xmlyarn-site.xml4mapred-site.xml
献花(0)
+1
(本文系实习生101首藏)