HBase集群RS扩容性能验证Rowkey构建方法
RegionServer节点扩展后,需要将一部分原有Region迁移到新的RegionServer中,使各RegionServer负载均衡。
RegionServer节点扩展后,需要将一部分原有Region迁移到新的RegionServer中,使各RegionServer负载均衡。
为了验证多了一个节点后的HBase的写性能提升,需要使每次put时List中的RowKey平均分配到现有的所有Region中,以达到使所有RegionServer并发处理的目的。
下面的代码是这种均匀RowKey构建的元代码:
import java.util.ArrayList;
import java.util.List;
public class externTest {
public static long TOTAL_NUMS = 145;
public static int REGION_NUMS = 24;
public static long EACH_PUT_NUMS = 48;
public static void buildString() {
int addition = 0;
String str = null;
List
long curNum = 0;
long putNums = TOTAL_NUMS/EACH_PUT_NUMS; //通常等于总put数-1;
long loopsInOnePut = EACH_PUT_NUMS/REGION_NUMS; //一次put所需的内层循环数,也即是curNum自增数
// 处理循环内的
for (long k = 0; k for (long i = 0; i for (int j = 0; j //A-Z使用同一个数值
addition = j % REGION_NUMS;
str = num2ABC(addition);
//构建本条记录字符串
System.out.println(str + curNum);
list.add(str);
}
curNum++; //一次循环后当前尾数+1
}
// TODO: 执行一次put
System.out.println("put");
list.clear();
}
// 处理循环外的,肯定小于EACH_PUT_NUMS,,最后一次put操作
long lastNums = TOTAL_NUMS % EACH_PUT_NUMS; //还剩多少记录要put
long lastloops = lastNums / REGION_NUMS; //curNum还要自增多少
long numPlus = lastNums % REGION_NUMS; //最后额外补充多少条记录
for (long i = 0; i for (int j = 0; j //A-Z使用同一个数值
addition = j % REGION_NUMS;
str = num2ABC(addition);
//构建本条记录字符串
System.out.println(str + curNum);
list.add(str);
}
curNum++; //一次循环后当前尾数+1
}
// 将循环外
for (int j = 0; j //A-Z使用同一个数值
addition = j % REGION_NUMS;
str = num2ABC(addition);
//构建本条记录字符串
System.out.println(str + curNum);
list.add(str);
}
// TODO: 执行一次put
System.out.println("put");
list.clear();
return;
}
public static String num2ABC(int num) {
String str = null;
switch (num) {
case 0:
str = new String("A");
break;
case 1:
str = new String("B");
break;
case 2:
str = new String("C");
break;
case 3:
str = new String("D");
break;
case 4:
str = new String("E");
break;
case 5:
str = new String("F");
break;
case 6:
str = new String("G");
break;
case 7:
str = new String("H");
break;
case 8:
str = new String("I");
break;
case 9:
str = new String("J");
break;
case 10:
str = new String("K");
break;
case 11:
str = new String("L");
break;
case 12:
str = new String("M");
break;
case 13:
str = new String("N");
break;
case 14:
str = new String("O");
break;
case 15:
str = new String("P");
break;
case 16:
str = new String("Q");
break;
case 17:
str = new String("R");
break;
case 18:
str = new String("S");
break;
case 19:
str = new String("T");
break;
case 20:
str = new String("U");
break;
case 21:
str = new String("V");
break;
case 22:
str = new String("W");
break;
case 23:
str = new String("X");
break;
default:
str = new String("Z");
break;
}
return str;
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Test my Java!");
buildString();
}
}

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

隨著大數據時代的到來,資料處理和儲存變得越來越重要,如何有效率地管理和分析大量的資料也成為企業面臨的挑戰。 Hadoop和HBase作為Apache基金會的兩個項目,為大數據儲存和分析提供了一個解決方案。本文將介紹如何在Beego中使用Hadoop和HBase進行大數據儲存和查詢。一、Hadoop和HBase簡介Hadoop是一個開源的分散式儲存和運算系統,它可

依賴:org.springframework.dataspring-data-hadoop-hbase2.5.0.RELEASEorg.apache.hbasehbase-client1.1.2org.springframework.dataspring-data-hadoop2.5.0.RELEASE增加配置官方提供的方式是透過xml方式,簡單改寫後如下:@ConfigurationpublicclassHBaseConfiguration{@Value("${hbase.zooke

如何使用Java開發一個基於HBase的NoSQL資料庫應用引言:隨著大數據時代的到來,NoSQL資料庫成為處理大量資料的重要工具之一。 HBase作為一種開源的分散式NoSQL資料庫系統,在大數據領域有廣泛的應用。本文將介紹如何使用Java來開發基於HBase的NoSQL資料庫應用,並提供具體的程式碼範例。一、HBase介紹:HBase是基於Hadoop的分

随着互联网应用和数据量的不断增长,传统的关系型数据库已经不能满足存储和处理海量数据的需求。而NoSQL(NotOnlySQL)作为一种新型的数据库管理系统,其能够在海量数据存储和处理方面具有显著的优势,得到越来越多的关注和应用。在NoSQL数据库中,ApacheHBase是一个非常流行的开源分布式数据库,它基于Google的BigTable思想设计,具

隨著大數據時代的到來,海量資料的儲存和處理顯得格外重要。在NoSQL資料庫方面,HBase是目前廣泛應用的解決方案。 Go語言作為靜態強類型程式語言,由於其語法簡單、效能優秀,越來越多地應用於雲端運算、網站開發和資料科學等領域。本文將介紹如何在Go語言中使用HBase來實現高效率的NoSQL資料庫應用。 HBase介紹HBase是高可擴展、高可靠性、基

在Beego框架中使用HBase進行資料儲存和查詢隨著網路時代的不斷發展,資料儲存和查詢變得越來越關鍵。大數據時代來臨,各種資料來源都在各自不同的領域佔據著重要地位,其中非關係型資料庫是一種在資料儲存和查詢方面優勢明顯的資料庫,而HBase是一種基於Hadoop的分散式非關係型資料庫。本文將介紹如何在Beego框架中使用HBase進行資料儲存與查詢。一、H

Workerman是高效能的PHPsocket框架,它的特點是可以承載大量的並發連接。與傳統的PHP框架不同的是,Workerman不依賴Apache或Nginx等Web伺服器,而是透過開啟一個PHP進程,獨自運行整個應用程式。 Workerman具有極高的運作效率和更好的負載能力。同時,HBase是一個分散式的NoSQL資料庫系統,廣泛應用於大數

HBase是一個基於Hadoop的分散式儲存系統,旨在儲存和處理大規模結構化資料。為了優化它的讀寫效能,HBase提供了多種快取機制,可以透過合理的配置來提高查詢效率,減少讀寫延遲。本文將介紹HBase快取技術以及如何進行設定。 HBase快取種類HBase提供了兩種基本快取機制:區塊快取(BlockCache)和MemStore快取(也稱為寫入快取)。塊緩存是在
