Hadoop配置文件主要作用详解,即hadoop+hbase+zookeep配置方法(5台)

主机名 zookeeper Hadoop Hbase
gdy231 QuorumPeerMain NameNode【名称节点】
DFSZKFailoverController【Hadoop Ha进程维持namenode高可用】
JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
JobHistoryServer【可以通过该服务查看已经运行完了的作业记录】
Hmaster
HRegionServer
gdy232
QuorumPeerMain
NameNode【名称节点】
DFSZKFailoverController【Hadoop Ha进程维持namenode高可用】
JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
Hmaster
HRegionServer
gdy233
QuorumPeerMain
JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】
DataNode【数据节点】
NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer
gdy234
QuorumPeerMain
JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】
DataNode【数据节点】
NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer
gdy235
QuorumPeerMain
JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】
DataNode【数据节点】
NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer



配置文件:core-site.xml
属性 说明
fs.defaultFS hdfs://gdy hadoop访问目录节点nameNode默认为:hdfs://gdy
hadoop.tmp.dir /ftpftp/ogg/gdydata/hadoopData/hadooptmp Hadoop的临时存放目录
/ftpftp/ogg/gdydata/hadoopData/hadooptmp
ha.zookeeper.quorum gdy231:2181,gdy232:2181,gdy233:2181,
gdy234:2181,gdy235:2181
Ha功能,需要一组zk地址,用逗号分隔。被ZKFailoverController使用于自动失效备援failover。
io.native.lib.available TRUE  是否启动Hadoop的本地库,默认启用。本地库可以加快基本操作,例如IO,压缩等。


配置文件:hdfs-site.xml
属性 说明
hbase.rootdir hdfs://gdy/hbase 配置hbase在HDFS文件系统中存放文件的根目录
dfs.nameservices gdy 【 nameservices列表。逗号分隔。
 我们常用的仅配置一个,启动federation功能需要配置多个】
个人理解:gdy类似于一个变量,与之前的【hbase.rootdir】和【fs.defaultFS】关联,但这里只是声明了一个名字,为servicName的名字,可以声明多个,目前只声明一个。下面会配置这个servicName具体代表什么。
dfs.ha.namenodes.gdy nn1,nn2 【 包含一个NN列表。EXAMPLENAMESERVICE是指具体的nameservice名称,通常就是dfs.nameservices中配置的。
 值是预备配置的NN的ID。ID是自己取的,不重复就可以,例如nn1,nn2】
个人理解:和【dfs.nameservices】差不多,类似于声明变量,但还没指定值
dfs.namenode.rpc-address.gdy.nn1 gdy231:9000 【ns1使用了nn1节点为对外服务地址的RPC地址】
注意这里ns1已经被替换成gdy。这里是给之前nn1规定具体的值。
dfs.namenode.http-address.gdy.nn1 gdy231:50070 【ns1使用了nn1节点为对外服务地址的http地址】
和上面类似
dfs.namenode.rpc-address.gdy.nn2 gdy232:9000 【ns1使用了nn2为对外服务地址的RPC地址】
dfs.namenode.http-address.ns1.nn2 gdy232:50070 【ns1使用了nn2为对外服务地址的http地址】
dfs.namenode.shared.edits.dir qjournal://gdy231:8485;gdy232:8485;gdy233:8485;gdy234:8485;gdy235:8485/gdy 【同时把NameNode元数据和日志存放在JournalNode上】

启动自动failover。自动failover依赖于zookeeper集群和ZKFailoverController(ZKFC),后者是一个zookeeper客户端,
 用来监控NN的状态信息。每个运行NN的节点必须要运行一个zkfc。zkfs提供了下面的功能:
Health monitoring zkfc定期对本地的NN发起health-check的命令,如果NN正确返回,那么这个NN被认为是OK的。
 否则被认为是失效节点。
ZooKeeper session management 当本地NN是健康的时候,zkfc将会在zk中持有一个session。
 如果本地NN又正好是active的,那么zkfc还有持有一个”ephemeral”的节点作为锁,一旦本 地NN失效了,
 那么这个节点将会被自动删除。
ZooKeeper-based election 如果本地NN是健康的,并且zkfc发现没有其他的NN持有那个独占锁。
 那么他将试图去获取该锁,一旦成功,那么它就需要执行Failover,然后成为active的NN节点。
Failover的过程是:第一步,对之前的NN执行fence,如果需要的话。第二步,将本地NN转换到active状态。
启动zkfc的方法如下:hadoop-daemon.sh start zkfc。通过start-dfs.sh会自动启动该进程,一般无需手动起停。
dfs.journalnode.edits.dir /ftpftp/ogg/gdydata/hadoopData/hadoopedits 配置edits数据存放位置
dfs.namenode.name.dir /ftpftp/ogg/gdydata/hadoopData/hadoopname NN存放元数据和日志位置
dfs.datanode.data.dir /ftpftp/ogg/gdydata/hadoopData/hadoopdata 配置hdfs每个数据节点存放位置
dfs.replication 3 配置系统自动数据备份数量为3份(默认是3份)
dfs.ha.automatic-failover.enabled TRUE 是否开启自动故障转移。建议开启,true 
dfs.client.failover.proxy.provider.gdy org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider client的failover代理配置
dfs.ha.fencing.methods sshfence  HDFS的HA功能的防脑裂方法。可以是内建的方法(例如shell和sshfence)或者用户定义的方法。
 建议使用sshfence(hadoop:9922),括号内的是用户名和端口,注意,这需要NN的2台机器之间能够免密码登陆
fences是防止脑裂的方法,保证NN中仅一个是Active的,如果2者都是Active的,新的会把旧的强制Kill。
dfs.ha.fencing.ssh.private-key-files /home/ogg/.ssh/id_rsa  密钥认证文件


配置文件mapred-site.xml
属性 说明
mapreduce.framework.name yarn 其中,名称mapreduce.framework.name指的是使用yarn运行mapreduce程序
mapreduce.jobhistory.address gdy231:10020 MapReduce JobHistory Server地址。
mapreduce.jobhistory.webapp.address gdy231:19888 MapReduce JobHistory Server Web UI地址。
mapreduce.jobhistory.joblist.cache.size 20000 内存中缓存的historyfile文件信息(主要是job对应的 文件目录,)

配置文件【slaves】  slaves记录的是需要执行start-all.sh(或相关命令)时,需要远程启动tasktracker与datanode的节点。
配置文件【masters】老版本用,新的不要了 masters记录的是需要启动secondary namenode的节点, 不是namenode,它也和mapreduce没任何关系。

配置文件yarn-site.xml
属性 说明
yarn.nodemanager.aux-services mapreduce_shuffle NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
yarn.resourcemanager.connect.retry-interval.ms 2000 rm失联后重新链接的时间
yarn.resourcemanager.ha.enabled TRUE 启用RM高可用
yarn.resourcemanager.ha.automatic-failover.enabled TRUE 是否启用自动故障转移。默认情况下,在启用HA时,启用自动故障转移。
yarn.resourcemanager.ha.automatic-failover.embedded TRUE 启用内置的自动故障转移。默认情况下,在启用HA时,启用内置的自动故障转移。
yarn.resourcemanager.cluster-id yarn-cluster (RM集群标识符)集群的Id,elector使用该值确保RM不会做为其它集群的active。
yarn.resourcemanager.ha.rm-ids rm1,rm2,rm3 指定两台RM主机名标识符
yarn.resourcemanager.scheduler.class org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler 启用的资源调度器主类。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler。
yarn.resourcemanager.ha.automatic-failover.recover.enabled TRUE RM故障自动切换
yarn.resourcemanager.hostname.rm1 gdy233 RM主机1
yarn.resourcemanager.hostname.rm2 gdy234 RM主机2
yarn.resourcemanager.hostname.rm3 gdy235 RM主机3
yarn.resourcemanager.recovery.enabled TRUE RM故障自动恢复
yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms 5000 schelduler失联等待连接时间
yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore RM状态信息存储方式,一种基于内存(MemStore),另一种基于ZK(ZKStore)
yarn.resourcemanager.zk-address gdy231:2181,gdy232:2181,gdy233:2181,gdy234:2181,gdy235:2181 使用ZK集群保存状态信息 
yarn.resourcemanager.zk.state-store.address gdy231:2181,gdy232:2181,gdy233:2181,gdy234:2181,gdy235:2181
yarn.resourcemanager.address.rm1 gdy233:23140 客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.address.rm2 gdy234:23140 客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.address.rm3 gdy235:23140 客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.scheduler.address.rm1 gdy233:23130  向RM调度资源地址
yarn.resourcemanager.scheduler.address.rm2 gdy234:23130 向RM调度资源地址
yarn.resourcemanager.scheduler.address.rm3 gdy235:23130 向RM调度资源地址
yarn.resourcemanager.admin.address.rm1 gdy233:23141 管理员通过该地址向RM发送管理命令
yarn.resourcemanager.admin.address.rm2 gdy234:23141 管理员通过该地址向RM发送管理命令
yarn.resourcemanager.admin.address.rm3 gdy235:23141 管理员通过该地址向RM发送管理命令
yarn.resourcemanager.resource-tracker.address.rm1 gdy233:23125 NodeManager通过该地址交换信息
yarn.resourcemanager.resource-tracker.address.rm2 gdy234:23125 NodeManager通过该地址交换信息
yarn.resourcemanager.resource-tracker.address.rm3 gdy235:23125 NodeManager通过该地址交换信息
yarn.resourcemanager.webapp.address.rm1 gdy233:23188 RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.address.rm2 gdy234:23188 RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.address.rm3 gdy235:23188 RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm1 gdy233:23189 RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm2 gdy234:23189 RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm3 gdy235:23189 RM HTTP访问地址,查看集群信息

Hbase配置文件:
注意:Hbase配置文件core-site.xml与hdfs-site.xml配置文件与Hadoop配置文件保持一致。可以拷贝
backup-masters记录了备用的masters结点位置 gdy234
regionServers配置文件指定了Hbase上启动Hregionservers的位置 gdy235
gdy234
gdy233
hbase-site.xml
属性 说明
hbase.rootdir hdfs://gdy/hbase 指定hbase所在的hdfs文件系统中的目录
hbase.cluster.distributed TRUE 开启hbase完全分布式模式
hbase.master.port 60000 配置hMaster访问端口。(注意:HMaster在哪里又zookeeper决定)
hbase.zookeeper.quorum gdy231,gdy232,gdy233,gdy234,gdy235 Zookeeper集群的地址列表,用逗号分割。
hbase.zookeeper.property.clientPort 2181 配置zookeeper的作业端口
hbase.replication TRUE 开启 hbase 主从集群复制 replication
replication.source.size.capacity 4194304 主集群每次像备集群发送的entry的包的最大值大小,不推荐过大
replication.source.nb.capacity 2000 主集群每次向备集群发送的entry最大的个数
replication.source.ratio 1 主集群里使用slave服务器的百分比
hbase.balancer.period 15000 Master执行region balancer的间隔,默认30s



你可能感兴趣的:(hadoop,zookeeper,部署,hbase)