1. 目的
2. 前期准备
- 安装Java,有关已知的好版本,请参阅Hadoop Wiki。
- 从Apache镜像下载一个稳定版本的Hadoop。
3. 安装
- 安装Hadoop集群通常涉及在群集中的所有机器上打开软件包,或者通过适用于您的操作系统的包装系统来安装它。将硬件分成功能是很重要的。
- 通常,集群中的一台计算机被指定为NameNode,另一台计算机被指定为ResourceManager。这些是Masters。其他服务(例如Web App代理服务器和MapReduce作业历史记录服务器)通常在专用硬件或共享基础设施上运行,具体取决于负载。
- 集群中的其余计算机充当DataNode和NodeManager。这些是Slaves。
4. 在非安全模式下配置Hadoop
Hadoop的Java配置由两种类型的重要配置文件驱动:
只读缺省配置–core-default.xml,hdfs-default.xml,yarn-default.xml和mapred-default.xml。
设置特定的配置 - etc / hadoop / core-site.xml,etc / hadoop / hdfs-site.xml,etc / hadoop / yarn-site.xml和etc / hadoop / mapred-site.xml。
此外,您可以通过etc / hadoop / hadoop-env.sh和etc / hadoop / yarn-env.sh设置特定于站点的值,从而控制分发包的bin /目录中的Hadoop脚本。
要配置Hadoop集群,您需要配置Hadoop守护程序执行的环境以及Hadoop守护程序的配置参数。
HDFS守护程序是NameNode,SecondaryNameNode和DataNode。
YARN 守护进程是ResourceManager,NodeManager和WebAppProxy。
如果要使用MapReduce,则MapReduce作业历史记录服务器也将运行。对于大型安装,这些通常在单独的主机上运行。
4.1配置Hadoop后台进程的环境
管理员应该使用etc / hadoop / hadoop-env.sh和可选的etc / hadoop / mapred-env.sh和etc / hadoop / yarn-env.sh脚本对Hadoop守护进程环境进行特定于站点的定制
至少,您必须指定JAVA_HOME,以便在每个远程节点上正确定义它。
管理员可以使用下表中所示的配置选项配置单个守护程序:
Daemon | Environment Variable |
---|---|
NameNode | HADOOP_NAMENODE_OPTS |
DataNode | HADOOP_DATANODE_OPTS |
Secondary NameNode | HADOOP_SECONDARYNAMENODE_OPTS |
ResourceManager | YARN_RESOURCEMANAGER_OPTS |
NodeManager | YARN_NODEMANAGER_OPTS |
WebAppProxy | YARN_PROXYSERVER_OPTS |
Map Reduce Job History Server | HADOOP_JOB_HISTORYSERVER_OPTS |
例如,要配置Namenode以使用parallelGC,应在hadoop-env.sh中添加以下语句:
export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"
有关其他示例,请参阅etc / hadoop / hadoop-env.sh。
您可以自定义的其他有用的配置参数包括:
- HADOOP_PID_DIR - 守护进程id文件的存储目录。
- HADOOP_LOG_DIR - 守护程序日志文件的存储目录。如果日志文件不存在,则自动创建日志文件。
- HADOOP_HEAPSIZE / YARN_HEAPSIZE - 要使用的最大堆大小,以MB为单位。如果varibale设置为1000,则堆将设置为1000MB。这用于配置守护程序的堆大小。默认情况下,值为1000。如果要为每个deamon分别配置值,您可以使用。
在大多数情况下,应指定HADOOP_PID_DIR和HADOOP_LOG_DIR目录,以便只能由要运行hadoop守护程序的用户写入。否则,有可能发生符号链接攻击。
在系统范围的shell环境配置中配置HADOOP_PREFIX也是传统的。例如,一个简单的脚本在/etc/profile.d:
HADOOP_PREFIX=/path/to/hadoop
export HADOOP_PREFIX
Daemon | Environment Variable |
---|---|
ResourceManager | YARN_RESOURCEMANAGER_HEAPSIZE |
NodeManager | YARN_NODEMANAGER_HEAPSIZE |
WebAppProxy | YARN_PROXYSERVER_HEAPSIZE |
Map Reduce Job History Server | HADOOP_JOB_HISTORYSERVER_HEAPSIZE |
4.2配置Hadoop守护程序
本节介绍在给定配置文件中指定的重要参数:
etc/hadoop/core-site.xml
Parameter | Value | Notes |
---|---|---|
fs.defaultFS | NameNode URI | hdfs://host:port/ |
io.file.buffer.size | 131072 | 用于SequenceFiles中的读/写缓冲区的大小。 |
etc/hadoop/hdfs-site.xml
- 1.N