Hbase0.95 学习资料整理

【IIC通信】Chap.1(I2C)IIC通信原理、IIC读写时序详解 IIC通信以两根连线SDA、SCL实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。 阅读详情

一、Hbase0.95官方学习网址  http://www.just4e.com/hbase.html#example_config 

二、Hbase Linux 环境常用命令:

            

Hbase 建表基本命令总结

访问hbase,以及操作hbase,命令不用使用分号

hbase shell 进入hbase

list 查看表

hbase shell -d

hbase(main):024:0> scan '.META.'

=============小例子===================================================

1. 创建一个表member

hbase(main):025:0> create 'member','m_id','address','info'

2.list #查看所有表

3.查看表描述

hbase(main):028:0> describe 'member'

4. scan浏览表中数据

scan 'member'

5.

删除一个列族m_id:先将表disable(如果表中之前有数据的话,会把数据清空)

hbase(main):030:0> disable 'member'

hbase(main):033:0> is_enabled 'member'

hbase(main):034:0> alter 'member',{NAME=>'m_id',METHOD=>'delete'}

最后enable,否则不能进行其他操作

hbase(main):038:0> enable 'member'


6.插入几条记录

put'member','scutshuxue','info:age','24'

put'member','scutshuxue','info:birthday','1987-06-17'

put'member','scutshuxue','info:company','alibaba'

put'member','scutshuxue','address:contry','china' 

put'member','scutshuxue','address:province','zhejiang' 

put'member','scutshuxue','address:city','hangzhou' 

scan 'member'


7.获取数据

获取一个id的所有数据

hbase(main):001:0>get 'member','scutshuxue'

获取一个id,一个列族的所有数据

hbase(main):002:0>get 'member','scutshuxue','info'

获取一个id,一个列族中一个列的所有数据

hbase(main):002:0>get 'member','scutshuxue','info:age' 

通过timestamp来获取两个版本的数据

hbase(main):010:0>get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}


8.  更新一条记录

将scutshuxue的年龄改成99

hbase(main):004:0>put 'member','scutshuxue','info:age' ,'99'

10.

查询表中有多少行:

hbase(main):019:0>count 'member'  

11.

删除整行

hbase(main):001:0>deleteall 'member','xiaofeng'

12.

删除id为xiaofeng的值的‘info:age’字段

hbase(main):016:0>delete 'member','temp','info:age'

13.

给‘xiaofeng’这个id增加'info:go'字段,并使用counter实现递增

hbase(main):041:0> incr 'member','xiaofeng','info:go'

连续执行incr以上,COUNTER VALUE 的值会递增,通过get_counter


获取当前count的值

hbase(main):069:0>get_counter 'member','xiaofeng','info:age' 

hbase(main):058:0>get 'member','xiaofeng','info:go'  

获取当前count的值

hbase(main):069:0>get_counter 'member','xiaofeng','info:age' 


=============================相关删除=========================

1.

删除一个列族:先将表disable(如果表中之前有数据的话,会把数据清空)

hbase(main):030:0> disable 'member'

hbase(main):033:0> is_enabled 'member'

hbase(main):034:0> alter 'member',{NAME=>'m_id',METHOD=>'delete'}

最后enable,否则不能进行其他操作

hbase(main):038:0> enable 'member'

2.

删除整行

hbase(main):001:0>deleteall 'scores','xiaofeng'

3.

将整张表清空:

hbase(main):035:0>truncate 'scores'

hbase是先将掉disable掉,然后drop掉后重建表来实现truncate的功能

4.

drop一个表(先disable,在drop)

hbase(main):029:0>disable 'scores'

hbase(main):029:0>drop 'scores'

=====================基本操作===========================================

1.

查询表是否存在

hbase(main):021:0>exists 'scores'

2.

判断表是否enable

hbase(main):034:0>is_enabled 'scores'

                                                                                       

3.

判断表是否disable

hbase(main):032:0>is_disabled 'scores'

4.

列出所有的表

hbase(main):028:0>list

5.

创建表member

hbase(main):025:0> create 'member','m_id','address','info'

6.

查看表描述

hbase(main):028:0> describe 'member'

=================查询操作================================================

1.scan '表名' #查看所有数据

2.get是根据主键查看一列

get '表名','主键'[,'列簇名'][,'列簇名:列名']

=============================================================

过滤查询表的内容

1.FirstKeyOnlyFilter() 得到每一行的列族info的第一个列

hbase(main):002:0> scan 'student',{COLUMNS=>'info',FILTER=>"(FirstKeyOnlyFilter())"}

2.查看列簇是info,LIMIT是显示的行数,STARTROW是开始行对应的是主键

hbase(main):008:0> scan 'student',{COLUMNS=>['info'],LIMIT=>4,STARTROW=>'200977100710'}

3.查看列簇是info,name

hbase(main):007:0> scan 'student',{COLUMNS=>['info','name'],LIMIT=>4,STARTROW=>'200977100710'}

 三、JAVA调用Hbase代码:

 package net.chnbs.delta.dzfp.app.common.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;


import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.HTableInterface;
import org.apache.hadoop.hbase.client.HTablePool;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;


import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.log4j.Logger;


import net.chnbs.delta.dzfp.app.common.CommonHadoop;


/**
 * @Description TODO(分布式存储Hadoop 接口实现层)
 * @author 彭甜
 * @version 1.0.0 2013年7月15日 09:37:26
 */
public class CommonHadoopImp implements CommonHadoop {
protected static Logger log = Logger.getLogger(CommonHadoopImp.class);
public static Configuration configuration=null;
private static HTablePool pool =null;
public static final String ROW_KEY_VALUE="ROWKEY";//Hbase表中的行名称健
static {
configuration = HBaseConfiguration.create();
/**
* 单机调用
*/
configuration.set("hbase.zookeeper.property.clientPort", "3351");
configuration.set("hbase.zookeeper.quorum", "172.16.23.21");//设置zookeeper的主机,建议使用单数
   configuration.set("hbase.master", "172.16.23.21:60000");//设置hbase的master主机名和端口
       

/*  //集群分布式调用
 configuration.set("hbase.zookeeper.property.clientPort", "2222");
 configuration.set("hbase.zookeeper.quorum", "192.9.205.150");//设置zookeeper的主机,建议使用单数
 configuration.set("hbase.master", "app1.wlfp.com:60000");//设置hbase的master主机名和端口
*/        
   
   pool=new HTablePool(configuration, 1000);
   /*app1.wlfp.com   192.9.205.150
   db1.wlfp.com    192.9.205.152
   db2.wlfp.com    192.9.205.153*/
}


/**
* @Description TODO(创建没有列的表)
* @param tableName,String 表名
* @throws Exception
*/
public void createTable(String tableName) throws Exception {
// TODO Auto-generated method stub
createTable(tableName,null);
}


/**
* @Description TODO(删除指定Hbase表中的rowKey数据)
* @param tableName,String 表名  
* @param hadoopMapTypeRowKey,String Hbase tableName中的 行名称
* @throws Exception
*/
public void deleteHbaseDataByRowKeyAndTableName(String tableName,
String... hadoopMapTypeRowKeys) throws Exception {
HTable table = new HTable(configuration, tableName);
log.info("开始删除"+tableName+"中的值");
//存储要删除的hadoopMapTypeRowKeys
List list = new ArrayList();
if(hadoopMapTypeRowKeys!=null){
for(String hadoopMapTypeRowKey:hadoopMapTypeRowKeys){
Delete delete = new Delete(hadoopMapTypeRowKey.getBytes());
   list.add(delete);
}
}

//执行删除hadoopMapTypeRowKeys
table.delete(list);

log.info("删除行成功!");



}





@Override
public void dropTable(String tableName) throws Exception {
log.info("开始删除表"+tableName+"............");
HBaseAdmin admin = new HBaseAdmin(configuration);
admin.disableTable(tableName);
admin.deleteTable(tableName);
log.info("删除表"+tableName+"成功............");


}






/**
* @Description TODO(向指定Hbase 表中插入数据)
* @param tableName,String 表名
* @param hadoopMapTypeRowKey,String Hbase tableName中的 行名称
* @param map,Map 存储的数据
* @throws Exception
*/
public void insertHbaseData(String tableName, Map map,String hadoopMapTypeRowKey) throws Exception {

log.info("insertHbaseData start.............");

HTableInterface table = pool.getTable(tableName);
Put put = new Put(hadoopMapTypeRowKey.getBytes());// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值

/*
* 开始插入数据
*/
if(map!=null){
Set keys=map.entrySet();
if(keys!=null){
Iterator iterator = keys.iterator();
while(iterator.hasNext()){
Map.Entry<String, Object> entry=(Entry)iterator.next();
String columnKey=entry.getKey();
String columnValue=(String) entry.getValue();
//log.info("columnKey:"+columnKey+",columnValueo:"+columnValue);
put.add(columnKey.getBytes(), null, (columnValue==null?"":columnValue).getBytes());//向表中制定列中插入数据columnValue.getBytes()
}
}
}

/*
* 执行插入数据
*/
table.put(put);

log.info("insertHbaseData  end......");


}



/**
* @Description TODO(获取指定分布式存储的信息)
* @param tableName,String 表名
* @param hadoopMapTypeRowKey,String Hbase tableName中的 行名称
* @return Map<String,Object>
* @throws Exception
*/
public Map<String, Object> getHbaseData(String tableName,
String hadoopMapTypeRowKey) throws Exception {
//返回的Map对象
Map<String,Object> returnMap=new HashMap<String,Object>();

log.info("获取"+tableName+"中的"+hadoopMapTypeRowKey+"值......");
HTableInterface table = pool.getTable(tableName);

Get scan = new Get(hadoopMapTypeRowKey.getBytes());// 根据hadoopMapTypeRowKey查询
Result r = table.get(scan);

for (KeyValue keyValue : r.raw()) {
//log.info("列:" + new String(keyValue.getFamily())+ "====值:" + new String(keyValue.getValue()));
returnMap.put(new String(keyValue.getFamily()), new String(keyValue.getValue()));
}

return returnMap;
}


/**
* @Description TODO(查询指定Hbase中表中的数据)
* @param tableName,String 表名
* @return List
* @throws Exception
*/
public List queryAllHbaseData(String tableName) throws Exception {
log.info("查询"+tableName+"中所有数据...........");
List<Map<String,Object>> returnListMap=new ArrayList<Map<String,Object>>();//查询所返回的值信息

HTableInterface table = pool.getTable(tableName);

//执行查询指定表中所有的信息
ResultScanner rs = table.getScanner(new Scan());
for (Result r : rs) {
Map<String,Object> returnMap=new HashMap<String,Object>();
returnMap.put(ROW_KEY_VALUE, new String(r.getRow()));
//log.info("获得到rowkey:" + new String(r.getRow()));
for (KeyValue keyValue : r.raw()) {
/*log.info("列:" + new String(keyValue.getFamily())
+ "====值:" + new String(keyValue.getValue()));*/
returnMap.put(new String(keyValue.getFamily()), new String(keyValue.getValue()));
}
returnListMap.add(returnMap);
}

return returnListMap;
}


/**
* @Description TODO(根据 查询条件 查询指定HBase表中的数据 )
* @param tableName,String 表名
* @param mapParam,Map 查询条件参数
* @return List
* @throws Exception
*/
public List queryHbaseDataList(String tableName, Map mapParam)
throws Exception {
log.info("=========查询指定HBase表中"+tableName+"的数据");
List<Map<String,Object>> returnListMap=new ArrayList<Map<String,Object>>();//查询所返回的值信息

HTableInterface table = pool.getTable(tableName);


List<Filter> filters = new ArrayList<Filter>();

/*
* 开始遍历查询的条件
*/
if(mapParam!=null){
log.info("============查询的条件:"+mapParam.toString());
Set keys=mapParam.entrySet();
if(keys!=null){
Iterator iterator = keys.iterator();
while(iterator.hasNext()){
Map.Entry<String, Object> entry=(Entry)iterator.next();
String columnKey=entry.getKey();//列名
String columnValue=(String) entry.getValue();//列名多对应的值
Filter filter = new SingleColumnValueFilter(Bytes
.toBytes(columnKey), null, CompareOp.EQUAL, Bytes
.toBytes(columnValue));
filters.add(filter);
}
}
}
  
        /**
         * 执行多条件过滤查询
         */
FilterList filterList = new FilterList(filters);
Scan scan = new Scan();
scan.setFilter(filterList);

ResultScanner rs = table.getScanner(scan);
for (Result r : rs) {
Map<String,Object> returnMap=new HashMap<String,Object>();
returnMap.put(ROW_KEY_VALUE, new String(r.getRow()));
//log.info("获得到rowkey:" + new String(r.getRow()));
for (KeyValue keyValue : r.raw()) {
String columnKey=new String(keyValue.getFamily());//列名
String columnValue=new String(keyValue.getValue());//列名多对应的值
//log.info("列:" + columnKey+ "====值:" + columnValue);
returnMap.put(columnKey, columnValue);
}
returnListMap.add(returnMap);
}
rs.close();

return returnListMap;
}


/**
* @Description TODO(在HBase上创建表)
* @param tableName,String 表名
* @param columns,String[] 列名数组
* @throws Exception
*/
public void createTable(String tableName, String... columns)
throws Exception {
   log.info("开始创建表名"+tableName+" ......");

if(configuration==null){
log.info("configuration is Null................");
}else{
HBaseAdmin hBaseAdmin = new HBaseAdmin(configuration);

// 如果存在要创建的表,那么先删除,再创建
if (hBaseAdmin.tableExists(tableName)) {
hBaseAdmin.disableTable(tableName);
hBaseAdmin.deleteTable(tableName);
log.info(tableName + " is exist,detele....");
}
HTableDescriptor tableDescriptor = new HTableDescriptor(tableName);

//设置表中的列
if(columns!=null&&columns.length>0){
for(String columnName:columns){
tableDescriptor.addFamily(new HColumnDescriptor(columnName));
}

}

//创建表
hBaseAdmin.createTable(tableDescriptor);
}

log.info("创建表名"+tableName+"结束......");

}






}

H

LinuxCNC开发实战:从安装到EtherCAT配置全解析 本文详细解析LinuxCNC开发实战,从系统安装到EtherCAT总线配置全流程。涵盖实时内核优化、伺服驱动器PDO映射、HAL配置及自定义运动学开发,帮助开发者快速搭建工业级数控系统,提升运动控制精度与稳定性。 阅读详情

相关推荐

贝塞尔曲线在机器人路径平滑中的实战应用与优化

本文深入探讨了贝塞尔曲线算法在机器人路径平滑中的核心应用。通过对比G1CBS与G2CBS两种方法,详细阐述了如何实现从切线连续到曲率连续的平滑优化,以满足不同机器人对运动平稳性和效率的需求,并提供了完整的Python代码实现与关键参数调优指南。

weixin_29051811的博客 307

HBase 官方文档0.97.0

HBase     官方文档中文版0.97.0 Copyright © 2012 Apache Software Foundation。保留所有权利。 Apache Hadoop, Hadoop, MapReduce, HDFS, Zookeeper, HBase 及 HBase项目 logo 是Apache Software Foundation的商标。

厚积而薄发 1万+

简单的服务器取证

记一次入门服务器取证——药品直销网,涵盖旧版本宝塔、静态IP的配置更改、代码的理解

m0_74559567的博客 3756

大数据集群之HBASE2

其它面试题(springboot、mybatis、并发、java中高级面试总结等)《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)其它面试题(springboot、mybatis、并发、java中高级面试总结等)[外链图片转存中…(img-pJJCwO2j-1712423917158)][外链图片转存中…(img-Xh1YROTP-1712423917158)]

2401_83915900的博客 978

TSMC 40nm LP工艺下,新手画版图最容易踩的5个坑(附Cadence避坑指南)

本文详细解析了TSMC 40nm LP工艺下版图设计的5个常见陷阱,包括MOS管尺寸转换、DNW隔离、Guard Ring设计、金属布线和DRC检查。通过Cadence实战技巧和设计规则优化,帮助新手工程师规避典型错误,提升版图设计效率和质量。

weixin_26800111的博客 456

【接地系统篇】电力系统接地技术详解:从基本原理到实际应用

接地是为电流返回电源提供的一条低阻抗通道。简单来说,就是为故障电流修建一条"安全回家"的路,防止电流通过人体或其他不应带电的部件。接地系统选择原则安全性优先:TN-S系统安全性最高,适合重要场所经济性考虑:TN-C系统成本最低,适合一般工业连续性要求:IT系统供电连续性最好,适合特殊场所灵活性选择:TN-C-S系统兼顾经济与安全,应用最广。

2301_81299416的博客 2223

java最新面试题答案解析,win10安装HBase2

Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!Java面试核心知识点《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!” />[外链图片转存中…(img-ZfRPEURW-1713302344794)]Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间![外链图片转存中…(img-gANkE7FF-1713302344795)]

2401_84009837的博客 810

从Palantir到AI时代:Forward Deployed Engineer模式的深度解析

《从Palantir到AI时代:FDE模式的创新与挑战》摘要:Palantir开创的前置部署工程师(FDE)模式正在成为AI创业公司的标配。该模式通过现场工程师深入了解客户需求,填补产品与实际应用间的鸿沟,颠覆了传统SaaS规模化路径。核心优势在于将定制化服务转化为产品发现机制,特别适合高度异质化的AI市场。成功关键在于平衡定制与标准化,通过合同价值增长、产品杠杆效应等独特指标衡量成效。FDE人才需要兼具领域洞察力与快速原型能力。这一模式表明,在AI等新兴领域,深入客户现场可能比单纯追求技术突破更能创造商业

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 4534

windows 10 HBase保姆级安装教程

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

Y1567409的博客 2067

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

YOLO11后处理优化 | 引入DIoU-NMS替代传统NMS,解决高重叠目标误删,召回率大幅提升

YOLO11模型在密集目标场景下存在NMS后处理导致的漏检问题。本文提出采用DIoU-NMS替代传统NMS,通过引入中心点距离信息,有效区分重叠但不同的目标,提升召回率。文章详细分析了传统NMS的三大局限性,对比了Soft-NMS和DIoU-NMS的优劣,并给出在YOLO11中实现DIoU-NMS的完整代码方案。该方法特别适用于安防监控、自动驾驶等目标密集场景,能够在不显著增加计算量的情况下显著改善检测效果。

2601_95807009的博客 150

Hbase 架构整理

Hbase Region的理解 1、Region数量的影响通常较少的region数量可使群集运行的更加平稳,官方指出每个RegionServer大约100个regions的时候效果最好,理由如下:1)Hbase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收Full GC的问题,默认是开启的。但是每个MemStore需要2MB(一个列簇对应一个写缓存memstore)。所以如果每个r

UnionIBM的博客 567

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——原生“龙虾”OpenClaw快速部署、问题速查与避坑指南

至此,你已经完成了从选购服务器到配置AI大脑的全过程。无论是想在云上养一只7x24小时的“龙虾”,还是在本地体验AI Agent的魅力,上述指南都提供了明确的路径。下一步,就是接入飞书、钉钉或QQ,让你的OpenClaw真正开始“干活”赚钱了 [citation:6]。

冯·诺依曼 990

HBase完全分布式集群部署_部署hbase分布式(1),2024年最新渣本毕业两年经验

HBase完全分布式集群部署 : https://mp.weixin.qq.com/s/pkJt_6be2hEzayjQMouTrQ。原文来自:https://www.jianshu.com/p/e2618564b086 作者:Anson_前行。各节点进程(The picture is replicating)(3) 各服务器配置jdk1.7+web访问 ip:16010。把Hbase复制到其他机器。

2401_84298121的博客 1710

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10安装HBase2

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。[外链图片转存中…(img-LdpHU6Ks-1712695655786)][外链图片转存中…(img-PrQyMwKS-1712695655786)]

2401_83916204的博客 723

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【152期】美团一面:为什么选用 Hbase,Hbase 和 MySQL有啥区别?

图片。

ghfgjfg679的博客 989

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hadoop 、hbase 、hive 版本对应关系

hadoop1.2+hbase0.95.0+hive0.11.0 会产生hbase+hive的不兼容,创建hive+hbase的关联表就会报pair对异常。 hadoop1.2+hbase0.94.9+hive0.10.0 没问题,解决了上个版本的不兼容问题。 www.aboutyun.com hadoop-1.0.3+hive-0.9.0+hbase-0.92.0兼容 hadoop2.

Shadow--DIUDIUU)gJ(Y2Pr*NX 3191

hbase可视化:hbaseGUI的安装与使用_hbase gui

git官方。

2401_84182020的博客 2502

四、Linux环境下JDK安装、Hadoop、Zookeeper和HBase集群部署_hbase-3

(先在Server01的XShell界面上完成HBase集群部署,再通过已经配置好的ssh免密,快速实现多台虚拟机的HBase集群部署)在最后两行按dd,删除,然后,按o,粘贴下面内容,按esc+:+wq,保存退出(下面的必须和Hadoop配置的一样)2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

536

HBase中常见的参数分类整理(版本为HBase 1.1.2)

------------------Region------------------- hbase.hregion.max.filesize:默认10G,简单理解为Region中任意HStore所有文件大小总和大于该值就会进行分裂。 解读:实际生产环境中该值不建议太大,也不能太小。太大会导致系统后台执行compaction消耗大量系统资源,一定程度上影响业务响应;太小会导致Region分裂比较频繁(分裂本身其实对业务读写会有一定影响),另外单个RegionServer中必然存在大量Region,太多Regi

小东的博客 723

【HBase】HBase入门详解(五)

(图片来源于网络,侵删) 一、Master、RegionServer的上下线以及Region的管理 Master上线 1) 从Zookeeper上获取唯一一个代表Active Master的锁,用来阻止其他Master成为真正的Master 2) 扫描Zookeeper上的/hbase/rs节点,获取当前可用的Region server列表 3) 和每个RegionServer通信,获得当...

Together 4441
上一篇: ActiveMQ学习(一)——MQ的基本概念
下一篇: Linux基本命令
aspnetandjava
博客等级 码龄16年 43粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值