分享

hadoop3.0集群安装知识1

pig2 2018-1-3 11:02:01 发表于 连载型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 11480
问题导读

1.本文是如何定义master的?
2.如何配置hadoop守护进程环境?
3.配置Hadoop守护进程需要哪些配置文件?






目的
本文档介绍如何安装和配置Hadoop集群,从少数节点到数千个节点的超大型集群。 要使用Hadoop,您可以首先将其安装在一台机器上(请参阅单节点安装http://hadoop.apache.org/docs/r3.0.0/hadoop-project-dist/hadoop-common/SingleCluster.html )。本文档不包括安全性或高可用性等高级主题。

准备
安装Java
下载hadoop安装包

安装
安装Hadoop集群通常涉及在群集中的所有计算机上解压缩软件,或者通过适合您操作系统的安装包。

通常,集群中的一台机器被指定为NameNode,另一台机器被指定为ResourceManager。 这些是master。 其他服务(如Web应用程序代理服务器和MapReduce作业历史记录服务器)通常在专用硬件或共享基础结构上运行,具体取决于负载。

集群中其余的机器既充当DataNode又充当NodeManager。 这些是workers。


配置非安全模式的hadoop

Hadoop的Java配置由两种重要的配置文件驱动:

只读的默认配置 - core-default.xml,hdfs-default.xml,yarn-default.xml和mapred-default.xml。

Site-specific 的配置 - etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml,etc/hadoop/yarn-site.xml和etc/hadoop和/mapred-site.xml。

此外,你可以控制分布式目录的bin里面的脚本,设置site-specific 值通过 etc/hadoop/hadoop-env.sh 和etc/hadoop/yarn-env.sh.

要配置Hadoop集群,您需要配置Hadoop守护程序执行的environment 以及Hadoop守护程序的配置参数。

HDFS守护进程是NameNode,SecondaryNameNode和DataNode。 YARN守护进程是ResourceManager,NodeManager和WebAppProxy。 如果要使用MapReduce,则MapReduce作业历史记录服务器也将运行。 对于大型安装,这些安装通常在不同的主机上运行。


配置Hadoop守护程序的环境

管理员应该使用etc/hadoop/hadoop-env.sh 和可选的 etc/hadoop/mapred-env.sh 和etc/hadoop/yarn-env.sh 来定制hadoop守护进程的环境。至少需要指定JAVA_HOME。
管理员可以使用下表中显示的配置选项来配置各个守护进程:

进程
环境变量
NameNode
HDFS_NAMENODE_OPTS
DataNode
HDFS_DATANODE_OPTS
Secondary NameNode
HDFS_SECONDARYNAMENODE_OPTS
ResourceManager
YARN_RESOURCEMANAGER_OPTS
NodeManager
YARN_NODEMANAGER_OPTS
WebAppProxy
YARN_PROXYSERVER_OPTS
Map Reduce Job History Server
MAPRED_HISTORYSERVER_OPTS

例如,要将Namenode配置为使用parallelGC和一个4GB的Java Heap,应该在hadoop-env.sh中添加以下语句:
[mw_shl_code=bash,true]  export HDFS_NAMENODE_OPTS="-XX:+UseParallelGC -Xmx4g"
[/mw_shl_code]
其他示例请参阅etc/hadoop/hadoop-env.sh。

可以定制的其他有用的配置参数包括:

HADOOP_PID_DIR - 守护进程进程标识文件存储的目录。
HADOOP_LOG_DIR - 守护进程日志文件存储的目录。 如果日志文件不存在,将自动创建日志文件。
HADOOP_HEAPSIZE_MAX - 用于Java 的HEAPSIZE最大内存量。 JVM支持的单元也支持这里。 如果没有单位存在,它将被认为是以兆字节为单位的数字。 默认情况下,Hadoop会让JVM决定使用多少。 使用上面列出的相应_OPTS变量,可以在每个守护进程基础上覆盖此值。 例如,设置HADOOP_HEAPSIZE_MAX = 1g和HADOOP_NAMENODE_OPTS =“ - Xmx5g”将以5GB heap配置NameNode。

在大多数情况下,你应该指定hadoop_pid_dir和hadoop_log_dir目录,他们只能通过正在运行Hadoop守护进程的用户写的。否则可能会有符号链接攻击。
在系统范围的shell环境配置中配置HADOOP_HOME也是很传统的。 例如,/etc/profile.d中的一个简单的脚本:
[mw_shl_code=bash,true] HADOOP_HOME=/path/to/hadoop
  export HADOOP_HOME[/mw_shl_code]

配置Hadoop守护进程


本节介绍在给定的配置文件中要指定的重要参数:
etc/hadoop/core-site.xml

参数
说明
fs.defaultFS
NameNode URI
io.file.buffer.size
131072
SequenceFiles使用的读/写缓冲区的大小。

etc/hadoop/hdfs-site.xml
配置NameNode

参数
说明
dfs.namenode.name.dir
NameNode 存储namespace和持久化日志存储的本地文件系统路径
如果是以逗号分隔的目录列表,那么数据将被复制到所有目录中,以实现冗余。
dfs.hosts / dfs.hosts.exclude
permitted/excluded DataNodes表
如有必要,使用这些文件来控制允许的datanode列表
dfs.blocksize
268435456
HDFS块大小为256MB。

dfs.namenode.handler.count
100
用来处理来自DataNode的RPC请求的线程数量


配置datanode
参数
说明
dfs.datanode.data.dir
逗号分隔的DataNode的本地文件系统上应该存储块的路径列表。
如果这是逗号分隔的目录列表,则数据将存储在所有指定的目录中,通常位于不同的devices上。

dfs.datanode.data.dir主要用来扩容,当旧目录已经满,添加新的磁盘的时候,可以使用此属性。更多参考
如何扩容DataNode及遇到问题总结


下一篇
Hadoop3.0集群安装知识2
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23732


本帖被以下淘专辑推荐:

已有(1)人评论

跳转到指定楼层
feiyu1001 发表于 2018-1-3 15:26:47
不错 学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条