elasticsearch hbase
接下来是学习时间
hbase 是一个分布式的数据库
主要作用:海量数据的存储和准实时查询
一.Hbase的应用场景和特点
大数据类的场景、容量大、列式存储 多版本 扩展性
HBase 设计目标(特点):
海量数据存储:如果预估到记录最多只有上百万行,那么传统的RDBMS完全就可以解决,没必要使用 HBase 了,HBase 被设计用来存储海量数据。
实时查询:支持随机、实时读取/写入大规模数据集。
列式存储:根据数据的不同结构,每行数据可以有不同数量的列,这个列是随数据动态伸缩的。
多版本:每一列的数据存储有多个版本
稀疏性:为空的列并不占用存储空间
易扩展:底层依赖于 Hadoop HDFS
高可靠性:HDFS 的多副本存储机制,还有日志 ,宕机可以恢复
高性能:基于LSM-tree,读写性能能够达到毫秒级别
进入hbase 命令:bin/hbase shell
create 创建表
create 表名,列簇名 | create ‘test’,'info'
enable 激活表
describe 对表查看整个结构说明
is_disables is_enabled 查看表的状态
disable 禁用表
drop 删除表
删除前要先disable禁用一下
list 查看库里有多少张表
count 求和
行数求各
delete 删除某一行
delete表名,行,“列簇:列名”,"值" | delete "test","0001","info:username"
get 获取某一列的数据
get 表名,行,“列簇:列名”,"值" | get "test","0001","info:username"
truncate 删除一个表之后重新又创一个表的初始化
过程:屏蔽->删除掉->新建=====全新的数据初始化,相当于mysql 的删减表
scan 查看全表数据
sacn 表名|scan 'test'
put 添加数据
put 表名,行,“列簇:列名”,"值" | put "test","0001","info:username","zimuxing" put "test","0001","info:age","28"
安装ElasticSearch
1、安装前提
windows下已经安装好了jdk8的版本
2、下载ElasticSearch
https://www.elastic.co/cn/downloads/elasticsearch#ga-release ------下载zip包,将下载的zip文件解压后,直接运行bin下的elasticsearch.bat这个文件,然后访问本机的127.0.0.1:9200,出现以下图说明es安装成功。
图一:
3、安装nodejs
3.1下载地址:https://nodejs.org/en/download/ 根据自己系统下载相应的msi,双击安装。
问题说明:第一次尝试的时候将nodejs安装在了es的安装目录之外(同级目录),在安装head插件时,执行npm - install的时候发现npm这个目录异常消失了,然后重新安装nodejs,安装过程中如果将安装目录直接放在es目录中会报文件名路径过长的问题,导致安装失败
解决办法:现在某个盘将nodejs安装,然后打成压缩包的形式,在es目录中重新解压(目录见图二)
图二:
小插曲:此处安装出现的问题:win10 the error code is 2502
导致这个问题的原因:对系统的操作权限不足,只要我们获得超级管理员权限,或者管理员权限后问题就会解决
解决办法:打开任务管理器,找到explorer.exe这个进程---然后右键结束这个进程----点击文件-运行新任务,按照图四创建任务,并且勾选以系统管理权限创建此任务。再次安装或者卸载文件的时候就不会报权限不足的问题了
说明:explorer.exe是Windows程序管理器或者文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理
图三:
图四:
3.2使用node -v查看自己nojs的版本,使用npm -v查看npm的版本,执行 npm install -g grunt-cli命令,
安装grunt
Grunt 是基于 Node.js 的项目构建工具。它可以自动运行你所设定的任务
图五:
4、安装head
4.1 修改elasticsearch.yml文件
因为head跟es是两个独立的进程,是有跨越问题的,帮修改下面文件,在config文件里
在文件最后加入
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
放开network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0
放开cluster.name;node.name;http.port的注释
双击elasticsearch.bat重启es
4.2 https://github.com/mobz/elasticsearch-head 下载zip文件,然后解压到制定目录,见图二
4.3修改E:\elasticsearch-5.4.1\elasticsearch-head-master\Gruntfile.js
图六:
进入E:\elasticsearch-5.4.1\elasticsearch-head-master\_site修改app.js 中下文内容为服务器地址,如果是本机部署不修改也可以。
4.4进入到如下目录,执行npm install命令
最后,在head源代码目录下启动nodejs:
安装完成执行grunt server 或者npm run start(以后每次),出现下图证明安装成功,如果还不成功,退出es再执行一次npm install -g grunt-cli
出现如下图所示则证明安装成功:
访问localhost:9100
状态
绿色green 很健康,可以正常运行
黄色yellow 健康不是很好,但可以正常使用
红色 red 健康很差,虽然可以正常搜索数据但出现丢失数据的情况