Hbase-0.94.27 install on Ubuntu

本文详细介绍了HBase 0.94.27版本的安装步骤,包括JDK与Hadoop的配置要求,HBase配置文件的修改,以及启动和服务验证过程。特别强调了目录权限、Hadoop服务依赖及常见问题排查。

1 Basic Prerequisites

1.1 jdk

安装配置看Hadoop配置

1.2 Hadoop 1.0.1/Hadoop 1.2.1

一个不兼容就换另外一个版本

在启动./start-hbase.sh前先启动Hadoop服务

2  安装

2.1 Hbase-0.94.27安装包 点我

2.2 jdk hadoop的那篇文章有1.6链接

$ tar xfz hbase-0.94.27.tar.gz
$ cd hbase-0.94.27

2.3 再配置conf/hbase-site.xml

vi conf/hbase-site.xml

内容如下:(别直接复制这个!先执行完之后再根据要求复制下面的示例

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///DIRECTORY/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/DIRECTORY/zookeeper</value>
  </property>
</configuration>

DIRECTORY替换成一个谁都能读取权限的路径,到时候你的Hbase写入的数据会放在第一个DIRECTORY内,zookeeper记录的数据会放入第二个DIRECTORY内。

示例

请先执行(替换那个替换的内容不要多替换,注意第一个那里替换之后有4个斜杠!,第二个替换之后有一个斜杠)

czm@ubuntu:~$ cd ~
czm@ubuntu:~$ mkdir Hbase
czm@ubuntu:~$ sudo chmod 777 Hbase
czm@ubuntu:~$ pwd
czm@ubuntu:~$ 复制我(粘贴到下面替换)
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///替换我/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>替换我/zookeeper</value>
  </property>
</configuration>

BTW:默认情况下hbase的rootdir设置为/tmp/hbase-${user.name},对于默认的ZooKeeper数据位置也是如此,这意味着只要服务器重新启动,如果你不更改它的话,你就会丢失所有数据(大多数操作系统在重启时清除/tmp)

2.4 配置 conf/hbase-env.sh 

vi conf/hbase-env.sh

JAVA_HOME前面的注释号去掉,再加上你的JDK路径

3 启动

3.1 $ ./bin/start-hbase.sh
starting master, logging to /home/root1/Hbase/hbase-0.94.27/bin/../logs/hbase-root1-master-ubuntu.out

开启之后判定是否成功:jps后进程里面有HMaster的话就是成功了,没有HMaster说明你前面的文件配置有问题(DIRECTORY没有换或者/hbase-env.sh里面的JAVA_HOME前面有空格

3.2 $./bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.27, rfb434617716493eac82b55180b0bbd653beb90bf, Thu Mar 19 06:17:55 UTC 2015

3.3 list

hbase(main):001:0> list
TABLE

1 row(s) in 0.5020 seconds

若未这样显示的话大概是因为你的Hadoop没有启动(去hadoop那边执行$ bin/start-all.sh),或者jdk版本不支持,再或者权限不够(chmod 777 -R ./文件夹名 将你的hbase文件夹全变777)

 

 

 

 

### HBase中停止ZooKeeper时无PID文件问题分析与解决 在HBase环境中,当尝试通过`hbase-daemon.sh stop zookeeper`命令停止ZooKeeper时,如果出现“no pid file”错误,通常是因为脚本无法找到指定的PID文件。这可能是由于以下原因之一: - PID文件路径配置不正确[^1]。 - 在启动ZooKeeper时未能成功生成PID文件[^2]。 - 环境变量或配置文件中的参数设置不当[^3]。 #### 问题排查步骤 为了有效解决问题,需要检查以下几个关键点: 1. **确认PID文件路径** PID文件路径通常由环境变量`HBASE_PID_DIR`定义。默认情况下,PID文件会被写入到`/tmp`目录下,例如`/tmp/hbase-wuya-zookeeper.pid`。可以通过检查`hbase-env.sh`文件中的`HBASE_PID_DIR`变量来确认实际路径[^4]。 2. **验证ZooKeeper是否正常启动** 如果ZooKeeper服务未正确启动,则不会生成PID文件。可以使用以下命令检查ZooKeeper进程是否存在: ```bash ps -ef | grep zookeeper ``` 如果没有找到相关进程,则需要重新启动ZooKeeper服务并确保其成功运行[^5]。 3. **检查日志文件** 查看HBase的日志文件(通常位于`$HBASE_HOME/logs`目录下),寻找与ZooKeeper启动相关的错误信息。这些日志可以帮助定位问题的根本原因[^6]。 4. **手动指定PID文件路径** 如果PID文件路径配置有问题,可以在执行`hbase-daemon.sh stop zookeeper`命令时手动指定PID文件路径。例如: ```bash hbase-daemon.sh --pidfile /custom/path/to/zookeeper.pid stop zookeeper ``` #### 解决方案 根据上述分析,以下是可能的解决方案: - 确保`hbase-env.sh`文件中正确设置了`HBASE_PID_DIR`变量。例如: ```bash export HBASE_PID_DIR=/var/run/hbase ``` 需要确保该目录存在并且具有适当的权限[^7]。 - 如果PID文件确实不存在,可以尝试手动查找ZooKeeper进程ID,并通过`kill`命令终止进程。例如: ```bash ps -ef | grep zookeeper | awk '{print $2}' | xargs kill -9 ``` - 检查HBase和ZooKeeper的版本兼容性,确保所有组件都已正确安装并配置[^8]。 #### 示例代码 以下是一个示例脚本,用于自动化检查和清理ZooKeeper进程: ```bash #!/bin/bash # 定义PID文件路径 PID_FILE="/tmp/hbase-wuya-zookeeper.pid" # 检查PID文件是否存在 if [ -f "$PID_FILE" ]; then # 读取PID并终止进程 PID=$(cat $PID_FILE) echo "Stopping ZooKeeper process with PID: $PID" kill -9 $PID rm -f $PID_FILE else # 如果PID文件不存在,手动查找并终止进程 echo "PID file not found, searching for ZooKeeper processes..." ZOOKEEPER_PIDS=$(ps -ef | grep zookeeper | grep -v grep | awk '{print $2}') if [ -n "$ZOOKEEPER_PIDS" ]; then echo "Killing ZooKeeper processes: $ZOOKEEPER_PIDS" kill -9 $ZOOKEEPER_PIDS else echo "No ZooKeeper processes found." fi fi ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值