cloudera安装的不同hbase-site.xml之间的关系

5ktev3wc  于 2021-06-09  发布在  Hbase
关注(0)|答案(4)|浏览(283)

通过cloudera安装hbase,我看到三个地方有配置信息: /etc/hbase/conf/hbase-site.xml , /usr/lib/hbase/conf/hbase-site.xml ,
以及 /var/run/cloudera-scm-agent/process/*-hbase-MASTER 到底哪一个有效?或者他们都是?

rwqw0loc

rwqw0loc1#

在所有hbase的情况下 /etc/hbase/conf/hbase-site.xml 始终读取文件。这个 /usr/lib/hbase/conf/hbase-site.xml 是指向的符号链接 /etc/hbase/conf/hbase-site.xml 所以它是同一个文件。
最后,有什么事吗 /var/run/ 是一个运行时变量,在您的示例中是cloudera管理器代理。manager代理负责管理控制台和日志记录以及其他任务。
希望对你有帮助,帕特

ujv3wf0j

ujv3wf0j2#

使用的配置文件是/usr/lib/hbase/conf/hbase-site.xml。
其他文件不是符号链接。
由于相同的配置信息需要用于其他进程,如hmaster、regionserver,/usr/lib/hbase/conf/hbase-site.xml文件在初始化/预处理这些守护进程时在不同的位置同步。因此,建议只在/usr/lib/hbase/conf/hbase-site.xml文件中进行任何配置更改。
您还需要对集群中所有节点上的这些文件进行相同的更改,并重新启动hbase守护进程。我希望这些能回答你的问题。

qyyhg6bp

qyyhg6bp3#

根据我的搜索和学习,hbase实际上有两种类型的 hbase-site.xml 文件,一个用于hmaster/regionserver,另一个用于client。
在cloudera的发行版中 hbase-site.xml 文件夹中的文件 /var/run/cloudera-scm-agent/process/*-hbase-MASTER 正在运行的hmaster进程使用的配置。regionserver也类似。
然而 site.xml 文件位于 /usr/lib/hbase/conf/ 以及 /etc/hbase/conf/ ,从一个符号链接到另一个(根据@apesa),用于客户端使用。如果启动hbase shell 在hmaster主机或regionserver主机上,将使用此客户端配置文件 shell 应用程序知道如何连接到zookeeper仲裁以获取正在运行的hbase服务。如果要从客户机主机使用hbase服务,则需要将此客户机xml文件复制到客户机主机。
对于hbase的常规apache安装,如sachin的回答所示,相同的 hbase-site.xml 尽管hmaster、regionserver和client进程将只使用所需的选项,而忽略其余的选项,但它同时用于这两个目的。

gopyfrb3

gopyfrb34#

从实验 hbase 二进制版本 1.2.0-cdh5.16.1 ,它似乎使用java类路径来查找 hbase-site.xml 要使用的文件,无论是作为服务器还是客户端shell运行。有一个配置参数( --config )你可以传给 hbase 控制使用的配置目录,默认情况下为 ./conf (运行 hbase 查看有关此的文档帮助)。
这一观点得到了关于这一主题的其他答案的支持(例如问题14327367)。
因此,要回答您的特定问题,确定在您的计算机上使用哪个配置文件,请运行 hbase classpath 并找出3个目录中的哪个首先出现在类路径中。

相关问题