在apache hadoop2中以HA模式配置HBase所需的步骤?

在apache hadoop2中以HA模式配置HBase所需的步骤?,hbase,hadoop2,high-availability,Hbase,Hadoop2,High Availability,我正在使用hadoop 2.6.0和hbase 0.98.7,我已经为hdfs/namenode配置了HA。我有活动nn1和待机nn2正在显示。现在的问题是我无法为hbase启用高可用性,而且我不知道如何将hbase与支持HA的HDF集成。此外,在执行jps时,HMaster正在运行,但无法查看hbase的UI My core site.xml <configuration> <property> <name>fs.defaultFS</name>

我正在使用hadoop 2.6.0和hbase 0.98.7,我已经为hdfs/namenode配置了HA。我有活动nn1和待机nn2正在显示。现在的问题是我无法为hbase启用高可用性,而且我不知道如何将hbase与支持HA的HDF集成。此外,在执行jps时,HMaster正在运行,但无法查看hbase的UI

My core site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ha-cluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop/HA/data/jn</value>
</property>
</configuration>
<configuration>
<property>
<name>hbase.master</name>
<value>test-hmaster-1-aws.icare.com:60000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ha-cluster/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>test-hmaster-1-aws.icare.com,test-hslave-1-aws.icare.com,test-kerberos-aws.icare.com</value>
</property> 
</configuration>

fs.defaultFS
hdfs://ha-cluster
dfs.journalnode.edits.dir
/opt/hadoop/HA/data/jn
My hdfs site.xml

<configuration>
 <property>
 <name>dfs.namenode.name.dir</name>
 <value>/opt/hadoop/HA/data/namenode</value>
 </property>
 <property>
 <name>dfs.replication</name>
 <value>1</value>
 </property>
 <property>
 <name>dfs.permissions</name>
 <value>false</value>
 </property>
 <property>
 <name>dfs.nameservices</name>
 <value>ha-cluster</value>
 </property>
 <property>
 <name>dfs.ha.namenodes.ha-cluster</name>
 <value>nn1,nn2</value>
 </property>
 <property>
 <name>dfs.namenode.rpc-address.ha-cluster.nn1</name>
 <value>nn1.cluster.com:9000</value>
 </property>
 <property>
 <name>dfs.namenode.rpc-address.ha-cluster.nn2</name>
 <value>nn2.cluster.com:9000</value>
 </property>
 <property>
 <name>dfs.namenode.http-address.ha-cluster.nn1</name>
 <value>nn1.cluster.com:50070</value>
 </property>
 <property>
 <name>dfs.namenode.http-address.ha-cluster.nn2</name>
 <value>nn2.cluster.com:50070</value>
 </property>
 <property>
 <name>dfs.namenode.shared.edits.dir</name>
 <value>qjournal://nn1.cluster.com:8485;nn2.cluster.com:8485;dn1.cluster.com:8485/ha-cluster</value>
 </property>
 <property>
 <name>dfs.client.failover.proxy.provider.ha-cluster</name>
 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
 </property>
 <property>
 <name>dfs.ha.automatic-failover.enabled</name>
 <value>true</value>
 </property>
 <property>
 <name>ha.zookeeper.quorum</name>
 <value>nn1.cluster.com:2181,nn2.cluster.com:2181,dn1.cluster.com:2181</value>
 </property>
 <property>
 <name>dfs.ha.fencing.methods</name>
 <value>shell(/bin/true)</value>
 </property>
 <property>
 <name>dfs.ha.fencing.ssh.private-key-files</name>
 <value>/home/hadoop/.ssh/id_rsa</value>
 </property>
</configuration>

dfs.namenode.name.dir
/opt/hadoop/HA/data/namenode
dfs.replication
1.
dfs.0权限
假的
dfs.nameservices
ha簇
dfs.ha.namenodes.ha-cluster
nn1,nn2
dfs.namenode.rpc-address.ha-cluster.nn1
nn1.cluster.com:9000
dfs.namenode.rpc-address.ha-cluster.nn2
nn2.cluster.com:9000
dfs.namenode.http-address.ha-cluster.nn1
nn1.cluster.com:50070
dfs.namenode.http-address.ha-cluster.nn2
nn2.cluster.com:50070
dfs.namenode.shared.edits.dir
qjournal://nn1.cluster.com:8485;nn2.cluster.com:8485 ;;dn1.cluster.com:8485/公顷集群
dfs.client.failover.proxy.provider.ha-cluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.automatic-failover.enabled
真的
哈。动物园管理员。法定人数
nn1.cluster.com:2181,nn2.cluster.com:2181,dn1.cluster.com:2181
dfs.ha.fensing.methods
shell(/bin/true)
dfs.ha.fenging.ssh.private-key-files
/home/hadoop/.ssh/id\u rsa
My hbase site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ha-cluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop/HA/data/jn</value>
</property>
</configuration>
<configuration>
<property>
<name>hbase.master</name>
<value>test-hmaster-1-aws.icare.com:60000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ha-cluster/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>test-hmaster-1-aws.icare.com,test-hslave-1-aws.icare.com,test-kerberos-aws.icare.com</value>
</property> 
</configuration>

hbase.master
test-hmaster-1-aws.icare.com:60000
hbase.rootdir
hdfs://ha-cluster/hbase
hbase.cluster.distributed
真的
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.quorum
test-hmaster-1-aws.icare.com、test-hslave-1-aws.icare.com、test-kerberos-aws.icare.com

首先,在配置HDFS HA后,您的
fs.defaultFS
将变为
hdfs://ha-cluster
。您还在
hbase site.xml
中将其用作
hbase.rootdir
的一部分。因此,您正在集成支持HA的HDF。没有别的事可做了

第二,HBase-HA不同于HDFS-HA。基本上,您需要配置多个HBase主实例。其中一个是活动主机,其余主机实例成为备份主机

说实话,我有点被Cloudera Manager宠坏了,在Cloudera Manager中,启用HBase HA只需添加多个HBase实例。但是,如果您不使用HBase的任何供应商发行版,并且必须手动配置它,则可以按照此处的说明进行操作


第三,我不知道为什么不能访问主UI。但由于您的实例位于AWS中,可能需要配置安全组设置以打开端口访问?

首先,在配置HDFS HA后,您的
fs.defaultFS
将变为
hdfs://ha-cluster
。您还在
hbase site.xml
中将其用作
hbase.rootdir
的一部分。因此,您正在集成支持HA的HDF。没有别的事可做了

第二,HBase-HA不同于HDFS-HA。基本上,您需要配置多个HBase主实例。其中一个是活动主机,其余主机实例成为备份主机

说实话,我有点被Cloudera Manager宠坏了,在Cloudera Manager中,启用HBase HA只需添加多个HBase实例。但是,如果您不使用HBase的任何供应商发行版,并且必须手动配置它,则可以按照此处的说明进行操作


第三,我不知道为什么不能访问主UI。但由于您的实例位于AWS中,可能需要配置安全组设置以打开端口访问?

首先,dfs.journalnode.edits.dir配置必须应用于hdfs-site.xml文件,而不是core-site.xml文件。为了查看错误,请提供HMaster日志。首先,dfs.journalnode.edits.dir配置必须应用于hdfs-site.xml文件,而不是core-site.xml文件。为了查看错误,请提供HMaster日志。