在 WSL2 上搭建单节点 Hbase

安装 Hbase 之前需要先安装 hdfs 和 zookeeper

本次安装的版本匹配:hadoop3.3.6+hbase2.4.5+zookeeper3.5.9


一、WSL2 安装 hdfs

1、安装 Java

(1)更新软件包列表

sudo apt update

(2)安装 OpenJDK8

sudo apt install openjdk-8-jdk

(3)验证

java -version

2、下载 hadoop3.3.6 压缩包

wget 下载

# 下载
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
# 解压
tar -xzvf hadoop-3.3.6.tar.gz

手动点击 Index of /dist/hadoop/core/hadoop-3.3.6 下载,解压之后复制到 WSL 上

3、配置环境变量

(1)打开 .bashrc

sudo nano ~/.bashrc

(2)添加以下内容

export HADOOP_HOME=/home/yzl/hadoop/hadoop-3.3.6
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

按 Ctrl+O 再按 Enter 保存,按 Ctrl+X 退出

(3)刷新环境变量

source ~/.bashrc

4、修改配置文件

进入目标目录

cd $HADOOP_HOME/etc/hadoop

(1)hadoop-env.sh 文件添加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

(2)yarn-env.sh 文件添加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

(3)core-site.xml 文件添加

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

(4)hdfs-site.xml 文件添加

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>3</value>
   </property>
   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/yzl/hadoop/hadoop-3.3.6/hdfs/namenode</value>
   </property>
   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/yzl/hadoop/hadoop-3.3.6/hdfs/datanode</value>
   </property>
</configuration>

改为自己的路径

(5)mapred-site.xml 文件添加

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

(6)yarn-site.xml 文件添加

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

5、格式化 namenode

hdfs namenode -format

6、启动

start-dfs.sh
start-yarn.sh

7、检查是否启动

jps

二、WSL2 安装 zokeeper

1、下载 zookeeper3.5.9 压缩包

curl 下载

# 下载
curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
# 解压
tar -xzvf apache-zookeeper-3.5.9-bin.tar.gz

手动点击 Index of /dist/zookeeper/zookeeper-3.5.9 下载,然后复制到 WSL 上

2、配置环境变量

(1)打开 .bashrc

sudo nano ~/.bashrc

(2)添加

export ZOOKEEPER_HOME=/home/yzl/zk/zk-3.5.9
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export HBASE_MANAGES_ZK=false
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

按 Ctrl+O 再按 Enter 保存,按 Ctrl+X 退出

(3)刷新环境变量

source ~/.bashrc

3、修改配置文件

(1)先备份

cd $ZOOKEEPER_HOME/conf
cp zoo_sample.cfg zoo.cfg

(2)再修改zoo.cfg

nanao zoo.cfg

添加以下内容

dataDir=/home/yzl/zk/zkdata-3.5.9/data
dataLogDir=/home/yzl/zk/zkdata-3.5.9/logs
# the port at which the clients will connect
clientPort=2181

tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
# 例如,设置为 60 秒
sessionTimeout=60000

(3)然后创建数据目录

mkdir /home/yzl/zk/zkdata-3.5.9

4、启动

# 启动
zkServer.sh start
# 查看状态
zkServer.sh status
#停止
zkServer.sh stop
# 命令行
zkCli.sh

三、WSL2 安装 Hbase

1、下载 hbase2.4.5 压缩包

curl 下载

# 下载
curl -O https://downloads.apache.org/hbase/2.4.5/hbase-2.4.5-bin.tar.gz
# 解压
tar -xzvf hbase-2.4.5-bin.tar.gz

手动点击 Index of /dist/hbase/2.4.5 下载,解压后复制到 WSL 上

2、配置环境变量

(1)打开 .bashrc

sudo nano ~/.bashrc

(2)添加

export HBASE_HOME=/home/yzl/hbase/hbase-2.4.5
export HBASE_CLASSPATH=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin

按 Ctrl+O 再按 Enter 保存,按 Ctrl+X 退出

(3)刷新环境变量

source ~/.bashrc

3、修改配置文件

# 进入目录
cd /home/yzl/hbase/hbase-2.4.5/conf

(1)hbase-env.sh 文件添加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_HOME=/home/yzl/hbase/hbase-2.4.5
export HADOOP_HOME=/home/yzl/hadoop/hadoop-3.3.6
export HBASE_MANAGES_ZK=false
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

按 Ctrl+O 再按 Enter 保存,按 Ctrl+X 退出

(2)hbase-site.xml 文件添加

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
  <property>
    <name>hbase.log.dir</name>
    <value>/home/yzl/hbase/hbase-2.4.5/logs</value>
  </property>
<!-- ZooKeeper的地址 -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <property>
    <name>hbase.master</name>
    <value>localhost:16000</value>
  </property>
<!-- ZooKeeper快照的存储位置 -->
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/yzl/zk/data</value>
  </property> 
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <property>
    <name>hbase.wal.provider</name>
    <value>filesystem</value>
  </property>
</configuration>

4、复制jar包

备份hbase的jar包到安全目录

用hadoop的jar包替换hbase的jar包

5、启动

# 启动hadoop
start-dfs.sh
start-yarn.sh
# 启动zookeeper
zkServer.sh start
# 启动hbase
start-hbase.sh
# 验证Hbase是否启动成功
hbase shell
# 进入shell之后查看节点状态
status

四、问题与解决

1、查看 datanode 是否正常

hdfs dfsadmin -report

2、版本匹配

hadoop3.3.6+hbase2.4.5+zookeeper3.5.9

3、hbase 的 hmaster 启动不了或者启动一会自动关闭

版本兼容问题,hbase2.1.0+hadoop2.7.1+zookeeper3.4.10 或hadoop3.3.6+hbase2.4.5+zookeeper3.5.9,先格式化:hdfs namenode -format,然后 start-dfs.sh,start-yarn.sh,最后启动 start-hbase.sh

4、遇到没有hmaste的情况

清除 datanode 的数据,然后格式化 hdfs namenode -format

5、遇到服务器未启动的错误

检查配置文件

备份 hbase 的 jar 包到安全目录

使用 hadoop 的jar包替换hbase的jar包

修改 hbase-env.sh 内容

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_HOME=/home/yzl/hbase/hbase-2.4.5
export HADOOP_HOME=/home/yzl/hadoop/hadoop-3.3.6
export HBASE_MANAGES_ZK=false
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

6、java api 连接不上 hbase

在远程 wsl 上跑 java 程序(添加 hadoop 本地库和环境变量)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值