HBase伪分布式安装配置

本文详细介绍如何在伪分布式环境下部署HBase,并提供关键步骤,包括配置环境变量、替换Hadoop jar包等,同时附带常见错误解决方案及常用Shell命令。

我用的版本是hbase-0.94.9.tar.gz hadoop-1.0.1,将hbase-0.94.9.tar.gz解压到系统主目录下,伪分布式的配置如下:

(1)编辑{HBASE_HOME}/conf/hbase-env.sh 文件,设置JAVA_HOME和HBASE_CLASSPATH变量

   export JAVA_HOME=/usr/java/jdk1.6.0_33 (自己的JAVA_HOME主目录,即在/下的目录)

   export HBASE_CLASSPATH=/hadoop-1.0.1/conf (自己的HADOOP_HOME主目录,即在/下的目录)

(2)编辑{HBASE_HOME}/conf/hbase-site.xml 文件,增加以下内容

<property>

    <name>hbase.rootdir</name>

    <value> hdfs://localhost:9000/hbase</value>  

</property>

<property>

    <name>hbase.cluster.distributed</name>

    <value>true</value>

</property>

 注:以上表格中标红色的路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。

(3)替换Hbase中的jar包

用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20.2-core.jar。如果不替换jar文件Hbase启动时会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常。报错如下:

localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)

      所以如果遇到以上错误,就通过替换jar包解决。

      完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。

      启动Hbase的命令,进入到hbase安装主目录的bin目录下

      $ ./start-hbase.sh    //启动hbase

      $ ./hbase shell        //进入shell模式

      $ ./stop-all.sh          //停止hbase

       如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。


注意:

  (1)hbase的运行需要用到zookeeper,而hbase-0.90.3自带了zookeeper,所以可以使用hbase自带的zookeeper,在conf/hbase-env.sh 文件中  export HBASE_MANAGES_ZK=true  ,true表示使用hbase自带的zookeeper,如果不想使用其自带的zookeeper,自己下载包安装的化,该项设置为false。当然如果自己安装zookeeper,启动及关闭先后顺序为:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集群—>停止Hadoop。

  (2) hbase启动时报错:localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)  ,原因就是上面hbase安装第三步中提到的没有替换jar包的原因。

下面是一些常用的shell 命令。

名称 命令表达式
创建表 create '表名称', '列名称1','列名称2','列名称N'
添加记录 put '表名称', '行名称', '列名称:', '值'
查看记录 get '表名称', '行名称'
查看表中的记录总数 count  '表名称'
删除记录 delete  '表名' ,'行名称' , '列名称'
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'
查看所有记录 scan "表名称"
查看某个表某个列中所有数据 scan "表名称" , ['列名称:']

./stop-all.sh          //停止hbase

注意:在安装HBase时,请尽量与Hadoop 的版本保持一致,否则会影响HBase的稳定性。

默认情况下,HBase的lib文件夹下对应的Hadoop版本相对稳定。如果用户想用其他版本的Hadoop,则需要将Hadoop 安装目录下的had00p-xxx.-core.jar拷贝到HBase的lib文件夹下以替换其他版本的Hadoop 文件。

另外,如果HBase成功安装并启动,会在Hadoop 进程中看到HRegionServer之类的进程。


HBase伪分布式配置, 感谢作者~

以下是从创建虚拟机开始的HBase伪分布式安装步骤: ### 创建虚拟机 选择合适的虚拟化软件(如VMware Workstation或VirtualBox),创建一个新的虚拟机。在创建过程中,选择合适的操作系统镜像(如CentOS),分配足够的内存、磁盘空间和CPU核心数。 ### 配置虚拟机环境 - 安装操作系统:按照操作系统安装向导完成CentOS系统的安装。 - 网络配置:确保虚拟机可以联网,可选择桥接模式或NAT模式。配置静态IP地址以便后续操作。 - 安装必要的工具:更新系统并安装必要的工具,如`wget`、`vim`等。 ```bash yum update -y yum install -y wget vim ``` ### 安装Java HBase依赖Java环境,需要安装Java 8或更高版本。 ```bash wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u291-b10/d7fc238d0cbf4b0d0ae13f241309990c/jdk-8u291-linux-x64.rpm" yum localinstall -y jdk-8u291-linux-x64.rpm ``` 配置Java环境变量: ```bash echo 'export JAVA_HOME=/usr/java/jdk1.8.0_291-amd64' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile source /etc/profile ``` ### 下载和上传HBase安装包并解压 下载HBase 2.5.6安装包: ```bash wget https://archive.apache.org/dist/hbase/2.5.6/hbase-2.5.6-bin.tar.gz ``` 解压安装包: ```bash tar -zxvf hbase-2.5.6-bin.tar.gz -C /usr/local/ ln -s /usr/local/hbase-2.5.6 /usr/local/hbase ``` ### 伪分布式模式配置 #### 配置hbase-env.sh ```bash echo 'export HBASE_CLASSPATH=/usr/local/hbase/conf' >> /usr/local/hbase/conf/hbase-env.sh echo 'export JAVA_HOME=/usr/java/jdk1.8.0_291-amd64' >> /usr/local/hbase/conf/hbase-env.sh echo 'export HBASE_MANAGES_ZK=true' >> /usr/local/hbase/conf/hbase-env.sh ``` #### 配置hbase-site.xml 使用`vim`编辑`/usr/local/hbase/conf/hbase-site.xml`: ```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.property.dataDir</name> <value>/usr/local/hbase/zookeeper</value> </property> </configuration> ``` #### 配置SSH无密码登录 ```bash ssh-keygen -t rsa cd ~/.ssh cat id_rsa.pub >> authorized_keys ``` ### 启动Hadoop(如果需要) 如果HBase的数据存储在HDFS上,需要启动Hadoop。假设Hadoop安装在`/opt/hadoop`目录: ```bash ssh localhost cd /opt/hadoop ./sbin/start-dfs.sh ``` ### 启动HBase ```bash cd /usr/local/hbase bin/start-hbase.sh ``` ### 验证HBase安装 启动HBase Shell: ```bash bin/hbase shell ``` 在HBase Shell中创建一个表并进行测试: ``` create 'test', 'cf' put 'test', 'row1', 'cf:a', 'value1' get 'test', 'row1' ``` ### 停止HBase和Hadoop ```bash cd /usr/local/hbase bin/stop-hbase.sh cd /opt/hadoop ./sbin/stop-dfs.sh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值