大数据技术(六)—— 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
相关推荐
咸鱼求放生1 小时前
es在Linux安装
大数据·elasticsearch·搜索引擎
人大博士的交易之路3 小时前
今日行情明日机会——20250606
大数据·数学建模·数据挖掘·数据分析·涨停回马枪
寒山李白4 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
文牧之4 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
deriva5 小时前
某水表量每15分钟一报,然后某天示数清0了,重新报示值了 ,如何写sql 计算每日水量
数据库·sql
Leo.yuan6 小时前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
Kookoos6 小时前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext
云之兕6 小时前
MyBatis 的动态 SQL
数据库·sql·mybatis
gaoliheng0066 小时前
Redis看门狗机制
java·数据库·redis
SelectDB技术团队7 小时前
从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
大数据·数据仓库·clickhouse·kylin·实时分析