当前位置: 首页 > article >正文

大数据技术(六)—— 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安装

主机名

ip

master

zookeeper

RegionServer

hadoop1

192.168.139.176

hadoop2

192.168.139.214

backup

hadoop3

192.168.139.215

 

1、准备工作

1.1、安装rsync

sudo yum install rsync -y

1.2、编辑脚本 

vim xsync
#!/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、测试

#创建文件
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

#解压文件
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
 
 #添加以下内容,这里假设你一定设置好了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
#分发文件,然后去其他服务器上,修改相应的/usr/local/zookeeper/data/myid 文件为2 和3
xsync /usr/local/zookeeper

4、安装Hbase

4.1、解压文件

#解压文件
tar -zxf hbase-2.6.1-bin.tar.gz -C /usr/local/

4.2、hbase-env.sh

#指定java环境变量
export JAVA_HOME=/usr/local/java

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

4.3、backup-masters

vim backup-masters

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

4.4、配置hbase-site.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

hadoop1
hadoop2
hadoop3

4.6、创建软连接 

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、分发数据

#分发数据
xsync /usr/local/hbase-2.6.1/

5.2、启动hdfs

#启动
/usr/local/hadoop-3.4.0/sbin/start-dfs.sh 

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

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

#启动
/usr/local/zookeeper/bin/zkServer.sh start 

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

5.4、启动hbase

#方式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

 

53c1844372dc7416a1722710f230b425.png

 

e3f88baed0bc329b6744bfc249433c70.png

6、编写脚本 

#!/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操作

#进入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

 

 


http://www.kler.cn/a/467814.html

相关文章:

  • 极客说|微软 Phi 系列小模型和多模态小模型
  • [python3]Excel解析库-openpyxl
  • Java 关键字【synchronized】
  • 计算机网络——数据链路层-流量控制和可靠传输
  • 类的定义和使用(python)
  • Java虚拟机(Java Virtual Machine,JVM)
  • Oracle ADG备机报错ORA-00328 ORA-00334
  • 人工智能:是助力还是取代?
  • CSP知识点整理大全
  • arm64函数源码和汇编解析(objdump)
  • Java【线程与并发】
  • 项目配置设置二 (芒果头条项目进度3)
  • 大型 UniApp 应用的架构设计
  • HTTP、HTTP/2 和 gRPC 是网络通信协议或基于这些协议的技术,它们之间有显著的区别
  • 003__系统共享工具、服务器的使用
  • 高等数学学习笔记 ☞ 极限的运算法则与存在准则
  • MySQL(四)MySQL Select语句
  • RISC-V学习笔记
  • QML自定义数值编辑框SpinBox样式
  • 基于mysql数据库实现分布式锁
  • 73 mysql replication 集群的交互
  • Python 数据结构揭秘:栈与队列
  • HDFS块预留导致的存储空间异常的问题探究
  • python.exe无法找到程序入口 无法定位程序输入点(Anaconda Prompt报错)
  • 基于JAVA+SpringBoot+Vue的校园外卖服务系统
  • 无刷电机驱动板原理图解析