通过Cloudera安装HBase,我看到三个地方都有配置信息:
/etc/hbase/conf/hbase-site.xml,/usr/lib/hbase/conf/hbase-site.xml,/var/run/cloudera-scm-agent/process/*-hbase-MASTER究竟哪一个是有效的?或者所有的人都有?
发布于 2014-07-30 22:31:34
在hbase的所有情况下,总是读取/etc/hbase/conf/hbase-site.xml文件。/usr/lib/hbase/conf/hbase-site.xml是指向/etc/hbase/conf/hbase-site.xml的符号链接,因此它是同一个文件。
最后,/var/run/中的任何内容都是运行时变量,在您的示例中,它是Cloudera代理。Manager代理负责管理控制台和记录以及其他任务。
我希望这能帮上忙,帕特
发布于 2014-08-06 13:52:18
使用的配置文件是/usr/lib/hbase/conf/hbase-site.xml.。
其他文件不是符号链接。
由于需要将相同的配置信息用于其他进程,如HMaster、RegionServer、/usr/lib/hbase/conf/hbase-site.xml文件在不同位置同步,同时初始化/预处理这些守护进程。因此,建议只对/usr/lib/hbase/conf/hbase-site.xml文件进行任何配置更改。
此外,您还需要对集群中所有节点上的这些文件进行相同的更改,并重新启动HBase守护进程。我希望这些回答你的问题。
发布于 2014-08-15 21:28:28
根据我的搜索和学习,HBase实际上有两种类型的hbase-site.xml文件,一种用于HMaster/RegionServer,另一种用于客户机。
在Cloudera的发行版中,文件夹/var/run/cloudera-scm-agent/process/*-hbase-MASTER中的/var/run/cloudera-scm-agent/process/*-hbase-MASTER文件是正在运行的HMaster进程使用的配置。RegionServer也是如此。
然而,site.xml文件在/usr/lib/hbase/conf/和/etc/hbase/conf/下(根据@apesa的说法)是用于客户端使用的。如果在HBase主机或RegionServer主机上启动shell,则将使用此客户端配置文件,以便shell应用程序知道如何连接到ZooKeeper仲裁以获得正在运行的HBase服务。如果希望从客户端主机使用HBase服务,那么他需要将这个客户端xml文件复制到客户端主机。
对于HBase的常规安装,正如Sachin的答案所示,相同的hbase-site.xml用于这两种目的,尽管HMaster、RegionServer和客户端进程将只使用所需的选项,而忽略其余的选项。
https://stackoverflow.com/questions/24988479
复制相似问题