大数据技术(六)—— Hbase集群安装

目录

一、Hbase安装

1、准备工作

1.1、安装rsync

1.2、编辑脚本

1.3、测试

2、安装Hadoop

3、安装zookeeper

3.1、下载最新稳定版

3.2、安装配置ZK

4、安装Hbase

4.1、解压文件

4.2、hbase-env.sh

4.3、backup-masters

4.4、配置hbase-site.xml

4.5、regionservers

4.6、创建软连接

5、启动Hbase

5.1、分发数据

5.2、启动hdfs

5.3、启动zk,每个节点都启动

5.4、启动hbase

5.5、HBase页面和HDFS

6、编写脚本

[二、HBase Shell操作](#二、HBase Shell操作)


一、Hbase安装

|---------|-----------------|--------|-----------|--------------|
| 主机名 | ip | master | zookeeper | RegionServer |
| hadoop1 | 192.168.139.176 | √ | √ | √ |
| hadoop2 | 192.168.139.214 | backup | √ | √ |
| hadoop3 | 192.168.139.215 | | √ | √ |

1、准备工作

1.1、安装rsync

bash 复制代码
sudo yum install rsync -y

1.2、编辑脚本

bash 复制代码
vim xsync
bash 复制代码
#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop1 hadoop2 hadoop3
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送

    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

1.3、测试

bash 复制代码
#创建文件
touch a.txt

#分发文件,如果成功了再其他服务器上可以看到该文件
xsync a.txt 

2、安装Hadoop

大数据技术-Hadoop(一)Hadoop集群的安装与配置_安装hadoop集群-CSDN博客

3、安装zookeeper

3.1、下载最新稳定版

https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

3.2、安装配置ZK

bash 复制代码
#解压文件
tar -zxf apache-zookeeper-3.8.4-bin.tar.gz 

#移动
 mv apache-zookeeper-3.8.4-bin /usr/local/zookeeper

 #进入安装目录,创建文件
 cd /usr/local/zookeeper
 
 #创建目录
 mkdir data logs 

 #修改配置文件
 cd /usr/local/zookeeper/conf

 mv zoo_sample.cfg zoo.cfg
 
bash 复制代码
 #添加以下内容,这里假设你一定设置好了hostname
  dataDir =/usr/local/zookeeper/data
  dataLogDir=/usr/local/zookeeper/logs
  server.1=hadoop1:2888:3888
  server.2=hadoop2:2888:3888
  server.3=hadoop3:2888:3888

  #修改myid这里写1
bash 复制代码
#分发文件,然后去其他服务器上,修改相应的/usr/local/zookeeper/data/myid 文件为2 和3
xsync /usr/local/zookeeper

4、安装Hbase

4.1、解压文件

bash 复制代码
#解压文件
tar -zxf hbase-2.6.1-bin.tar.gz -C /usr/local/

4.2、hbase-env.sh

bash 复制代码
#指定java环境变量
export JAVA_HOME=/usr/local/java

#指定不使用自带的zk
export HBASE_MANAGES_ZK=false

4.3、backup-masters

bash 复制代码
vim backup-masters

#添加如下内容,指定备用master
hadoop2

4.4、配置hbase-site.xml

XML 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

    <!--指定数据路径-->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop1:8020/hbase</value>
    </property>
    <!--是否分布-->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <!--zk的地址-->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>
    </property>
    <!--zk数据路径-->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/zookeeper/data</value>
    </property>
    <!--指定端口-->
    <property>
        <name>hbase.master.port</name>
        <value>16000</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
  <!--解决shell报错-->
    <property>
      <name>hbase.wal.provider</name>
      <value>filesystem</value>
    </property>

</configuration>

4.5、regionservers

XML 复制代码
hadoop1
hadoop2
hadoop3

4.6、创建软连接

bash 复制代码
ln -s /usr/local/hadoop-3.4.0/etc/hadoop/core-site.xml /usr/local/hbase-2.6.1/conf/core-site.xml
ln -s /usr/local/hadoop-3.4.0/etc/hadoop/hdfs-site.xml /usr/local/hbase-2.6.1/conf/hdfs-site.xml

5、启动Hbase

5.1、分发数据

bash 复制代码
#分发数据
xsync /usr/local/hbase-2.6.1/

5.2、启动hdfs

bash 复制代码
#启动
/usr/local/hadoop-3.4.0/sbin/start-dfs.sh 

#停止
/usr/local/hadoop-3.4.0/sbin/stop-dfs.sh 

5.3、启动zk,每个节点都启动

bash 复制代码
#启动
/usr/local/zookeeper/bin/zkServer.sh start 

#停止
/usr/local/zookeeper/bin/zkServer.sh stop

5.4、启动hbase

bash 复制代码
#方式1

bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

#方式2

#启动
/usr/local/hbase-2.6.1/bin/start-hbase.sh

#停止
/usr/local/hbase-2.6.1/bin/stop-hbase.sh

5.5、HBase页面和HDFS

192.168.139.176:16010

6、编写脚本

bash 复制代码
#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop1 "/usr/local/hadoop-3.4.0/sbin/start-dfs.sh"
        echo " --------------- 启动 zk集群 ---------------"
        ssh hadoop1 "/usr/local/zookeeper/bin/zkServer.sh start"
        ssh hadoop2 "/usr/local/zookeeper/bin/zkServer.sh start"
        ssh hadoop3 "/usr/local/zookeeper/bin/zkServer.sh start"
        echo " --------------- 启动 hbase ---------------"
        ssh hadoop1 "/usr/local/hbase-2.6.1/bin/start-hbase.sh"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 hbase ---------------"
        ssh hadoop1 "/usr/local/hbase-2.6.1/bin/hbase-daemon.sh stop master"
        ssh hadoop1 "/usr/local/hbase-2.6.1/bin/hbase-daemon.sh stop regionserver"
        ssh hadoop1 "/usr/local/hbase-2.6.1/bin/stop-hbase.sh"

        ssh hadoop2 "/usr/local/hbase-2.6.1/bin/hbase-daemon.sh stop master"
        ssh hadoop2 "/usr/local/hbase-2.6.1/bin/hbase-daemon.sh stop regionserver"
        ssh hadoop2 "/usr/local/hbase-2.6.1/bin/stop-hbase.sh"

        ssh hadoop3 "/usr/local/hbase-2.6.1/bin/hbase-daemon.sh stop regionserver"

        echo " --------------- 关闭 zk ---------------"
        ssh hadoop1 "/usr/local/zookeeper/bin/zkServer.sh stop"
        ssh hadoop2 "/usr/local/zookeeper/bin/zkServer.sh stop"
        ssh hadoop3 "/usr/local/zookeeper/bin/zkServer.sh stop"

        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop1 "/usr/local/hadoop-3.4.0/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

chmod +x hbase.sh

二、HBase Shell操作

bash 复制代码
#进入shell
/usr/local/hbase-2.6.1/bin/hbase shell

#查看
list

#创建表
create 'user','info'

#插入数据
put 'user','1001','info:sex','male'
put 'user','1001','info:age','18'
put 'user','1002','info:name','Janna'
put 'user','1003','info:sex','female'
put 'user','1003','info:age','20'

#查看表
 scan 'user'

#表结构
describe 'user'

#修改
put 'user','1001','info:name','tom'
put 'user','1001','info:age','30'

#查看
get 'user','1001'
get 'user','1001','info:name'

#统计条数
count 'user'

#删除一行数据
deleteall 'user','1001'

#删除列
delete 'user','1002','info:sex'

#清空数据
truncate 'user'

#删除表,先禁用再删除
disable 'user'
drop 'user'


#获取配置信息
@shell.hbase.configuration.get("hbase.rpc.timeout")

#设置配置信息
@shell.hbase.configuration.setInt("hbase.rpc.timeout", 61010)

#预分隔表
create 't1','f',SPLITS => ['10','20','30']

#创建namespace
create_namespace 'my_ns'

#命名空间下创建表
create 'my_ns:my_table', 'user'

#修改ns
alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}

#删除ns里的表
 disable 'my_ns:my_table'
 drop 'my_ns:my_table'

#删除ns
drop_namespace 'my_ns'

#退出
exit
相关推荐
潇湘秦6 分钟前
ORACLE_PDB_SID和ORACLE_SID的区别
数据库·oracle
Elastic 中国社区官方博客28 分钟前
Elasticsearch 中使用 NVIDIA cuVS 实现最高快 12 倍的向量索引速度:GPU 加速第 2 章
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·数据库架构
0***863334 分钟前
SQL Server2019安装步骤+使用+解决部分报错+卸载(超详细 附下载链接)
javascript·数据库·ui
wstcl34 分钟前
通过EF Core将Sql server数据表移植到MySql
数据库·mysql·sql server·efcore
jqpwxt35 分钟前
启点智慧景区多商户分账系统,多业态景区收银管理系统
大数据·旅游
聪聪那年2242 分钟前
Oracle 11g windows 10安装与卸载
数据库·oracle
jkyy20141 小时前
线上线下融合、跨场景协同—社区健康医疗小屋的智能升级
大数据·人工智能·物联网·健康医疗
前端之虎陈随易1 小时前
MoonBit内置数据结构详解
数据结构·数据库·redis
小二·1 小时前
Spring框架入门:TX 声明式事务详解
java·数据库·spring
万邦科技Lafite1 小时前
一键获取淘宝店铺所有商品信息,实时监控商品数据
开发语言·数据库·python·api·开放api·电商开放平台·淘宝开放平台