1、情况描述如题所示,hbase启动以后,HMaster进程启动了,几秒钟以后自动关闭,但是HRegionServer进程正常运行;
原因是,hdfs的默认端口号是8020,而我core-site.xml中将hdfs的端口修改为了9000。
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop1:9000/</value> </property>
但是在我们并没有指定hdfs的端口,所以在hbase启动后它会去找hdfs的默认端口8020,于是就导致了如题所示的错误。
<configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://slaver1/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 指定zk的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>slaver1:2181,slaver2:2181,slaver3:2181</value> </property> </configuration>
所以修改的时候加上9000即可:
在配置hbase.rootdir属性时显式指定hdfs的端口为9000,配置文件修改如下:
<configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://slaver1:9000/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 指定zk的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>slaver1:2181,slaver2:2181,slaver3:2181</value> </property> </configuration>