Hbase 单机版的安装配置

HBase与Hadoop1.2.1配置教程
本文详细介绍了如何配置HBase以兼容Hadoop1.2.1,包括修改配置文件、替换jar包及启动验证等步骤。
1 去conf目录修改hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/home/zj/lib/hbase/tmp</value>
  </property>
</configuration>


2 修改hbase-env.sh文件
export JAVA_HOME=/home/zj/lib/java
export HBASE_CLASSPATH=/home/zj/lib/hadoop121/conf
export HBASE_MANAGES_ZK=true




3 替换hadoop的jar文件
hbase0.92.2默认支持的是不是hadoop1.2.1,我们可以用替换hadoop-core的方式让其支持hadoop1.2.1

把hadoop-core-1.2.1.jar  commons-collections-3.2.1.jar  commons-configuration-1.6.jar 复制到hbase的lib目录下即可,当然必须删除之前的旧版本


4 启动hbase
/home/zj/lib/hbase/bin/start-hbase.sh


5 用jps命令看是否运行正常
2032 NameNode
13764 HQuorumPeer
29069 Jps
2630 JobTracker
2280 DataNode
13889 HMaster
2535 SecondaryNameNode
2904 TaskTracker
14180 HRegionServer
注意这几个东西一个都不能少,如果有什么少了,一定要去日志里看看是怎么回事。


6 尝试运行hbase命令
/home/zj/lib/hbase/bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011
 
hbase(main):001:0> list
TABLE                                          webpage                                         
1 row(s) in 0.5270 seconds
如果不报错,说明已经配置成功

### 如何在 HBase 单机部署中连接到外部 ZooKeeper 要在 HBase 的单机部署环境中连接到外部的 ZooKeeper 实例,需要完成以下几个方面的配置: #### 1. 修改 `hbase-env.sh` 文件 为了确保 HBase 不再管理其内部的 ZooKeeper 实例,需将环境变量 `HBASE_MANAGES_ZK` 设置为 `false`。这可以通过编辑 `$HBASE_HOME/conf/hbase-env.sh` 文件实现[^1]。 ```bash export HBASE_MANAGES_ZK=false ``` 此操作会禁用 HBase 对内置 ZooKeeper 的控制,从而允许它与外部 ZooKeeper 集群协同工作。 --- #### 2. 编辑 `hbase-site.xml` 文件 接下来,在 `$HBASE_HOME/conf/hbase-site.xml` 中指定外部 ZooKeeper 的地址和端口。以下是具体的 XML 配置示例[^4]: ```xml <configuration> <!-- 指定外部 ZooKeeper 地址 --> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> <!-- 替换为实际的 ZooKeeper 主机名或 IP 地址 --> </property> <!-- 指定 ZooKeeper 客户端端口号,默认为 2181 --> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!-- 可选:设置根目录路径 --> <property> <name>zookeeper.znode.parent</name> <value>/hbase-unsecure</value> </property> </configuration> ``` 在此配置中: - 将 `<value>` 节点替换为目标 ZooKeeper 实例的实际主机名或 IP 地址。 - 如果目标 ZooKeeper 是集群模式,则可以提供多个逗号分隔的主机列表(例如 `zk1.example.com,zk2.example.com,zk3.example.com`)[^3]。 --- #### 3. 启动外部 ZooKeeper 并验证状态 在连接之前,确认外部 ZooKeeper 已经正常运行并处于可用状态。通过执行以下命令来检查 ZooKeeper 的当前状态: ```bash $ zkServer.sh status ``` 预期输出类似于以下内容,表明服务正在运行且监听默认客户端端口 (2181): ``` ZooKeeper JMX enabled by default Using config: /path/to/zookeeper/conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: standalone ``` 如果未找到任何活动实例,请先按照官方文档启动 ZooKeeper[^2]。 --- #### 4. 启动 HBase 并测试连接 完成上述配置后,依次启动 HBase 和相关组件。具体步骤如下: 1. **启动 HBase** 执行以下命令以启动 HBase: ```bash $ start-hbase.sh ``` 2. **验证连接成功与否** 登录至 HBase Shell 来检验是否能够正确访问数据表以及与外部 ZooKeeper 建立通信关系: ```bash $ hbase shell ``` 在交互界面下尝试创建新表或者查询现有元信息记录: ```shell create 'test', 'cf' list describe 'test' disable 'test' drop 'test' exit ``` 如果没有报错提示说明已成功接入外网型 ZK 环境! --- ### 注意事项 - 若遇到网络延迟较高或其他异常情况时,可适当调整超时参数如 zookeeper.session.timeout.ms 或 retry 数量等选项进一步优化性能表现; - 当前仅适用于单节点场景下的实验性质用途;生产环境下建议采用分布式架构设计原则构建高可靠性的解决方案体系结构模型框架平台系统工程方法论实践指南手册参考资料链接网址URL地址位置定位导航地图路线图规划方案策略战术技巧技能经验分享交流学习教育培训机构课程教材书籍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值