大数据之Hbase和Redis数据库的安装部署和客户端使用

  1. 下载Hbase和Redis

Hbase下载地址:Apache HBase – Apache HBase Downloads(使用hbase1.3.5版本)

Redis下载地址:http://www.redis.cn/download.html(使用redis5.0.5版本)

  1. 通过工具上传Hbase和Redis压缩包

  1. 解压Hbase和Redis

[hadoop@master software]$ tar zxvf hbase-1.3.5-bin.tar.gz -C /opt/module/

[hadoop@master software]$ tar zxvf redis-5.0.5.tar.gz -C /opt/module/

  1. 配置Hbase

1.配置 hbase‐env.sh文件

[hadoop@master software]$ cd /opt/module/hbase‐1.3.5/conf/

[hadoop@master conf]$ vim hbase‐env.sh

按i进入编辑模式

添加(根据自己安装的路径来写)

export JAVA_HOME=/opt/module/jdk1.8.0_144

export HBASE_MANAGES_ZK=fales

2.修改hbase-site.xml配置文件

[hadoop@master conf]$ vim hbase‐site.xml

<configuration>

<property>

                 <name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<!‐‐ 0.98后的新变动,之前版本没有.port,默认端口为60000 ‐‐>

<property>

<name>hbase.master.port</name>

<value>16000</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>master,slave1,slave2</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/opt/module/zookeeper‐3.4.14/zkData</value>

</property>

</configuration>

3.修改regionserver配置文件

master

slave1

slave2

4.复制hbase到slave中

[hadoop@master module]$ scp -r  hbase-1.3.5/ slave1:/opt/module/

[hadoop@master module]$ scp -r  hbase-1.3.5/ slave2:/opt/module/

5.启动Hbase

[hadoop@master module]$ cd /opt/module/hbase‐1.3.5/

[hadoop@master module]$ bin/start‐hbase.sh

6.Jps查看

[hadoop@master module]$ jps

  1. Hbase客户端命令

5.1基本操作

1.进入HBase客户端命令行

bin/hbase shell

2.查看帮助

help

3.查看当前数据库中有哪些表

list

4.查看HBase状态

status

5.查看HBase版本

version

5.2表的操作

  1. 创建表

create 'tech','bigdata'

  1. 创建表,列族版本号为5

create 'tech',{NAME=>'bigdata',VERSION=>’5’}

“=>”表示赋值,字符串使用单引号括起来;如果指定的列族有特点的属性,需

要使用花括号括起来

  1. 创建表,3个列族分别为bigdata、database、ai

create 'tech',{NAME=>'bigdata'},{NAME=>'database'},{NAME=>'ai'}

或者create 'tech','bigdata','database','ai'

  1. 创建表,指定切分点

create 't1','bigdata',SPLITS=>['10','20','30','40']

  1. 插入数据到表

put 'tech','student1','bigdata:hadoop',"HDFS"

put 'tech','student1','bigdata:hadoop',"Yarn"

put 'tech','student2','bigdata:spark',"Spark‐SQL"

put 'tech','student3','bigdata',"Flink"

put 'tech','student4','bigdata:DataMining',"SVM"

put 'tech','student4','bigdata:hadoop',"MapReduce"

参数分别为:“表名”,“行名”,“列族:列”,“值”

时间戳由系统自动生成

  1. 扫描查看表数据

scan ‘tech’

  1. 浏览表、列上面的数据

scan 'tech',{COLUMN=>'bigdata:hadoop'}

  1. 浏览表、列、时间范围内的数据

scan 'tech',{COLUMN=>'bigdata:hadoop',TIMERANCE=>[1591431217536,1591431217537]}

  1. 查看表结构

describe 'tech'

  1. 更新指定字段的数据

put 'tech','student1','bigdata:hadoop',"MapReduce"

  1. 查看“指定行”的数据

get 'tech','student1'

  1. 查看“指定列族:列”的数据

get 'tech','student1','bigdata:hadoop'

  1. 通过指定表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值

get 'tech','student1',{COLUMN=>'c1',TIMERANGE=>[ts1,ts2],VERSIONS=>4}

  1. 向表添加列族

alter 'tech',NAME=>'info'

  1. 删除表中的列族

alter 'tech',NAME=>'ai',METHOD=>'delete'

  1. 设置列族的最大容量

alter 'tech',NAME=>'bigdata',MAX_FILESIZE=>'134217728'

  1. 统计表数据行数

count 'tech'

  1. 删除某rowkey的全部数据

deleteall 'tech','student1'

  1. 删除某rowkey的某一列数据

delete 'tech','student4','bigdata:hadoop'

  1. 清空表数据

truncate 'tech'

清空表的操作顺序为先disable,然后再truncate

  1. 删除表

首先需要先让该表为disable状态

disable 'tech'

然后才能drop这个表

drop 'tech'

5.3 HBase的常用

create:创建表

truncate:清空表,相当于重新创建指定表

describe:先死表相关的详细信息

alter:修改列族模式

put:向指定的表单元中添加值

incr:增加指定表、行或列的值

get:获取行或单元(cell)的值

delete:删除指定的对象值(可以为表、行、列对应的值)

count:统计表中的行数

exists:测试表是否存在

list:列出HBase中存在的所有表

scan:通过对表的扫描来获取对应的值

disable:使表无效

drop:删除表

enable:使表无效

status:返回HBase集群的状态信息

shutdown:关闭HBase集群

exit:退出HBase shell

tools:列出HBase所支持的工具

version:返回HBase版本信息

whoami:查看用户身份

hbck:文件检测修复工具

hfile:文件查看工具

hlog:日志查看工具

export:数据导出工具

import:数据导入工具

  1. Redis安装与客户端使用

6.1安装Redis

  1. 进入redis解压目录

[hadoop@master bin]$ cd /opt/module/redis-5.0.5/

  1. 在redis-5.0.5目录下执行make命令

[hadoop@master redis-5.0.5]$ make

  1. 执行完make后,进入src文件继续执行make install

[hadoop@master redis-5.0.5]$ cd src/

[hadoop@master src]$ sudo make install

  1. 查看默认安装目录

[hadoop@master src]$ cd /usr/local/bin/

[hadoop@master bin]$ ll

redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如 何(服务启动起来后执行)

redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲

redis-check-dump:修复有问题的dump.rdb文件

redis-sentinel:Redis集群使用

redis-server:Redis服务器启动命令 redis-cli:客户端,操作入口

  1. 备份redis.conf:拷贝一份redis.conf到其他目录

[hadoop@master bin]$ cd /opt/module/redis-5.0.5/

[hadoop@master redis-5.0.5]$ cp /opt/module/redis-5.0.5/redis.conf /opt/software/

  1. 修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动—— 136行

[hadoop@master redis-5.0.5]$ vim redis.conf

daemonize yes

  1. 启动命令:在/opt和/usr下启动都是一样的

[hadoop@master redis-5.0.5]$ cd /opt/module/redis-5.0.5/src

执行如下命令,启动redis 使用的是默认配置:

[hadoop@master src]$ ./redis-server

启动后会停在启动界面,可以退出也可以保留,建议保留此界面

执行如下命令,通过启动参数告诉redis使用指定配置文件使用下面命令启动:

[hadoop@master src]$ ./redis-server ../redis.conf

6.2Redis客户端使用

  1. 客户端访问

[hadoop@master src]$ ./redis‐cli

多个端口可以:

[hadoop@master src]$ ./redis-cli -p 6379

  1. 测试验证

ping

  1. 单节点关闭Redis

redis‐cli shutdown

也可以进入终端后再关闭

Shutdown

查看是否还存在redis进程

ps ‐ef | grep redis

端口号6379从何而来:Alessia Merz 默认16个数据库,下标从0开始,初始默认使用0号库 使用命令select [dbid]来切换数据库:

select 8

统一密码管理,所有库都是同样密码,要么都OK要么一个也连接不上

Redis:单线程+多路IO复用                                多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如 调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则 阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程 执行(比如使用线程池) Memcached:多线程+锁

更多内容请关注公众号“测试小号等闲之辈”~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB、RedisHBase是三种不同类型的数据库,它们在数据模型、存储结构和适用场景上有一些区别。 1. 数据模型: - MongoDB是一种文档型数据库使用BSON(二进制JSON)格式存储数据。它以文档的形式存储数据,每个文档可以具有不同的结构,类似于JSON对象。 - Redis是一种键值对数据库,它将数据存储为键值对的形式。键和值都是简单的字符串,但值可以是不同的数据类型,如字符串、列表、哈希表等。 - HBase是一种列族数据库,它以列族的形式组织数据。数据存储在表中,每个表可以有多个列族,每个列族中包含多个列。每个单元格可以存储多个版本的数据。 2. 存储结构: - MongoDB使用B树(B-tree)索引来支持高效的查询操作,可以根据各种条件进行灵活的查询和索引。 - Redis使用哈希表和跳跃表(Skip List)来存储键值对。它具有高速的读写性能,并支持各种数据结构操作。 - HBase使用Hadoop分布式文件系统(HDFS)来存储数据,并使用HBase的自有存储格式。它适用于大规模数据存储和高性能随机读写。 3. 适用场景: - MongoDB适合存储半结构化和非结构化数据,支持复杂查询和灵活的数据模型。适用于应用程序开发、内容管理、日志存储等场景。 - Redis适合用作缓存、队列和实时数据处理等场景,具有高速的读写性能和丰富的数据结构操作。 - HBase适合存储大规模的结构化数据,特别适用于分布式存储和高吞吐量的随机读写。常用于日志分析、大数据处理等场景。 需要根据具体的应用需求和场景选择适合的数据库。同时,这三种数据库也可以结合使用,根据不同的需求选择合适的组合方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值