| <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/favicon.ico"/><link rel="preload" as="font" href="/fonts/inter-latin-wght-normal.woff2" type="font/woff2" crossorigin="anonymous"/><link rel="prefetch" as="font" href="/fonts/inter-latin-wght-italic.woff2" type="font/woff2" crossorigin="anonymous"/><link rel="modulepreload" href="/assets/manifest-baf72bfa.js"/><link rel="modulepreload" href="/assets/entry.client-Bi9_frb9.js"/><link rel="modulepreload" href="/assets/chunk-QUQL4437-Bywy9pC_.js"/><link rel="modulepreload" href="/assets/index-CEjmR4aq.js"/><link rel="modulepreload" href="/assets/root-COkOICkm.js"/><link rel="modulepreload" href="/assets/theme-provider-CTLTtVKS.js"/><link rel="modulepreload" href="/assets/button-CZBw5Jwh.js"/><link rel="modulepreload" href="/assets/index-jbG8BFt3.js"/><link rel="modulepreload" href="/assets/utils-Cu_tFavh.js"/><link rel="modulepreload" href="/assets/docs-layout-5T1N7EZh.js"/><link rel="modulepreload" href="/assets/docs-layout-S669zXZ_.js"/><link rel="modulepreload" href="/assets/index-DWtaWGM5.js"/><link rel="modulepreload" href="/assets/index-DmTM9tZB.js"/><link rel="modulepreload" href="/assets/Combination-DE73542n.js"/><link rel="modulepreload" href="/assets/docs-DMCF1KDd.js"/><link rel="modulepreload" href="/assets/mdx-oaHE65CA.js"/><link rel="modulepreload" href="/assets/collapsible-DaM-YS37.js"/><link rel="modulepreload" href="/assets/external-link-5ojQeAUO.js"/><link rel="modulepreload" href="/assets/createLucideIcon-DJDbJL17.js"/><link rel="modulepreload" href="/assets/link-CC6yoZ4C.js"/><title>Building and Developing Apache HBase</title><meta name="description" content="Comprehensive guide for building, testing, releasing, and contributing to Apache HBase."/><link rel="stylesheet" href="/assets/root-BtA_CDVx.css"/><link rel="stylesheet" href="/assets/app-DeiyQBOk.css"/><script> | |
| (function() { | |
| const theme = localStorage.getItem('theme'); | |
| const root = document.documentElement; | |
| root.classList.remove('light', 'dark'); | |
| if (theme && ['light', 'dark'].includes(theme)) { | |
| root.classList.add(theme); | |
| } else { | |
| const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; | |
| root.classList.add(systemTheme); | |
| localStorage.setItem('theme', systemTheme); | |
| } | |
| })(); | |
| </script><noscript><style>.theme-toggle-wrapper { display: none !important; }</style></noscript></head><body class="font-base"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div id="nd-docs-layout" class="grid min-h-(--fd-docs-height) auto-cols-auto auto-rows-auto overflow-x-clip transition-[grid-template-columns] [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-sidebar-width:0px] [--fd-toc-popover-height:0px] [--fd-toc-width:285px] max-xl:[--fd-toc-popover-height:--spacing(10)] max-md:[--fd-header-height:--spacing(14)] md:[--fd-sidebar-width:285px]" data-sidebar-collapsed="false" style="grid-template:"sidebar header toc" | |
| "sidebar toc-popover toc" | |
| "sidebar main toc" 1fr / minmax(var(--fd-sidebar-col), 1fr) minmax(0, calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-width) - var(--fd-toc-width))) minmax(min-content, 1fr);--fd-docs-row-1:var(--fd-banner-height, 0px);--fd-docs-row-2:calc(var(--fd-docs-row-1) + var(--fd-header-height));--fd-docs-row-3:calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height));--fd-sidebar-col:var(--fd-sidebar-width)"><header data-transparent="false" id="nd-subnav" class="data-[transparent=false]:bg-fd-background/80 sticky top-(--fd-docs-row-1) z-30 flex h-(--fd-header-height) items-center border-b ps-4 pe-2.5 backdrop-blur-sm transition-colors [grid-area:header] md:hidden"><a class="inline-flex items-center gap-2.5 font-semibold" href="/" data-discover="true"><div class="flex items-center gap-2"><img src="/favicon.ico" alt="HBase favicon" width="16" height="16"/><p>Apache HBase</p></div></a><div class="flex-1"></div><button type="button" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8 p-2" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></button><button aria-label="Open Sidebar" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8 p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></header><div data-sidebar-placeholder="" class="pointer-events-none sticky top-(--fd-docs-row-1) z-20 h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] [grid-area:sidebar] *:pointer-events-auto max-md:hidden"><aside id="nd-sidebar" data-collapsed="false" data-hovered="false" class="bg-fd-card absolute inset-y-0 start-0 flex flex-col items-end border-e text-sm duration-250 *:w-(--fd-sidebar-width)"><div class="flex flex-col gap-3 p-4 pb-2"><div class="flex"><a class="inline-flex text-[0.9375rem] items-center gap-2.5 font-medium me-auto" href="/" data-discover="true"><div class="flex items-center gap-2"><img src="/favicon.ico" alt="HBase favicon" width="16" height="16"/><p>Apache HBase</p></div></a><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8 text-fd-muted-foreground mb-auto"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div><button type="button" data-search-full="" class="bg-fd-secondary/50 text-fd-muted-foreground hover:bg-fd-accent hover:text-fd-accent-foreground inline-flex items-center gap-2 rounded-lg border p-1.5 ps-2 text-sm transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="bg-fd-background rounded-md border px-1.5">⌘</kbd><kbd class="bg-fd-background rounded-md border px-1.5">K</kbd></div></button><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_r5aj5_" data-state="closed" class="bg-fd-secondary/50 text-fd-secondary-foreground hover:bg-fd-accent data-[state=open]:bg-fd-accent data-[state=open]:text-fd-accent-foreground flex items-center gap-2 rounded-lg border p-2 text-start transition-colors"><div class="size-9 shrink-0 empty:hidden md:size-5"></div><div><p class="text-sm font-medium">Multi-Page Documentation</p><p class="text-fd-muted-foreground text-sm empty:hidden md:hidden">Split across multiple pages</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-up-down text-fd-muted-foreground ms-auto size-4 shrink-0"><path d="m7 15 5 5 5-5"></path><path d="m7 9 5-5 5 5"></path></svg></button></div><div dir="ltr" data-slot="scroll-area" class="relative min-h-0 flex-1" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" data-slot="scroll-area-viewport" class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="overscroll-contain p-4" style="overflow-x:unset;overflow-y:unset;mask-image:linear-gradient(to bottom, transparent, white 12px, white calc(100% - 12px), transparent)"><div style="min-width:100%;display:table"><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Getting Started</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs" data-discover="true">Preface</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/getting-started" data-discover="true">Getting Started</a><a href="/llms-full.txt" rel="noreferrer noopener" target="_blank" data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>All docs for LLMs</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Configuration & Setup</p><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/configuration" data-discover="true">Configuration<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_dad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/upgrading" data-discover="true">Upgrading<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_fad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/shell" data-discover="true">The Apache HBase Shell</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Core Concepts</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/datamodel" data-discover="true">Data Model</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/schema-design" data-discover="true">HBase and Schema Design</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/regionserver-sizing" data-discover="true">RegionServer Sizing Rules of Thumb</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/mapreduce" data-discover="true">HBase and MapReduce</a><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/security" data-discover="true">Security<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_tad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/architecture" data-discover="true">Architecture<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_vad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Advanced Features</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/inmemory-compaction" data-discover="true">In-memory Compaction</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/offheap-read-write" data-discover="true">RegionServer Off-Heap Read/Write Path</a><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/backup-restore" data-discover="true">Backup and Restore<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_17ad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/sync-replication" data-discover="true">Synchronous Replication</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">APIs & Integration</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/hbase-apis" data-discover="true">Apache HBase APIs</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/external-apis" data-discover="true">Apache HBase External APIs</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/thrift-filter-language" data-discover="true">Thrift API and Filter Language</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/spark" data-discover="true">HBase and Spark</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/cp" data-discover="true">Apache HBase Coprocessors</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Performance & Troubleshooting</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/performance" data-discover="true">Apache HBase Performance Tuning</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/profiler" data-discover="true">Profiler Servlet</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/troubleshooting" data-discover="true">Troubleshooting and Debugging Apache HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/case-studies" data-discover="true">Apache HBase Case Studies</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Operations & Development</p><div data-state="closed" data-slot="collapsible" class="group"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/operational-management" data-discover="true">Apache HBase Operational Management<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_23ad5aj5_" hidden="" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"></div></div><div data-state="open" data-slot="collapsible" class="group"><a data-active="true" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors w-full" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/building-and-developing" data-discover="true">Building and Developing Apache HBase<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_25ad5aj5_" data-slot="collapsible-content" class="relative before:bg-fd-border before:absolute before:inset-y-1 before:start-2.5 before:w-px before:content-['']"><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/getting-involved" data-discover="true">Getting Involved</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/repositories" data-discover="true">Apache HBase Repositories</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/ides" data-discover="true">IDEs</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/building" data-discover="true">Building Apache HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/releasing" data-discover="true">Releasing Apache HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/voting" data-discover="true">Voting on Release Candidates</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/announcing" data-discover="true">Announcing Releases</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/generating-documentation" data-discover="true">Generating the HBase Reference Guide</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/updating-landing" data-discover="true">Updating hbase.apache.org</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/tests" data-discover="true">Tests</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5" style="padding-inline-start:calc(5 * var(--spacing))" href="/docs/building-and-developing/developer-guidelines" data-discover="true">Developer Guidelines</a></div></div><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/unit-testing" data-discover="true">Unit Testing HBase Applications</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Internals</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/protobuf" data-discover="true">Protobuf in HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/pv2" data-discover="true">Procedure Framework (PV2)</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/amv2" data-discover="true">AMv2 Description for Devs</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Infrastructure & Tools</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/zookeeper" data-discover="true">ZooKeeper</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/community" data-discover="true">Community</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/hbtop" data-discover="true">hbtop</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/tracing" data-discover="true">Tracing</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/store-file-tracking" data-discover="true">Store File Tracking</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/bulk-data-generator-tool" data-discover="true">Bulk Data Generator Tool</a><p class="mt-6 mb-1.5 inline-flex items-center gap-2 px-2 empty:mb-0 first:mt-0 [&_svg]:size-4 [&_svg]:shrink-0" style="padding-inline-start:calc(2 * var(--spacing))">Appendices</p><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/contributing-to-documentation" data-discover="true">Appendix: Contributing to Documentation</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/faq" data-discover="true">FAQ</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/acl-matrix" data-discover="true">Access Control Matrix</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/compression" data-discover="true">Compression and Data Block Encoding In HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/sql" data-discover="true">SQL over HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/ycsb" data-discover="true">YCSB</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/hfile-format" data-discover="true">HFile Format</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/other-info" data-discover="true">Other Information About HBase</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/hbase-history" data-discover="true">HBase History</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/asf" data-discover="true">HBase and the Apache Software Foundation</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/orca" data-discover="true">Apache HBase Orca</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/rpc" data-discover="true">0.95 RPC Specification</a><a data-active="false" class="relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors" style="padding-inline-start:calc(2 * var(--spacing))" href="/docs/hbase-incompatibilities" data-discover="true">Known Incompatibilities Among HBase Versions</a></div></div></div></div></div><div class="flex flex-col border-t p-4 pt-2 empty:hidden"><div class="text-fd-muted-foreground flex items-center empty:hidden"><a href="https://github.com/apache/hbase/" rel="noreferrer noopener" target="_blank" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8" aria-label="GitHub" data-active="false"><svg role="img" viewBox="0 0 24 24" fill="currentColor"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><button class="inline-flex items-center rounded-full border ms-auto p-0" aria-label="Toggle Theme" data-theme-toggle=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-6.5 rounded-full p-1.5 text-fd-muted-foreground"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-6.5 rounded-full p-1.5 text-fd-muted-foreground"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></div></aside></div><div data-sidebar-panel="" class="bg-fd-muted text-fd-muted-foreground fixed start-4 top-[calc(--spacing(4)+var(--fd-docs-row-3))] z-10 flex rounded-xl border p-0.5 shadow-lg transition-opacity pointer-events-none opacity-0"><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button><button type="button" class="inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 hover:bg-accent hover:text-accent-foreground size-8 rounded-lg" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></button></div><article id="nd-page" data-full="false" class="mx-auto flex w-full max-w-[900px] flex-col gap-4 px-4 py-6 [grid-area:main] md:px-6 md:pt-8 xl:px-8 xl:pt-14 xl:[--fd-toc-width:285px]"><div class="no-print"><h1 class="text-[1.75em] font-semibold">Building and Developing Apache HBase</h1><p class="text-fd-muted-foreground mb-8 text-lg">Comprehensive guide for building, testing, releasing, and contributing to Apache HBase.</p></div><div class="prose flex-1"><p class="wrap-anywhere">This chapter contains information and guidelines for building and releasing HBase code and documentation. | |
| Being familiar with these guidelines will help the HBase committers to use your contributions more easily.</p><div class="flex flex-col"><p>In this section:</p><div class="grid grid-cols-2 gap-3 @container"><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/getting-involved" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Getting Involved</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">How to contribute to Apache HBase including mailing lists, Slack, IRC, JIRA, and guidelines for reporting effective issues.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/repositories" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Apache HBase Repositories</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">List of Apache HBase Git repositories including main HBase, connectors, operator tools, website, and third-party libraries.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/ides" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">IDEs</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Setting up Eclipse and IntelliJ IDEA for HBase development including formatters, plugins, and Maven integration.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/building" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Building Apache HBase</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Maven build commands, JDK requirements, Hadoop version selection, and building HBase from source including protobuf and thrift generation.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/releasing" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Releasing Apache HBase</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Complete guide to creating HBase release candidates including building, signing, staging artifacts, and publishing releases.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/voting" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Voting on Release Candidates</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Baseline and additional verification procedures for voting on HBase release candidates including checksums, signatures, and testing.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/announcing" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Announcing Releases</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Email template and guidelines for announcing new HBase releases to the community and mailing lists.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/generating-documentation" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Generating the HBase Reference Guide</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Building HBase documentation from MDX markup.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/updating-landing" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Updating hbase.apache.org</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Contributing to and publishing the HBase website and documentation using gitpubsub mechanism.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/tests" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Tests</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Writing and running HBase unit tests, integration tests, and ChaosMonkey destructive tests for comprehensive test coverage.</div></a><a data-card="true" class="block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full hover:bg-fd-accent/80" href="/docs/building-and-developing/developer-guidelines" data-discover="true"><h3 class="not-prose mb-1 text-sm font-medium">Developer Guidelines</h3><div class="text-sm text-fd-muted-foreground prose-no-margin empty:hidden">Code standards, interface classifications, formatting conventions, Git best practices, and patch submission guidelines for HBase contributors.</div></a></div></div></div><a href="https://github.com/apache/hbase/edit/master/hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing.mdx" rel="noreferrer noopener" target="_blank" class="no-print text-fd-secondary-foreground bg-fd-secondary hover:text-fd-accent-foreground hover:bg-fd-accent w-fit rounded-xl border p-2 text-sm font-medium transition-colors">Edit on GitHub</a><div class="@container grid gap-4 grid-cols-2"><a class="hover:bg-fd-accent/80 hover:text-fd-accent-foreground flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors @max-lg:col-span-full" href="/docs/operational-management/region-and-capacity" data-discover="true"><div class="inline-flex items-center gap-1.5 font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left -mx-1 size-4 shrink-0 rtl:rotate-180"><path d="m15 18-6-6 6-6"></path></svg><p>Region & Capacity Management</p></div><p class="text-fd-muted-foreground truncate">Managing HBase regions including compaction, splits, merges, capacity planning, RegionServer grouping, and region normalization.</p></a><a class="hover:bg-fd-accent/80 hover:text-fd-accent-foreground flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors @max-lg:col-span-full text-end" href="/docs/building-and-developing/getting-involved" data-discover="true"><div class="inline-flex items-center gap-1.5 font-medium flex-row-reverse"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -mx-1 size-4 shrink-0 rtl:rotate-180"><path d="m9 18 6-6-6-6"></path></svg><p>Getting Involved</p></div><p class="text-fd-muted-foreground truncate">How to contribute to Apache HBase including mailing lists, Slack, IRC, JIRA, and guidelines for reporting effective issues.</p></a></div></article></div><script>((storageKey2, restoreKey) => { | |
| if (!window.history.state || !window.history.state.key) { | |
| let key = Math.random().toString(32).slice(2); | |
| window.history.replaceState({ key }, ""); | |
| } | |
| try { | |
| let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); | |
| let storedY = positions[restoreKey || window.history.state.key]; | |
| if (typeof storedY === "number") { | |
| window.scrollTo(0, storedY); | |
| } | |
| } catch (error) { | |
| console.error(error); | |
| sessionStorage.removeItem(storageKey2); | |
| } | |
| })("react-router-scroll-positions", null)</script><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"v8_passThroughRequests":false,"v8_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"initial"},"ssr":false,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">import "/assets/manifest-baf72bfa.js"; | |
| import * as route0 from "/assets/root-COkOICkm.js"; | |
| import * as route1 from "/assets/docs-layout-5T1N7EZh.js"; | |
| import * as route2 from "/assets/docs-DMCF1KDd.js"; | |
| window.__reactRouterRouteModules = {"root":route0,"pages/_docs/docs-layout":route1,"routes/_docs/docs":route2}; | |
| import("/assets/entry.client-Bi9_frb9.js");</script><!--$--><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{\"_5\":6},\"actionData\",\"errors\",\"routes/_docs/docs\",{\"_7\":8,\"_9\":10,\"_11\":12},\"path\",\"(multi-page)/building-and-developing/index.mdx\",\"url\",\"/docs/building-and-developing\",\"tree\",{\"_13\":14,\"_15\":16,\"_17\":18},\"$id\",\"root\",\"name\",\"Docs\",\"children\",[19,20],{\"_21\":22,\"_15\":44,\"_24\":-7,\"_14\":25,\"_26\":-7,\"_27\":45,\"_29\":-7,\"_17\":46,\"_13\":47,\"_32\":48},{\"_21\":22,\"_15\":23,\"_24\":-7,\"_14\":25,\"_26\":-7,\"_27\":28,\"_29\":-7,\"_17\":30,\"_13\":31,\"_32\":33},\"type\",\"folder\",\"Single-Page Documentation\",\"icon\",true,\"defaultOpen\",\"description\",\"Entire docs on one page\",\"index\",[36],\"single-page\",\"$ref\",{\"_34\":35},\"metaFile\",\"single-page/meta.json\",{\"_13\":37,\"_21\":38,\"_15\":39,\"_27\":40,\"_24\":-7,\"_9\":41,\"_32\":42},\"single-page/index.mdx\",\"page\",\"Apache HBase Documentation\",\"Complete Apache HBase documentation in one continuous page.\",\"/docs/single-page\",{\"_43\":37},\"file\",\"Multi-Page Documentation\",\"Split across multiple pages\",[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],\"(multi-page)\",{\"_34\":49},\"(multi-page)/meta.json\",{\"_13\":727,\"_21\":176,\"_24\":-7,\"_15\":718},{\"_13\":722,\"_21\":38,\"_15\":723,\"_27\":724,\"_24\":-7,\"_9\":725,\"_32\":726},{\"_13\":717,\"_21\":38,\"_15\":718,\"_27\":719,\"_24\":-7,\"_9\":720,\"_32\":721},{\"_21\":38,\"_24\":-7,\"_15\":714,\"_9\":715,\"_716\":25},{\"_13\":712,\"_21\":176,\"_24\":-7,\"_15\":713},{\"_21\":22,\"_15\":660,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":661,\"_17\":662,\"_13\":663,\"_32\":664},{\"_21\":22,\"_15\":626,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":627,\"_17\":628,\"_13\":629,\"_32\":630},{\"_13\":621,\"_21\":38,\"_15\":622,\"_27\":623,\"_24\":-7,\"_9\":624,\"_32\":625},{\"_13\":619,\"_21\":176,\"_24\":-7,\"_15\":620},{\"_13\":614,\"_21\":38,\"_15\":615,\"_27\":616,\"_24\":-7,\"_9\":617,\"_32\":618},{\"_13\":609,\"_21\":38,\"_15\":610,\"_27\":611,\"_24\":-7,\"_9\":612,\"_32\":613},{\"_13\":604,\"_21\":38,\"_15\":605,\"_27\":606,\"_24\":-7,\"_9\":607,\"_32\":608},{\"_13\":599,\"_21\":38,\"_15\":600,\"_27\":601,\"_24\":-7,\"_9\":602,\"_32\":603},{\"_21\":22,\"_15\":547,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":548,\"_17\":549,\"_13\":550,\"_32\":551},{\"_21\":22,\"_15\":466,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":467,\"_17\":468,\"_13\":469,\"_32\":470},{\"_13\":464,\"_21\":176,\"_24\":-7,\"_15\":465},{\"_13\":459,\"_21\":38,\"_15\":460,\"_27\":461,\"_24\":-7,\"_9\":462,\"_32\":463},{\"_13\":454,\"_21\":38,\"_15\":455,\"_27\":456,\"_24\":-7,\"_9\":457,\"_32\":458},{\"_21\":22,\"_15\":420,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":421,\"_17\":422,\"_13\":423,\"_32\":424},{\"_13\":415,\"_21\":38,\"_15\":416,\"_27\":417,\"_24\":-7,\"_9\":418,\"_32\":419},{\"_13\":413,\"_21\":176,\"_24\":-7,\"_15\":414},{\"_13\":408,\"_21\":38,\"_15\":409,\"_27\":410,\"_24\":-7,\"_9\":411,\"_32\":412},{\"_13\":403,\"_21\":38,\"_15\":404,\"_27\":405,\"_24\":-7,\"_9\":406,\"_32\":407},{\"_13\":398,\"_21\":38,\"_15\":399,\"_27\":400,\"_24\":-7,\"_9\":401,\"_32\":402},{\"_13\":393,\"_21\":38,\"_15\":394,\"_27\":395,\"_24\":-7,\"_9\":396,\"_32\":397},{\"_13\":388,\"_21\":38,\"_15\":389,\"_27\":390,\"_24\":-7,\"_9\":391,\"_32\":392},{\"_13\":386,\"_21\":176,\"_24\":-7,\"_15\":387},{\"_13\":381,\"_21\":38,\"_15\":382,\"_27\":383,\"_24\":-7,\"_9\":384,\"_32\":385},{\"_13\":376,\"_21\":38,\"_15\":377,\"_27\":378,\"_24\":-7,\"_9\":379,\"_32\":380},{\"_13\":371,\"_21\":38,\"_15\":372,\"_27\":373,\"_24\":-7,\"_9\":374,\"_32\":375},{\"_13\":366,\"_21\":38,\"_15\":367,\"_27\":368,\"_24\":-7,\"_9\":369,\"_32\":370},{\"_13\":364,\"_21\":176,\"_24\":-7,\"_15\":365},{\"_21\":22,\"_15\":306,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":307,\"_17\":308,\"_13\":309,\"_32\":310},{\"_21\":22,\"_15\":232,\"_24\":-7,\"_14\":-7,\"_26\":-7,\"_27\":-7,\"_29\":233,\"_17\":234,\"_13\":235,\"_32\":236},{\"_13\":227,\"_21\":38,\"_15\":228,\"_27\":229,\"_24\":-7,\"_9\":230,\"_32\":231},{\"_13\":225,\"_21\":176,\"_24\":-7,\"_15\":226},{\"_13\":220,\"_21\":38,\"_15\":221,\"_27\":222,\"_24\":-7,\"_9\":223,\"_32\":224},{\"_13\":215,\"_21\":38,\"_15\":216,\"_27\":217,\"_24\":-7,\"_9\":218,\"_32\":219},{\"_13\":210,\"_21\":38,\"_15\":211,\"_27\":212,\"_24\":-7,\"_9\":213,\"_32\":214},{\"_13\":208,\"_21\":176,\"_24\":-7,\"_15\":209},{\"_13\":203,\"_21\":38,\"_15\":204,\"_27\":205,\"_24\":-7,\"_9\":206,\"_32\":207},{\"_13\":198,\"_21\":38,\"_15\":199,\"_27\":200,\"_24\":-7,\"_9\":201,\"_32\":202},{\"_13\":193,\"_21\":38,\"_15\":194,\"_27\":195,\"_24\":-7,\"_9\":196,\"_32\":197},{\"_13\":188,\"_21\":38,\"_15\":189,\"_27\":190,\"_24\":-7,\"_9\":191,\"_32\":192},{\"_13\":183,\"_21\":38,\"_15\":184,\"_27\":185,\"_24\":-7,\"_9\":186,\"_32\":187},{\"_13\":178,\"_21\":38,\"_15\":179,\"_27\":180,\"_24\":-7,\"_9\":181,\"_32\":182},{\"_13\":175,\"_21\":176,\"_24\":-7,\"_15\":177},{\"_13\":170,\"_21\":38,\"_15\":171,\"_27\":172,\"_24\":-7,\"_9\":173,\"_32\":174},{\"_13\":165,\"_21\":38,\"_15\":166,\"_27\":167,\"_24\":-7,\"_9\":168,\"_32\":169},{\"_13\":160,\"_21\":38,\"_15\":161,\"_27\":162,\"_24\":-7,\"_9\":163,\"_32\":164},{\"_13\":155,\"_21\":38,\"_15\":156,\"_27\":157,\"_24\":-7,\"_9\":158,\"_32\":159},{\"_13\":150,\"_21\":38,\"_15\":151,\"_27\":152,\"_24\":-7,\"_9\":153,\"_32\":154},{\"_13\":145,\"_21\":38,\"_15\":146,\"_27\":147,\"_24\":-7,\"_9\":148,\"_32\":149},{\"_13\":140,\"_21\":38,\"_15\":141,\"_27\":142,\"_24\":-7,\"_9\":143,\"_32\":144},{\"_13\":135,\"_21\":38,\"_15\":136,\"_27\":137,\"_24\":-7,\"_9\":138,\"_32\":139},{\"_13\":130,\"_21\":38,\"_15\":131,\"_27\":132,\"_24\":-7,\"_9\":133,\"_32\":134},{\"_13\":125,\"_21\":38,\"_15\":126,\"_27\":127,\"_24\":-7,\"_9\":128,\"_32\":129},{\"_13\":120,\"_21\":38,\"_15\":121,\"_27\":122,\"_24\":-7,\"_9\":123,\"_32\":124},{\"_13\":115,\"_21\":38,\"_15\":116,\"_27\":117,\"_24\":-7,\"_9\":118,\"_32\":119},{\"_13\":110,\"_21\":38,\"_15\":111,\"_27\":112,\"_24\":-7,\"_9\":113,\"_32\":114},\"(multi-page)/hbase-incompatibilities.mdx\",\"Known Incompatibilities Among HBase Versions\",\"Comprehensive list of breaking changes and incompatibilities between HBase versions, particularly for HBase 2.0.\",\"/docs/hbase-incompatibilities\",{\"_43\":110},\"(multi-page)/rpc.mdx\",\"0.95 RPC Specification\",\"HBase RPC wire format and client/server protocol specification for version 0.95+.\",\"/docs/rpc\",{\"_43\":115},\"(multi-page)/orca.mdx\",\"Apache HBase Orca\",\"Apache HBase Orca, HBase Colors, \u0026 Font\",\"/docs/orca\",{\"_43\":120},\"(multi-page)/asf.mdx\",\"HBase and the Apache Software Foundation\",\"HBase is a project in the Apache Software Foundation and as such there are responsibilities to the ASF to ensure a healthy project.\",\"/docs/asf\",{\"_43\":125},\"(multi-page)/hbase-history.mdx\",\"HBase History\",\"Timeline of Apache HBase development from its origins in Google's BigTable paper to becoming an Apache top-level project.\",\"/docs/hbase-history\",{\"_43\":130},\"(multi-page)/other-info.mdx\",\"Other Information About HBase\",\"Collection of HBase videos, presentations, papers, books, and useful external resources for learning and understanding HBase.\",\"/docs/other-info\",{\"_43\":135},\"(multi-page)/hfile-format.mdx\",\"HFile Format\",\"This appendix describes the evolution of the HFile format.\",\"/docs/hfile-format\",{\"_43\":140},\"(multi-page)/ycsb.mdx\",\"YCSB\",\"Documentation for YCSB (The Yahoo! Cloud Serving Benchmark)\",\"/docs/ycsb\",{\"_43\":145},\"(multi-page)/sql.mdx\",\"SQL over HBase\",\"The following projects offer some support for SQL over HBase.\",\"/docs/sql\",{\"_43\":150},\"(multi-page)/compression.mdx\",\"Compression and Data Block Encoding In HBase\",\"Comprehensive guide to compression algorithms and data block encoding options in HBase for optimizing storage and performance.\",\"/docs/compression\",{\"_43\":155},\"(multi-page)/acl-matrix.mdx\",\"Access Control Matrix\",\"The following matrix shows the permission set required to perform operations in HBase. Before using the table, read through the information about how to interpret it.\",\"/docs/acl-matrix\",{\"_43\":160},\"(multi-page)/faq.mdx\",\"FAQ\",\"Frequently asked questions about Apache HBase.\",\"/docs/faq\",{\"_43\":165},\"(multi-page)/contributing-to-documentation.mdx\",\"Appendix: Contributing to Documentation\",\"Guide for contributing to Apache HBase documentation, including patch submission procedures, website editing, style guidelines, and best practices.\",\"/docs/contributing-to-documentation\",{\"_43\":170},\"(multi-page)#46\",\"separator\",\"Appendices\",\"(multi-page)/bulk-data-generator-tool.mdx\",\"Bulk Data Generator Tool\",\"This is a random data generator tool for HBase tables leveraging Hbase bulk load. It can create pre-splited HBase table and the generated data is uniformly distributed to all the regions of the table.\",\"/docs/bulk-data-generator-tool\",{\"_43\":178},\"(multi-page)/store-file-tracking.mdx\",\"Store File Tracking\",\"This feature introduces an abstraction layer to track store files still used/needed by store engines, allowing for plugging different approaches of identifying store files required by the given store.\",\"/docs/store-file-tracking\",{\"_43\":183},\"(multi-page)/tracing.mdx\",\"Tracing\",\"HBase used to depend on the HTrace project for tracing. After the Apache HTrace project moved to the Attic/retired, we decided to move to OpenTelemetry in HBASE-22120.\",\"/docs/tracing\",{\"_43\":188},\"(multi-page)/hbtop.mdx\",\"hbtop\",\"hbtop is a real-time monitoring tool for HBase like Unix's top command. It can display summary information as well as metrics per Region/Namespace/Table/RegionServer. In this tool, you can see the metrics sorted by a selected field and filter the metrics to see only metrics you really want to see.\",\"/docs/hbtop\",{\"_43\":193},\"(multi-page)/community.mdx\",\"Community\",\"HBase community decisions, release managers, JIRA policies, commit message format, and guidelines for feature branches.\",\"/docs/community\",{\"_43\":198},\"(multi-page)/zookeeper.mdx\",\"ZooKeeper\",\"A distributed Apache HBase installation depends on a running ZooKeeper cluster. All participating nodes and clients need to be able to access the running ZooKeeper ensemble.\",\"/docs/zookeeper\",{\"_43\":203},\"(multi-page)#39\",\"Infrastructure \u0026 Tools\",\"(multi-page)/amv2.mdx\",\"AMv2 Description for Devs\",\"The AssignmentManager (AM) in HBase Master manages assignment of Regions over a cluster of RegionServers.\",\"/docs/amv2\",{\"_43\":210},\"(multi-page)/pv2.mdx\",\"Procedure Framework (PV2)\",\"Procedure v2 ...aims to provide a unified way to build...multi-step procedures with a rollback/roll-forward ability in case of failure (e.g. create/delete table) — Matteo Bertozzi, the author of Pv2.\",\"/docs/pv2\",{\"_43\":215},\"(multi-page)/protobuf.mdx\",\"Protobuf in HBase\",\"Detailed guide on how HBase uses Protocol Buffers for serialization, RPC interfaces, and coprocessor endpoints, including shading and versioning considerations.\",\"/docs/protobuf\",{\"_43\":220},\"(multi-page)#35\",\"Internals\",\"(multi-page)/unit-testing.mdx\",\"Unit Testing HBase Applications\",\"This chapter discusses unit testing your HBase application using JUnit, Mockito, MRUnit, and HBaseTestingUtility.\",\"/docs/unit-testing\",{\"_43\":227},\"Building and Developing Apache HBase\",{\"_13\":8,\"_21\":38,\"_15\":232,\"_27\":304,\"_24\":-7,\"_9\":10,\"_32\":305},[238,239,240,241,242,243,244,245,246,247,248],\"(multi-page)/building-and-developing\",{\"_34\":237},\"(multi-page)/building-and-developing/meta.json\",{\"_13\":299,\"_21\":38,\"_15\":300,\"_27\":301,\"_24\":-7,\"_9\":302,\"_32\":303},{\"_13\":294,\"_21\":38,\"_15\":295,\"_27\":296,\"_24\":-7,\"_9\":297,\"_32\":298},{\"_13\":289,\"_21\":38,\"_15\":290,\"_27\":291,\"_24\":-7,\"_9\":292,\"_32\":293},{\"_13\":284,\"_21\":38,\"_15\":285,\"_27\":286,\"_24\":-7,\"_9\":287,\"_32\":288},{\"_13\":279,\"_21\":38,\"_15\":280,\"_27\":281,\"_24\":-7,\"_9\":282,\"_32\":283},{\"_13\":274,\"_21\":38,\"_15\":275,\"_27\":276,\"_24\":-7,\"_9\":277,\"_32\":278},{\"_13\":269,\"_21\":38,\"_15\":270,\"_27\":271,\"_24\":-7,\"_9\":272,\"_32\":273},{\"_13\":264,\"_21\":38,\"_15\":265,\"_27\":266,\"_24\":-7,\"_9\":267,\"_32\":268},{\"_13\":259,\"_21\":38,\"_15\":260,\"_27\":261,\"_24\":-7,\"_9\":262,\"_32\":263},{\"_13\":254,\"_21\":38,\"_15\":255,\"_27\":256,\"_24\":-7,\"_9\":257,\"_32\":258},{\"_13\":249,\"_21\":38,\"_15\":250,\"_27\":251,\"_24\":-7,\"_9\":252,\"_32\":253},\"(multi-page)/building-and-developing/developer-guidelines.mdx\",\"Developer Guidelines\",\"Code standards, interface classifications, formatting conventions, Git best practices, and patch submission guidelines for HBase contributors.\",\"/docs/building-and-developing/developer-guidelines\",{\"_43\":249},\"(multi-page)/building-and-developing/tests.mdx\",\"Tests\",\"Writing and running HBase unit tests, integration tests, and ChaosMonkey destructive tests for comprehensive test coverage.\",\"/docs/building-and-developing/tests\",{\"_43\":254},\"(multi-page)/building-and-developing/updating-landing.mdx\",\"Updating hbase.apache.org\",\"Contributing to and publishing the HBase website and documentation using gitpubsub mechanism.\",\"/docs/building-and-developing/updating-landing\",{\"_43\":259},\"(multi-page)/building-and-developing/generating-documentation.mdx\",\"Generating the HBase Reference Guide\",\"Building HBase documentation from MDX markup.\",\"/docs/building-and-developing/generating-documentation\",{\"_43\":264},\"(multi-page)/building-and-developing/announcing.mdx\",\"Announcing Releases\",\"Email template and guidelines for announcing new HBase releases to the community and mailing lists.\",\"/docs/building-and-developing/announcing\",{\"_43\":269},\"(multi-page)/building-and-developing/voting.mdx\",\"Voting on Release Candidates\",\"Baseline and additional verification procedures for voting on HBase release candidates including checksums, signatures, and testing.\",\"/docs/building-and-developing/voting\",{\"_43\":274},\"(multi-page)/building-and-developing/releasing.mdx\",\"Releasing Apache HBase\",\"Complete guide to creating HBase release candidates including building, signing, staging artifacts, and publishing releases.\",\"/docs/building-and-developing/releasing\",{\"_43\":279},\"(multi-page)/building-and-developing/building.mdx\",\"Building Apache HBase\",\"Maven build commands, JDK requirements, Hadoop version selection, and building HBase from source including protobuf and thrift generation.\",\"/docs/building-and-developing/building\",{\"_43\":284},\"(multi-page)/building-and-developing/ides.mdx\",\"IDEs\",\"Setting up Eclipse and IntelliJ IDEA for HBase development including formatters, plugins, and Maven integration.\",\"/docs/building-and-developing/ides\",{\"_43\":289},\"(multi-page)/building-and-developing/repositories.mdx\",\"Apache HBase Repositories\",\"List of Apache HBase Git repositories including main HBase, connectors, operator tools, website, and third-party libraries.\",\"/docs/building-and-developing/repositories\",{\"_43\":294},\"(multi-page)/building-and-developing/getting-involved.mdx\",\"Getting Involved\",\"How to contribute to Apache HBase including mailing lists, Slack, IRC, JIRA, and guidelines for reporting effective issues.\",\"/docs/building-and-developing/getting-involved\",{\"_43\":299},\"Comprehensive guide for building, testing, releasing, and contributing to Apache HBase.\",{\"_43\":8},\"Apache HBase Operational Management\",{\"_13\":360,\"_21\":38,\"_15\":306,\"_27\":361,\"_24\":-7,\"_9\":362,\"_32\":363},[312,313,314,315,316,317,318,319],\"(multi-page)/operational-management\",{\"_34\":311},\"(multi-page)/operational-management/meta.json\",{\"_13\":355,\"_21\":38,\"_15\":356,\"_27\":357,\"_24\":-7,\"_9\":358,\"_32\":359},{\"_13\":350,\"_21\":38,\"_15\":351,\"_27\":352,\"_24\":-7,\"_9\":353,\"_32\":354},{\"_13\":345,\"_21\":38,\"_15\":346,\"_27\":347,\"_24\":-7,\"_9\":348,\"_32\":349},{\"_13\":340,\"_21\":38,\"_15\":341,\"_27\":342,\"_24\":-7,\"_9\":343,\"_32\":344},{\"_13\":335,\"_21\":38,\"_15\":336,\"_27\":337,\"_24\":-7,\"_9\":338,\"_32\":339},{\"_13\":330,\"_21\":38,\"_15\":331,\"_27\":332,\"_24\":-7,\"_9\":333,\"_32\":334},{\"_13\":325,\"_21\":38,\"_15\":326,\"_27\":327,\"_24\":-7,\"_9\":328,\"_32\":329},{\"_13\":320,\"_21\":38,\"_15\":321,\"_27\":322,\"_24\":-7,\"_9\":323,\"_32\":324},\"(multi-page)/operational-management/region-and-capacity.mdx\",\"Region \u0026 Capacity Management\",\"Managing HBase regions including compaction, splits, merges, capacity planning, RegionServer grouping, and region normalization.\",\"/docs/operational-management/region-and-capacity\",{\"_43\":320},\"(multi-page)/operational-management/table-rename.mdx\",\"Table Rename\",\"How to rename HBase tables using snapshots without downtime or data loss.\",\"/docs/operational-management/table-rename\",{\"_43\":325},\"(multi-page)/operational-management/backup-and-snapshots.mdx\",\"Backup \u0026 Snapshots\",\"HBase backup strategies and snapshot operations for data protection, including full cluster backups and live cluster snapshots.\",\"/docs/operational-management/backup-and-snapshots\",{\"_43\":330},\"(multi-page)/operational-management/running-multiple-workloads-on-a-single-cluster.mdx\",\"Running Multiple Workloads On a Single Cluster\",\"Managing multiple workloads on HBase clusters using quotas, request queues, and priority mechanisms for resource allocation.\",\"/docs/operational-management/running-multiple-workloads-on-a-single-cluster\",{\"_43\":335},\"(multi-page)/operational-management/cluster-replication.mdx\",\"Cluster Replication\",\"Setting up and managing HBase cluster replication for disaster recovery, data aggregation, and geographic distribution of data.\",\"/docs/operational-management/cluster-replication\",{\"_43\":340},\"(multi-page)/operational-management/metrics-and-monitoring.mdx\",\"Metrics \u0026 Monitoring\",\"HBase metrics system configuration, JMX monitoring, master and RegionServer metrics, and integration with monitoring tools.\",\"/docs/operational-management/metrics-and-monitoring\",{\"_43\":345},\"(multi-page)/operational-management/node.mdx\",\"Node Management\",\"Managing HBase cluster nodes including decommissioning RegionServers, rolling restarts, and draining regions for maintenance.\",\"/docs/operational-management/node\",{\"_43\":350},\"(multi-page)/operational-management/tools.mdx\",\"HBase Tools and Utilities\",\"Command-line tools for HBase administration, analysis, and debugging including canary, HBCK2, WAL tools, and MapReduce utilities.\",\"/docs/operational-management/tools\",{\"_43\":355},\"(multi-page)/operational-management/index.mdx\",\"This chapter will cover operational tools and practices required of a running Apache HBase cluster.\",\"/docs/operational-management\",{\"_43\":360},\"(multi-page)#31\",\"Operations \u0026 Development\",\"(multi-page)/case-studies.mdx\",\"Apache HBase Case Studies\",\"Performance and troubleshooting case studies for diagnosing Apache HBase cluster issues.\",\"/docs/case-studies\",{\"_43\":366},\"(multi-page)/troubleshooting.mdx\",\"Troubleshooting and Debugging Apache HBase\",\"Comprehensive guide to troubleshooting and debugging HBase issues including logs, tools, common problems, and solutions.\",\"/docs/troubleshooting\",{\"_43\":371},\"(multi-page)/profiler.mdx\",\"Profiler Servlet\",\"Integrated, on-demand profiling via the Async Profiler project.\",\"/docs/profiler\",{\"_43\":376},\"(multi-page)/performance.mdx\",\"Apache HBase Performance Tuning\",\"Comprehensive performance tuning guide covering OS configuration, network optimization, JVM tuning, schema design, read/write patterns, and HDFS optimization for HBase clusters.\",\"/docs/performance\",{\"_43\":381},\"(multi-page)#26\",\"Performance \u0026 Troubleshooting\",\"(multi-page)/cp.mdx\",\"Apache HBase Coprocessors\",\"The coprocessor framework provides mechanisms for running your custom code directly on the RegionServers managing your data.\",\"/docs/cp\",{\"_43\":388},\"(multi-page)/spark.mdx\",\"HBase and Spark\",\"Apache Spark is a software framework that is used to process data in memory in a distributed manner, and is replacing MapReduce in many use cases.\",\"/docs/spark\",{\"_43\":393},\"(multi-page)/thrift-filter-language.mdx\",\"Thrift API and Filter Language\",\"Apache Thrift is a cross-platform, cross-language development framework. HBase includes a Thrift API and filter language. The Thrift API relies on client and server processes.\",\"/docs/thrift-filter-language\",{\"_43\":398},\"(multi-page)/external-apis.mdx\",\"Apache HBase External APIs\",\"This chapter will cover access to Apache HBase either through non-Java languages and through custom protocols.\",\"/docs/external-apis\",{\"_43\":403},\"(multi-page)/hbase-apis.mdx\",\"Apache HBase APIs\",\"This chapter provides information about performing operations using HBase native APIs.\",\"/docs/hbase-apis\",{\"_43\":408},\"(multi-page)#20\",\"APIs \u0026 Integration\",\"(multi-page)/sync-replication.mdx\",\"Synchronous Replication\",\"Setting up synchronous replication between HBase clusters for strong consistency and automatic failover capabilities.\",\"/docs/sync-replication\",{\"_43\":415},\"Backup and Restore\",{\"_13\":450,\"_21\":38,\"_15\":420,\"_27\":451,\"_24\":-7,\"_9\":452,\"_32\":453},[426,427,428,429],\"(multi-page)/backup-restore\",{\"_34\":425},\"(multi-page)/backup-restore/meta.json\",{\"_13\":445,\"_21\":38,\"_15\":446,\"_27\":447,\"_24\":-7,\"_9\":448,\"_32\":449},{\"_13\":440,\"_21\":38,\"_15\":441,\"_27\":442,\"_24\":-7,\"_9\":443,\"_32\":444},{\"_13\":435,\"_21\":38,\"_15\":436,\"_27\":437,\"_24\":-7,\"_9\":438,\"_32\":439},{\"_13\":430,\"_21\":38,\"_15\":431,\"_27\":432,\"_24\":-7,\"_9\":433,\"_32\":434},\"(multi-page)/backup-restore/additional-topics.mdx\",\"Additional Topics\",\"Configuration keys, security considerations, and best practices for HBase backup and restore operations.\",\"/docs/backup-restore/additional-topics\",{\"_43\":430},\"(multi-page)/backup-restore/administration.mdx\",\"Administration of Backup Images\",\"Managing HBase backup images including listing, describing, deleting, and merging backup sets for efficient storage.\",\"/docs/backup-restore/administration\",{\"_43\":435},\"(multi-page)/backup-restore/commands.mdx\",\"Backup and Restore commands\",\"Command-line utilities for creating, restoring, and merging HBase backups including full and incremental backup operations.\",\"/docs/backup-restore/commands\",{\"_43\":440},\"(multi-page)/backup-restore/overview.mdx\",\"Overview\",\"Introduction to HBase backup and restore feature, including full and incremental backups for disaster recovery and point-in-time recovery.\",\"/docs/backup-restore/overview\",{\"_43\":445},\"(multi-page)/backup-restore/index.mdx\",\"Comprehensive guide to HBase backup and restore capabilities for data protection, disaster recovery, and point-in-time recovery.\",\"/docs/backup-restore\",{\"_43\":450},\"(multi-page)/offheap-read-write.mdx\",\"RegionServer Off-Heap Read/Write Path\",\"Using off-heap memory for HBase read and write paths to reduce GC pressure and improve P99/P999 RPC latencies.\",\"/docs/offheap-read-write\",{\"_43\":454},\"(multi-page)/inmemory-compaction.mdx\",\"In-memory Compaction\",\"Accordion feature that applies LSM compaction to MemStore while data is in RAM, reducing write amplification and improving performance.\",\"/docs/inmemory-compaction\",{\"_43\":459},\"(multi-page)#15\",\"Advanced Features\",\"Architecture\",{\"_13\":543,\"_21\":38,\"_15\":466,\"_27\":544,\"_24\":-7,\"_9\":545,\"_32\":546},[472,473,474,475,476,477,478,479,480,481,482,483],\"(multi-page)/architecture\",{\"_34\":471},\"(multi-page)/architecture/meta.json\",{\"_13\":539,\"_21\":38,\"_15\":446,\"_27\":540,\"_24\":-7,\"_9\":541,\"_32\":542},{\"_13\":534,\"_21\":38,\"_15\":535,\"_27\":536,\"_24\":-7,\"_9\":537,\"_32\":538},{\"_13\":529,\"_21\":38,\"_15\":530,\"_27\":531,\"_24\":-7,\"_9\":532,\"_32\":533},{\"_13\":524,\"_21\":38,\"_15\":525,\"_27\":526,\"_24\":-7,\"_9\":527,\"_32\":528},{\"_13\":519,\"_21\":38,\"_15\":520,\"_27\":521,\"_24\":-7,\"_9\":522,\"_32\":523},{\"_13\":514,\"_21\":38,\"_15\":515,\"_27\":516,\"_24\":-7,\"_9\":517,\"_32\":518},{\"_13\":509,\"_21\":38,\"_15\":510,\"_27\":511,\"_24\":-7,\"_9\":512,\"_32\":513},{\"_13\":504,\"_21\":38,\"_15\":505,\"_27\":506,\"_24\":-7,\"_9\":507,\"_32\":508},{\"_13\":499,\"_21\":38,\"_15\":500,\"_27\":501,\"_24\":-7,\"_9\":502,\"_32\":503},{\"_13\":494,\"_21\":38,\"_15\":495,\"_27\":496,\"_24\":-7,\"_9\":497,\"_32\":498},{\"_13\":489,\"_21\":38,\"_15\":490,\"_27\":491,\"_24\":-7,\"_9\":492,\"_32\":493},{\"_13\":484,\"_21\":38,\"_15\":485,\"_27\":486,\"_24\":-7,\"_9\":487,\"_32\":488},\"(multi-page)/architecture/snapshot-scanner.mdx\",\"Scan Over Snapshot\",\"Using TableSnapshotScanner to scan HBase snapshots directly from HDFS, bypassing RegionServers for better performance.\",\"/docs/architecture/snapshot-scanner\",{\"_43\":484},\"(multi-page)/architecture/hbase-mob.mdx\",\"Storing Medium-sized Objects (MOB)\",\"Optimized storage and handling of medium-sized objects (100KB-10MB) in HBase using the MOB feature for improved performance.\",\"/docs/architecture/hbase-mob\",{\"_43\":489},\"(multi-page)/architecture/timeline-consistent-reads.mdx\",\"Timeline-consistent High Available Reads\",\"Using region replicas to achieve high availability for reads with timeline consistency, reducing read unavailability during failures.\",\"/docs/architecture/timeline-consistent-reads\",{\"_43\":494},\"(multi-page)/architecture/hdfs.mdx\",\"HDFS\",\"How HBase leverages HDFS for distributed storage, including NameNode and DataNode architecture and file replication.\",\"/docs/architecture/hdfs\",{\"_43\":499},\"(multi-page)/architecture/bulk-loading.mdx\",\"Bulk Loading\",\"Efficient methods for loading large datasets into HBase using MapReduce to generate HFiles and directly load them into the cluster.\",\"/docs/architecture/bulk-loading\",{\"_43\":504},\"(multi-page)/architecture/regions.mdx\",\"Regions\",\"Understanding HBase regions, stores, memstore, write-ahead log (WAL), compaction, splits, and region management strategies.\",\"/docs/architecture/regions\",{\"_43\":509},\"(multi-page)/architecture/regionserver.mdx\",\"RegionServer\",\"HBase RegionServer implementation, interfaces, read/write paths, block cache, memstore management, and performance tuning.\",\"/docs/architecture/regionserver\",{\"_43\":514},\"(multi-page)/architecture/master.mdx\",\"Master\",\"HBase Master server responsibilities including RegionServer monitoring, metadata operations, load balancing, and failover behavior.\",\"/docs/architecture/master\",{\"_43\":519},\"(multi-page)/architecture/client-request-filters.mdx\",\"Client Request Filters\",\"Using filters with Get and Scan operations to efficiently query HBase data, including comparison, column, row, and utility filters.\",\"/docs/architecture/client-request-filters\",{\"_43\":524},\"(multi-page)/architecture/client.mdx\",\"Client\",\"HBase client architecture, connection management, metadata caching, and client-side configuration for optimal performance.\",\"/docs/architecture/client\",{\"_43\":529},\"(multi-page)/architecture/catalog-tables.mdx\",\"Catalog Tables\",\"Understanding hbase:meta catalog table structure, location tracking, and how HBase maintains region metadata.\",\"/docs/architecture/catalog-tables\",{\"_43\":534},\"(multi-page)/architecture/overview.mdx\",\"Introduction to HBase as a NoSQL distributed database, key features, scalability characteristics, and when to use HBase.\",\"/docs/architecture/overview\",{\"_43\":539},\"(multi-page)/architecture/index.mdx\",\"Comprehensive guide to HBase architecture including client-server model, regions, WAL, compaction, and advanced features.\",\"/docs/architecture\",{\"_43\":543},\"Security\",{\"_13\":595,\"_21\":38,\"_15\":547,\"_27\":596,\"_24\":-7,\"_9\":597,\"_32\":598},[553,554,555,556,557,558,559],\"(multi-page)/security\",{\"_34\":552},\"(multi-page)/security/meta.json\",{\"_13\":590,\"_21\":38,\"_15\":591,\"_27\":592,\"_24\":-7,\"_9\":593,\"_32\":594},{\"_13\":585,\"_21\":38,\"_15\":586,\"_27\":587,\"_24\":-7,\"_9\":588,\"_32\":589},{\"_13\":580,\"_21\":38,\"_15\":581,\"_27\":582,\"_24\":-7,\"_9\":583,\"_32\":584},{\"_13\":575,\"_21\":38,\"_15\":576,\"_27\":577,\"_24\":-7,\"_9\":578,\"_32\":579},{\"_13\":570,\"_21\":38,\"_15\":571,\"_27\":572,\"_24\":-7,\"_9\":573,\"_32\":574},{\"_13\":565,\"_21\":38,\"_15\":566,\"_27\":567,\"_24\":-7,\"_9\":568,\"_32\":569},{\"_13\":560,\"_21\":38,\"_15\":561,\"_27\":562,\"_24\":-7,\"_9\":563,\"_32\":564},\"(multi-page)/security/example.mdx\",\"Security Configuration Example\",\"This configuration example includes support for HFile v3, ACLs, Visibility Labels, and transparent encryption of data at rest and the WAL. All options have been discussed separately in the sections above.\",\"/docs/security/example\",{\"_43\":560},\"(multi-page)/security/data-access.mdx\",\"Securing Access To Your Data\",\"Role-based access control (RBAC), visibility labels, and data encryption strategies for securing HBase data at rest and in transit.\",\"/docs/security/data-access\",{\"_43\":565},\"(multi-page)/security/hdfs-and-zookeeper-access.mdx\",\"Securing Access to HDFS and ZooKeeper\",\"Secure HBase requires secure ZooKeeper and HDFS so that users cannot access and/or modify the metadata and data from under HBase. HBase uses HDFS (or configured file system) to keep its data files as well as write ahead logs (WALs) and other data. HBase uses ZooKeeper to store some metadata for operations (master address, table locks, recovery state, etc).\",\"/docs/security/hdfs-and-zookeeper-access\",{\"_43\":570},\"(multi-page)/security/tls.mdx\",\"Transport Level Security (TLS) in HBase RPC communication\",\"Configuring TLS encryption for secure HBase client-server and Master-RegionServer communication without downtime.\",\"/docs/security/tls\",{\"_43\":575},\"(multi-page)/security/user-access.mdx\",\"Simple User Access to Apache HBase\",\"Setting up simple SASL authentication for HBase clients without Kerberos, using username/password-based access control.\",\"/docs/security/user-access\",{\"_43\":580},\"(multi-page)/security/client-access.mdx\",\"Secure Client Access to Apache HBase\",\"Configuring Kerberos-based secure authentication for HBase clients, including server and client setup procedures.\",\"/docs/security/client-access\",{\"_43\":585},\"(multi-page)/security/web-ui.mdx\",\"Web UI Security\",\"HBase provides mechanisms to secure various components and aspects of HBase and how it relates to the rest of the Hadoop infrastructure, as well as clients and resources outside Hadoop.\",\"/docs/security/web-ui\",{\"_43\":590},\"(multi-page)/security/index.mdx\",\"Comprehensive guide to securing Apache HBase, including authentication, authorization, encryption, and access control mechanisms.\",\"/docs/security\",{\"_43\":595},\"(multi-page)/mapreduce.mdx\",\"HBase and MapReduce\",\"Guide to using Apache HBase with MapReduce including configuration, examples, and best practices.\",\"/docs/mapreduce\",{\"_43\":599},\"(multi-page)/regionserver-sizing.mdx\",\"RegionServer Sizing Rules of Thumb\",\"Memory sizing guidelines, rowkey design patterns, schema case studies, and performance optimization tips for HBase RegionServers.\",\"/docs/regionserver-sizing\",{\"_43\":604},\"(multi-page)/schema-design.mdx\",\"HBase and Schema Design\",\"Comprehensive guide to designing HBase schemas, including table and column family design, rowkey strategies, and best practices for optimal performance.\",\"/docs/schema-design\",{\"_43\":609},\"(multi-page)/datamodel.mdx\",\"Data Model\",\"In HBase, data is stored in tables, which have rows and columns. This is a terminology overlap with relational databases (RDBMSs), but this is not a helpful analogy. Instead, it can be helpful to think of an HBase table as a multi-dimensional map.\",\"/docs/datamodel\",{\"_43\":614},\"(multi-page)#8\",\"Core Concepts\",\"(multi-page)/shell.mdx\",\"The Apache HBase Shell\",\"Guide to using the HBase Shell including scripting, tricks, and advanced features.\",\"/docs/shell\",{\"_43\":621},\"Upgrading\",{\"_13\":656,\"_21\":38,\"_15\":626,\"_27\":657,\"_24\":-7,\"_9\":658,\"_32\":659},[632,633,634,635],\"(multi-page)/upgrading\",{\"_34\":631},\"(multi-page)/upgrading/meta.json\",{\"_13\":651,\"_21\":38,\"_15\":652,\"_27\":653,\"_24\":-7,\"_9\":654,\"_32\":655},{\"_13\":646,\"_21\":38,\"_15\":647,\"_27\":648,\"_24\":-7,\"_9\":649,\"_32\":650},{\"_13\":641,\"_21\":38,\"_15\":642,\"_27\":643,\"_24\":-7,\"_9\":644,\"_32\":645},{\"_13\":636,\"_21\":38,\"_15\":637,\"_27\":638,\"_24\":-7,\"_9\":639,\"_32\":640},\"(multi-page)/upgrading/paths.mdx\",\"Upgrade Paths\",\"Detailed upgrade paths and compatibility considerations when upgrading between HBase major versions (2.x to 3.x, 1.x to 2.x, etc.).\",\"/docs/upgrading/paths\",{\"_43\":636},\"(multi-page)/upgrading/rollback.mdx\",\"Rollback\",\"How to rollback an HBase upgrade to restore the cluster to a previous version, including backup procedures and data recovery steps.\",\"/docs/upgrading/rollback\",{\"_43\":641},\"(multi-page)/upgrading/rolling.mdx\",\"Rolling Upgrades\",\"How to perform rolling upgrades across HBase versions that are binary or wire compatible without cluster downtime.\",\"/docs/upgrading/rolling\",{\"_43\":646},\"(multi-page)/upgrading/version-number.mdx\",\"HBase version number and compatibility\",\"Understanding HBase semantic versioning scheme and compatibility guarantees across major, minor, and patch versions.\",\"/docs/upgrading/version-number\",{\"_43\":651},\"(multi-page)/upgrading/index.mdx\",\"Guide to upgrading Apache HBase between major versions, including requirements, compatibility considerations, and step-by-step procedures.\",\"/docs/upgrading\",{\"_43\":656},\"Configuration\",{\"_13\":708,\"_21\":38,\"_15\":660,\"_27\":709,\"_24\":-7,\"_9\":710,\"_32\":711},[666,667,668,669,670,671,672],\"(multi-page)/configuration\",{\"_34\":665},\"(multi-page)/configuration/meta.json\",{\"_13\":703,\"_21\":38,\"_15\":704,\"_27\":705,\"_24\":-7,\"_9\":706,\"_32\":707},{\"_13\":698,\"_21\":38,\"_15\":699,\"_27\":700,\"_24\":-7,\"_9\":701,\"_32\":702},{\"_13\":693,\"_21\":38,\"_15\":694,\"_27\":695,\"_24\":-7,\"_9\":696,\"_32\":697},{\"_13\":688,\"_21\":38,\"_15\":689,\"_27\":690,\"_24\":-7,\"_9\":691,\"_32\":692},{\"_13\":683,\"_21\":38,\"_15\":684,\"_27\":685,\"_24\":-7,\"_9\":686,\"_32\":687},{\"_13\":678,\"_21\":38,\"_15\":679,\"_27\":680,\"_24\":-7,\"_9\":681,\"_32\":682},{\"_13\":673,\"_21\":38,\"_15\":674,\"_27\":675,\"_24\":-7,\"_9\":676,\"_32\":677},\"(multi-page)/configuration/dynamic.mdx\",\"Dynamic Configuration\",\"How to change HBase configuration properties dynamically without server restart using update_config commands.\",\"/docs/configuration/dynamic\",{\"_43\":673},\"(multi-page)/configuration/important.mdx\",\"The Important Configurations\",\"Critical HBase configurations divided into required settings and recommended optimizations for production clusters.\",\"/docs/configuration/important\",{\"_43\":678},\"(multi-page)/configuration/example.mdx\",\"Example Configurations\",\"Sample configuration files and setup examples for distributed HBase clusters.\",\"/docs/configuration/example\",{\"_43\":683},\"(multi-page)/configuration/default.mdx\",\"Default Configuration\",\"HBase default configuration properties and how to customize them via hbase-site.xml for site-specific settings.\",\"/docs/configuration/default\",{\"_43\":688},\"(multi-page)/configuration/confirm.mdx\",\"Running and Confirming Your Installation\",\"Steps to start HBase services and verify your installation is working correctly.\",\"/docs/configuration/confirm\",{\"_43\":693},\"(multi-page)/configuration/hbase-run-models.mdx\",\"HBase run modes: Standalone and Distributed\",\"Understanding HBase deployment modes: standalone mode for development and distributed mode for production clusters.\",\"/docs/configuration/hbase-run-models\",{\"_43\":698},\"(multi-page)/configuration/basic-prerequisites.mdx\",\"Basic Prerequisites\",\"This section lists required services and some required system configuration.\",\"/docs/configuration/basic-prerequisites\",{\"_43\":703},\"(multi-page)/configuration/index.mdx\",\"Complete guide to HBase configuration including all settings, tuning parameters, and best practices.\",\"/docs/configuration\",{\"_43\":708},\"(multi-page)#4\",\"Configuration \u0026 Setup\",\"All docs for LLMs\",\"/llms-full.txt\",\"external\",\"(multi-page)/getting-started.mdx\",\"Getting Started\",\"Quick start to get you up and run a single-node, standalone instance of HBase.\",\"/docs/getting-started\",{\"_43\":717},\"(multi-page)/index.mdx\",\"Preface\",\"This is the official reference guide for the HBase version it ships with.\",\"/docs\",{\"_43\":722},\"(multi-page)#0\"]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html> |