Hadoop配置说明

来源:互联网 发布:汽车管家软件 编辑:程序博客网 时间:2024/06/08 20:14

Hadoop有两类配置文件,默认的default-site.xml和可以修改的site.xml,除此之外,还可以通过env.sh设置参数,同时env.sh也用于配置一些环境变量。

一、 通过env.sh配置参数和环境变量

至少要设置JAVA_HOME,也可以通过下表中的参数分别对各个进程进行配置,整体变量意思是这个变量设置之后对左侧的几个进程均有效果。

进程 变量 整体变量 Namenode HADOOP_NAMENODE_OPTS HADOOP_OPTS Secondary namenode HADOOP_SECONDARYNAMENODE_OPTS HADOOP_OPTS Datanode HADOOP_DATANODE_OPTS HADOOP_OPTS Journalnode HADOOP_JOURNALNODE_OPTS HADOOP_OPTS Recource manager YARN_RESOURCEMANAGER_OPTS YARN_OPTS Node manager YARN_NODEMANAGER_OPTS YARN_OPTS WebAppProxy YARN_PROXYSERVER_OPTS YARN_OPTS Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_OPTS

比如在hadoop-env.sh中,有如下配置:

这里写图片描述

从上图可以看出,其实这些参数的设置,是对java在启动时指定参数,即java -Dkey1=value1 -Dkey2=value2 someClass, 这一类参数可以在程序中通过System.getProperty(“key1”)获取。也可以通过它们设定使用何种垃圾回收机制,比如:

  export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"

其实,启动进程时,这些参数都会被包含在HADOOP_OPTS或者YARN_OPTS中的,证明如下:

这里写图片描述

而在指定具体启动什么进程时,会将这种进程的OPT加到HADOOP_OPTS后面,使得不同角色进程拥有自己特有的参数。比如在启动namenode时,会将HADOOP_NAMENODE_OPTS追加至HADOOP_OPTS中,证明如下:
这里写图片描述

通过env.sh还可以设置其他有用参数,如下:

参数 值 HADOOP_PID_DIR Hadoop的pid文件存储目录 HADOOP_LOG_DIR Hadoop日志文件目录 HADOOP_HEAPSIZE Hadoop最大能使用的堆(单位MB),默认1000MB YARN_HEAPSIZE YARN最大能使用的堆(单位MB),默认1000MB

当然也可以分别对进程指定堆内存大小:

进程 变量 整体变量 ResourceManager YARN_RESOURCEMANAGER_HEAPSIZ YARN_HEAPSIZE NodeManager YARN_NODEMANAGER_HEAPSIZE YARN_HEAPSIZE WebAppProxy YARN_PROXYSERVER_HEAPSIZE YARN_HEAPSIZE Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_HEAPSIZE

其实堆内存的设定指定的是在java启动时指定-Xmx, 即java -Xmx1000M最大堆大小。这些堆参数的设定,会被加到JAVA_HEAP_MAX环境变量下:
这里写图片描述

二、 通过site.xml配置参数

可以通过Core-site.xml,hdfs-site.xml,mapred-site.xml,Yarn-site.xml配置文件进行各个组件的配置,具体配置项请查阅官方文档,意义还是比较明确的,这里暂且不表。

原创粉丝点击