您的位置:首页 > 运维架构

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

2016-04-12 14:25 495 查看
主机名zookeeperHadoopHbase
gdy231QuorumPeerMainNameNode【名称节点】

DFSZKFailoverController【Hadoop Ha进程维持namenode高可用】

JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】

JobHistoryServer【可以通过该服务查看已经运行完了的作业记录】
Hmaster

HRegionServer
gdy232QuorumPeerMainNameNode【名称节点】

DFSZKFailoverController【Hadoop Ha进程维持namenode高可用】

JournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】
Hmaster

HRegionServer
gdy233QuorumPeerMainJournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】

ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】

DataNode【数据节点】

NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer
gdy234QuorumPeerMainJournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】

ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】

DataNode【数据节点】

NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer
gdy235QuorumPeerMainJournalNode【保证hadoop Ha的高可用(一般启动2n+1个)】

ResourceManager【管理集群资源分配,接收NodeManager的资源汇报】

DataNode【数据节点】

NodeManager【负责在单个节点上执行MapReduce任务。】
HRegionServer
配置文件:core-site.xml
属性说明
fs.defaultFShdfs://gdyhadoop访问目录节点nameNode默认为:hdfs://gdy
hadoop.tmp.dir/ftpftp/ogg/gdydata/hadoopData/hadooptmpHadoop的临时存放目录

/ftpftp/ogg/gdydata/hadoopData/hadooptmp
ha.zookeeper.quorumgdy231:2181,gdy232:2181,gdy233:2181,

gdy234:2181,gdy235:2181
Ha功能,需要一组zk地址,用逗号分隔。被ZKFailoverController使用于自动失效备援failover。
io.native.lib.availableTRUE是否启动Hadoop的本地库,默认启用。本地库可以加快基本操作,例如IO,压缩等。
配置文件:hdfs-site.xml
属性说明
hbase.rootdirhdfs://gdy/hbase配置hbase在HDFS文件系统中存放文件的根目录
dfs.nameservicesgdy【 nameservices列表。逗号分隔。

我们常用的仅配置一个,启动federation功能需要配置多个】

个人理解:gdy类似于一个变量,与之前的【hbase.rootdir】和【fs.defaultFS】关联,但这里只是声明了一个名字,为servicName的名字,可以声明多个,目前只声明一个。下面会配置这个servicName具体代表什么。
dfs.ha.namenodes.gdynn1,nn2【 包含一个NN列表。EXAMPLENAMESERVICE是指具体的nameservice名称,通常就是dfs.nameservices中配置的。

值是预备配置的NN的ID。ID是自己取的,不重复就可以,例如nn1,nn2】

个人理解:和【dfs.nameservices】差不多,类似于声明变量,但还没指定值
dfs.namenode.rpc-address.gdy.nn1gdy231:9000【ns1使用了nn1节点为对外服务地址的RPC地址】

注意这里ns1已经被替换成gdy。这里是给之前nn1规定具体的值。
dfs.namenode.http-address.gdy.nn1gdy231:50070【ns1使用了nn1节点为对外服务地址的http地址】

和上面类似
dfs.namenode.rpc-address.gdy.nn2gdy232:9000【ns1使用了nn2为对外服务地址的RPC地址】
dfs.namenode.http-address.ns1.nn2gdy232:50070【ns1使用了nn2为对外服务地址的http地址】
dfs.namenode.shared.edits.dirqjournal://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/hadoopnameNN存放元数据和日志位置
dfs.datanode.data.dir/ftpftp/ogg/gdydata/hadoopData/hadoopdata配置hdfs每个数据节点存放位置
dfs.replication3配置系统自动数据备份数量为3份(默认是3份)
dfs.ha.automatic-failover.enabledTRUE是否开启自动故障转移。建议开启,true
dfs.client.failover.proxy.provider.gdyorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProviderclient的failover代理配置
dfs.ha.fencing.methodssshfenceHDFS的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.nameyarn其中,名称mapreduce.framework.name指的是使用yarn运行mapreduce程序
mapreduce.jobhistory.addressgdy231:10020MapReduce JobHistory Server地址。
mapreduce.jobhistory.webapp.addressgdy231:19888MapReduce JobHistory Server Web UI地址。
mapreduce.jobhistory.joblist.cache.size20000内存中缓存的historyfile文件信息(主要是job对应的 文件目录,)
配置文件【slaves】slaves记录的是需要执行start-all.sh(或相关命令)时,需要远程启动tasktracker与datanode的节点。
配置文件【masters】老版本用,新的不要了masters记录的是需要启动secondary namenode的节点, 不是namenode,它也和mapreduce没任何关系。
配置文件yarn-site.xml
属性说明
yarn.nodemanager.aux-servicesmapreduce_shuffleNodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
yarn.resourcemanager.connect.retry-interval.ms2000rm失联后重新链接的时间
yarn.resourcemanager.ha.enabledTRUE启用RM高可用
yarn.resourcemanager.ha.automatic-failover.enabledTRUE是否启用自动故障转移。默认情况下,在启用HA时,启用自动故障转移。
yarn.resourcemanager.ha.automatic-failover.embeddedTRUE启用内置的自动故障转移。默认情况下,在启用HA时,启用内置的自动故障转移。
yarn.resourcemanager.cluster-idyarn-cluster(RM集群标识符)集群的Id,elector使用该值确保RM不会做为其它集群的active。
yarn.resourcemanager.ha.rm-idsrm1,rm2,rm3指定两台RM主机名标识符
yarn.resourcemanager.scheduler.classorg.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler启用的资源调度器主类。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler。
yarn.resourcemanager.ha.automatic-failover.recover.enabledTRUERM故障自动切换
yarn.resourcemanager.hostname.rm1gdy233RM主机1
yarn.resourcemanager.hostname.rm2gdy234RM主机2
yarn.resourcemanager.hostname.rm3gdy235RM主机3
yarn.resourcemanager.recovery.enabledTRUERM故障自动恢复
yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms5000schelduler失联等待连接时间
yarn.resourcemanager.store.classorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStoreRM状态信息存储方式,一种基于内存(MemStore),另一种基于ZK(ZKStore)
yarn.resourcemanager.zk-addressgdy231:2181,gdy232:2181,gdy233:2181,gdy234:2181,gdy235:2181使用ZK集群保存状态信息
yarn.resourcemanager.zk.state-store.addressgdy231:2181,gdy232:2181,gdy233:2181,gdy234:2181,gdy235:2181
yarn.resourcemanager.address.rm1gdy233:23140客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.address.rm2gdy234:23140客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.address.rm3gdy235:23140客户端通过该地址向RM提交对应用程序操作
yarn.resourcemanager.scheduler.address.rm1gdy233:23130向RM调度资源地址
yarn.resourcemanager.scheduler.address.rm2gdy234:23130向RM调度资源地址
yarn.resourcemanager.scheduler.address.rm3gdy235:23130向RM调度资源地址
yarn.resourcemanager.admin.address.rm1gdy233:23141管理员通过该地址向RM发送管理命令
yarn.resourcemanager.admin.address.rm2gdy234:23141管理员通过该地址向RM发送管理命令
yarn.resourcemanager.admin.address.rm3gdy235:23141管理员通过该地址向RM发送管理命令
yarn.resourcemanager.resource-tracker.address.rm1gdy233:23125NodeManager通过该地址交换信息
yarn.resourcemanager.resource-tracker.address.rm2gdy234:23125NodeManager通过该地址交换信息
yarn.resourcemanager.resource-tracker.address.rm3gdy235:23125NodeManager通过该地址交换信息
yarn.resourcemanager.webapp.address.rm1gdy233:23188RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.address.rm2gdy234:23188RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.address.rm3gdy235:23188RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm1gdy233:23189RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm2gdy234:23189RM HTTP访问地址,查看集群信息
yarn.resourcemanager.webapp.https.address.rm3gdy235:23189RM HTTP访问地址,查看集群信息
Hbase配置文件:

注意:Hbase配置文件core-site.xml与hdfs-site.xml配置文件与Hadoop配置文件保持一致。可以拷贝
backup-masters记录了备用的masters结点位置gdy234
regionServers配置文件指定了Hbase上启动Hregionservers的位置gdy235

gdy234

gdy233
hbase-site.xml
属性说明
hbase.rootdirhdfs://gdy/hbase指定hbase所在的hdfs文件系统中的目录
hbase.cluster.distributedTRUE开启hbase完全分布式模式
hbase.master.port60000配置hMaster访问端口。(注意:HMaster在哪里又zookeeper决定)
hbase.zookeeper.quorumgdy231,gdy232,gdy233,gdy234,gdy235Zookeeper集群的地址列表,用逗号分割。
hbase.zookeeper.property.clientPort2181配置zookeeper的作业端口
hbase.replicationTRUE开启 hbase 主从集群复制 replication
replication.source.size.capacity4194304主集群每次像备集群发送的entry的包的最大值大小,不推荐过大
replication.source.nb.capacity2000主集群每次向备集群发送的entry最大的个数
replication.source.ratio1主集群里使用slave服务器的百分比
hbase.balancer.period15000Master执行region balancer的间隔,默认30s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: