hbase regionserver与hbck端口冲突

1、背景

近期工作时遇到一个问题就是启动hbck检查hbase状态时会遇到跟regionserver端口冲突的问题,这个问题我是通过增加配置变量的方式进行的解决。

2、问题定位

因为是通过hbase脚本启动的hbck,所以去该脚本中查阅hbck启动相关的命令,可以看到:

hbase regionserver与hbck端口冲突_第1张图片

 在HBASE_SERVER_JAAS_OPTS环境变量未配置的情况下,hbck使用regionserver的配置。所以这也可以看出来为什么会出现端口冲突问题了,因为它们用的相同的配置。

深度介绍:

regionserver和hbck端口冲突主要是因为regionserver环境变量中指定了开启jmx服务,且指定了jmx端口号,所以当hbck使用regionserver的配置启动时,就会报端口冲突问题。

3、解决方式

知道了问题,那么就好改,现在有两种解决方式:

解决方式一:

在conf/hbase-env.sh脚本中去除HBASE_REGIONSERVER_OPTS变量中关于jmx相关的内容,也就是不开启jmx服务,那么自然而然就不会存在端口冲突问题。

解决方式二:

在conf/hbase-env.sh脚本中增加HBASE_SERVER_JAAS_OPTS变量的配置,增加的信息可以完全拷贝HBASE_REGIONSERVER_OPTS变量中的内容,然后修改一下jmx服务的端口号即可。或者去除jmx服务的配置。

解决方式三:

这是解决方式二的延伸,在conf/hbase-env.sh脚本中增加HBASE_SERVER_JAAS_OPTS变量的配置,增加的信息可以完全拷贝HBASE_REGIONSERVER_OPTS变量中的内容,然后去除jmx服务的配置。

4、总结

上面我们分析了hbase regionserver和hbck端口冲突的主要原因在于jmx服务端口冲突,具体的选用哪种解决方式可以根据实际情况来决定。

你可能感兴趣的:(大数据,hbase,大数据)