在linux下安装Hbase【简单易懂】

一、安装Hbase前提条件

  1. 安装好hadoop,可以是单机版也可以是伪分布式版
  2. 安装好zookeeper,如果是单机版可以不安装,使用hbase内置即可。

二、下载hbase软件安装包

链接:hbase安装包
提取码:pj9z

解压配置和启动hbase

解压hbase

  1. 将hbase安装包拖入到linux相应文件夹中。
  2. 解压到想要的文件夹中tar -zxvf hbase-1.2.0-cdh5.14.2.tar.gz -C /opt/soft/

配置Hbase文件

1.进入配置文件夹

  • cd /opt/soft/hbase120/conf/

2.配置Hbase-env.sh文件

  • 进入文件Hbase-env.sh
  • 添加jdk路径,和关闭内置,使用外部zookeeper
export JAVA_HOME=/opt/jdk1.8.0_221
export HBASE_MANAGES_ZK=false

3.配置Hbase-site.xml文件

  • 进入文件vi hbase-site.xml
  • 添加和修改内容
<!—hbase.rootdir 将数据写入哪个目录 如果是单机版只要配置此属性就可以,value中file:/绝对路径,如果是分布式则配置与hadoop的core-site.sh服务器、端口以及zookeeper中事先创建的目录一致-->
<property>
         <name>>hbase.rootdir</name>
         <value>hdfs://192.168.222.160:9000/hbase</value>
</property>
<!—单机模式不需要配置,分布式配置此项为true-->
<property>
         <name>hbase.cluster.distributed</name>
         <value>true</value>
</property>
<!—单机模式不需要配置 分布是配置此项为zookeeper指定的物理路径名-- >
<property>
         <name>hbase.zookeeper.property.dataDir</name>
         <value>/opt/soft/hbase120/data</value>
</property>

4.配置/etc/profile文件

  1. 进入文件vi /etc/profile
  2. 配置环境变量
export HBASE_HOME=/opt/soft/hbase120
export PATH=$PATH:$HBASE_HOME/bin

5.启动服务

  1. 启动hadoopstart-all.sh
  2. 进入zookeeper的bin目录下启动zookeeper服务
cd /opt/soft/zookpr
bin/zkServer.sh start     ---启动zookeeper
  1. 启动hbase服务start-hbase.sh
  2. 进入hbasehbase shell
    在这里插入图片描述
    呈现途中样子即为成功。
<think>嗯,用户之前遇到了在Windows下启动HBase时出现的两个问题:SLF4J绑定冲突和启动脚本未实现。现在用户进一步询问如何在Windows下修正这些问题。我需要回顾之前的回答,看看是否有需要补充的地方,或者有没有更详细的步骤。 首先,用户可能已经尝试了之前提到的解决方案,但可能遇到了困难,或者需要更具体的指导。特别是对于Windows用户来说,处理路径、脚本和环境变量可能比较复杂,所以需要更详细的步骤说明。 关于SLF4J的冲突,之前的建议是删除重复的JAR文件,或者通过Maven排除依赖。但用户可能不太熟悉如何操作这些步骤,特别是如果他们不熟悉命令行或构建工具的话。可能需要更明确的指导,比如具体的命令行指令,或者如何找到这些JAR文件的位置。 然后是启动脚本的问题,用户需要知道如何手动修复start-hbase.cmd。之前的回答提到了修改脚本,但可能需要更具体的代码示例,比如具体的批处理脚本内容,或者如何设置环境变量。另外,用户可能对使用WSL或Docker不太熟悉,需要更详细的安装和配置步骤。 另外,用户可能没有意识到HBase在Windows上的支持有限,可能需要强调这一点,并建议使用替代方案,比如Linux环境或其他数据库。但用户可能因为某些原因必须在Windows下运行HBase,所以需要提供尽可能多的解决方案。 还要注意,用户在之前的回复中提到了手动修复脚本的风险,需要提醒用户备份原文件,避免操作错误导致系统问题。同时,可能存在的其他问题,比如Java环境变量是否正确设置,Hadoop的配置是否正确,这些都可能影响HBase的启动,需要检查。 最后,用户可能需要验证修正后的HBase是否正常运行,所以需要提供验证步骤,比如访问Web UI或运行HBase Shell命令。这些步骤需要详细说明,确保用户能够正确执行。 总结下来,需要分步骤详细说明如何解决SLF4J冲突和启动脚本问题,提供具体的命令行操作,强调注意事项,并建议替代方案。同时,语言要清晰易懂,适合可能不太熟悉HBase和Windows系统管理的用户。</think>--- 在Windows环境下修正HBase启动问题需要针对**SLF4J绑定冲突**和**脚本兼容性**进行针对性处理。以下是分步骤解决方案: --- ### 一、解决SLF4J绑定冲突 #### 方法1:手动删除重复JAR(推荐) 1. **定位冲突文件**: - HBase的SLF4J绑定:`D:\hbase-2.4.11\lib\slf4j-reload4j-1.7.36.jar` - Hadoop的SLF4J绑定:`D:\hadoop-3.2.0\share\hadoop\common\lib\slf4j-reload4j-1.7.36.jar` 2. **删除其中一个JAR**(保留Hadoop的版本): ```powershell # 删除HBase中的冲突JAR Remove-Item -Path "D:\hbase-2.4.11\lib\slf4j-reload4j-*.jar" -Force ``` #### 方法2:修改类路径优先级 在HBase的启动脚本(如`hbase-env.cmd`)中,**调整Hadoop库的加载顺序**: ```batch set HBASE_CLASSPATH=D:\hadoop-3.2.0\share\hadoop\common\*;%HBASE_CLASSPATH% ``` > 确保Hadoop的日志库优先于HBase的日志库加载。 --- ### 二、修复`start-hbase.cmd`脚本问题 #### 步骤1:手动编写启动脚本 1. 用文本编辑器新建`start-hbase-fixed.cmd`,写入以下内容: ```batch @echo off setlocal enabledelayedexpansion :: 设置HBase和Java路径 set HBASE_HOME=D:\hbase-2.4.11 set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301 :: 启动HMaster start "HMaster" cmd /k "%HBASE_HOME%\bin\hbase.cmd" master start :: 启动HRegionServer start "HRegionServer" cmd /k "%HBASE_HOME%\bin\hbase.cmd" regionserver start ``` > 替换`JAVA_HOME`和`HBASE_HOME`为实际路径。 2. 保存后以管理员身份运行该脚本。 #### 步骤2:修复环境变量配置 修改`hbase-env.cmd`,确保以下关键变量正确: ```batch set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301 set HBASE_MANAGES_ZK=true :: 使用HBase自带的ZooKeeper ``` --- ### 三、替代启动方案(推荐) #### 方案1:通过WSL2运行 1. 安装WSL2并启用Ubuntu: ```powershell wsl --install -d Ubuntu ``` 2. 在WSL中安装HBase: ```bash sudo apt update sudo apt install hbase hbase-daemon.sh start master ``` #### 方案2:使用Docker容器 ```powershell # 拉取HBase镜像 docker pull harisekhon/hbase # 启动容器(自动运行HBase) docker run -d -p 16010:16010 --name hbase harisekhon/hbase ``` --- ### 四、验证修正结果 1. **检查进程**: ```powershell jps # 应显示HMaster和HRegionServer进程 ``` 2. **访问Web控制台**: 浏览器打开`http://localhost:16010`,确认状态为**Active**。 3. **HBase Shell测试**: ```powershell .\hbase shell.cmd > create 'test', 'cf' > list ``` --- ### 五、注意事项 1. **路径分隔符问题**: - Windows路径使用反斜杠`\`,但HBase脚本可能要求正斜杠`/`,需在脚本中统一格式。 2. **依赖版本匹配**: - Hadoop 3.2.0与HBase 2.4.11需兼容(参考[官方兼容性矩阵](https://hbase.apache.org/book.html#hadoop))。 3. **防火墙设置**: - 允许HBase端口(16000, 16010, 16020)通过防火墙。 --- ### 六、终极建议 若问题持续,**优先考虑迁移到Linux环境**。HBase在Windows下的支持有限,生产环境可能遇到更多未适配问题。可通过以下方式过渡: - 虚拟机(VirtualBox + CentOS) - 双系统(Ubuntu + Windows) - 云服务器(阿里云/腾讯云ECS)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值