当前位置: 首页 > 知识库问答 >
问题:

在Mac OSX上,HBase无法以单节点群集模式启动

李疏珂
2023-03-14
dataDir=/Users/.../tools/hd/zookeeper_data
clientPort=2181

我在我选择的dataDir中观察它的zookeeper_server.pid文件,当我运行jps时,我看到以下内容:

51074 NodeManager
50743 DataNode
50983 ResourceManager
50856 SecondaryNameNode
57848 QuorumPeerMain
58731 Jps
50653 NameNode

上面的QuorumPeerMain与zookeeper_server.PID中的PID匹配,正如我所料。这样的预期正确吗?从我所做的到目前为止,是否应该期望在这里显示更多的过程?

我安装了hbase-1.1.2。我配置了hbase-site.xml。我将hbase.rootdir设置为hdfs:/localhost:8200/hbase,我的hdfs运行在localhost:8200。我将hbase.zookeeper.property.dataDir设置为zookeeper的dataDir,希望它使用该属性查找运行中的zookeeper的PID。这个预期是正确的,还是我误解了?hbase-site.xml中的配置为:

<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>Users/.../tools/hd/zookeeper_data</value>
</property>
2015-09-26 19:32:43,617 ERROR [main] master.HMasterCommandLine: Master exiting

<代码>2015-09-26 19:41:26,403 INFO[Thread-1]Server.NIOServerCNXN:Stat命令输出2015-09-26 19:41:26,405 INFO[Thread-1]Server.NIOServerCNXN:关闭客户端的套接字连接/127.0.0.1:63334(未为客户端建立会话)2015-09-26 19:41:26,406 INFO[main]ZookeePer.MiniZooKeeperCluster:在客户端端口=2182上启动MiniZooKeeperCluster并成功运行“Stat”无法在请求的端口2181启动ZK。ZK在2182端口启动。作为客户端(例如shell)中止将无法找到此ZK仲裁。2015-09-26 19:41:26,406错误[main]Master.HMasterCommandLine:主机退出java.io.IOException:无法在请求的端口2181启动ZK。ZK在2182端口启动。作为客户端(例如shell)中止将无法找到此ZK仲裁。在org.apache.hadoop.hbase.master.hmastercommandline.startmaster(hmastercommandline.214)在org.apache.hadoop.hbase.master.hmastercommandline.run(hmastercommandline.139)在org.apache.hadoop.util.toolrunner.run(toolrunner.java:70)在org.apache.hadoop.hbase.util.servercommandline.domain(servercommandline.java:126)在

所以我有几个问题:

  1. 在运行HBase之前,是否应该尝试设置zookeeper?
  2. 为什么当我启动了一个动物园管理员并告诉HBase它的dataDir在哪里时,HBase还要尝试启动自己的动物园管理员?
  3. 上面有什么明显愚蠢/误导的内容吗?

共有1个答案

长孙高远
2023-03-14

用于启动hbasestart-hbase.sh的脚本将尝试按顺序启动以下组件

  • 动物园管理员
  • HBase主机
  • HBase RegionServer
  • HBase主备份

因此,您可以停止由您启动的zookeeper(或者)您可以自己单独启动后台进程:

# start hbase master
bin/hbase-daemon.sh --config ${HBASE_CONF_DIR} start master
# start region server
bin/hbase-daemons.sh --config ${HBASE_CONF_DIR} --hosts ${HBASE_CONF_DIR}/regionservers start regionserver
 类似资料:
  • 问题内容: 我想用一个非常简单的单节点群集启动Cassandra,但是我做不到。 我按照在 https://www.digitalocean.com/community/tutorials/how-to-install-cassandra- and-run-a-single-node-cluster-on-a-ubuntu- vps 基本上, 在VirtualBox上构建了一个新的CentOS 7

  • 我有1个VPC——在1个EC2实例(amazon ami)和1个Redis(支持群集模式)下,使用Auth(密码)和对所有IP:端口开放的安全组(仅用于测试)——设置非常简单。 telnet在我的EC2实例(配置endpoint)的6379端口工作 无法使用Redis CLI连接到Redis服务器-无论是配置endpoint还是节点endpoint都无关紧要;使用v.5.0.4版本的Redis C

  • 我有3个虚拟机。它们都有docker 1.12,并且在centos7上运行。所有端口都已打开,vm可以在我启动集群时相互ping Docker信息告诉我: 现在,我尝试将节点(其他VM)加入集群。我使用启动管理器后推荐的命令。 但我得到了: Docker信息告诉我: 集群管理器: 如何调试此问题,或者我是否忘记执行某些重要步骤?服务器之间是否需要ssh访问?谢谢 节点上的日志: 有时警告:

  • Disque 以集群模式运行, 每个服务器都是集群中的一个节点, 用户可以运行任意数量的节点, 只要确保每个节点的端口号不同即可。 在默认情况下, 运行 Disque 服务器程序 disque-server 将启动一个端口号为 7711 的 Disque 节点: $ ./disque-server 528:C 28 Apr 11:50:08.519 # Warning: no config fil

  • 我使用brew安装了hbase 1.3.5,并能够启动它。现在我下载了hbase 2.2.4并更新了hbase网站。xml格式如下: 还更改下面的属性在habse-env.sh: export JAVA_HOME export HBASE_CLASSPATH export HBASE_LOG_DIR并export HBASE_MANAGES_ZK=false 我开始hbase as./bin/st