1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase;
21
22 import java.util.Arrays;
23 import java.util.Collections;
24 import java.util.List;
25 import java.util.UUID;
26 import java.util.regex.Pattern;
27
28 import org.apache.commons.lang.ArrayUtils;
29 import org.apache.hadoop.hbase.ipc.HRegionInterface;
30 import org.apache.hadoop.hbase.util.Bytes;
31
32
33
34
35 public final class HConstants {
36
37
38
39 public enum OperationStatusCode {
40 NOT_RUN,
41 SUCCESS,
42 BAD_FAMILY,
43 SANITY_CHECK_FAILURE,
44 FAILURE;
45 }
46
47
48 public static final Long ZERO_L = Long.valueOf(0L);
49 public static final String NINES = "99999999999999";
50 public static final String ZEROES = "00000000000000";
51
52
53
54
55 public static final String VERSION_FILE_NAME = "hbase.version";
56
57
58
59
60
61
62
63
64
65 public static final String FILE_SYSTEM_VERSION = "7";
66
67
68
69
70
71
72 public static final String CLUSTER_DISTRIBUTED = "hbase.cluster.distributed";
73
74
75 public static final String HBASE_MASTER_LOADBALANCER_CLASS = "hbase.master.loadbalancer.class";
76
77
78 public static final String HBASE_CLUSTER_MANAGER_CLASS = "hbase.it.clustermanager.class";
79
80
81 public static final boolean CLUSTER_IS_LOCAL = false;
82
83
84 public static final boolean CLUSTER_IS_DISTRIBUTED = true;
85
86
87 public static final boolean DEFAULT_CLUSTER_DISTRIBUTED = CLUSTER_IS_LOCAL;
88
89
90 public static final String DEFAULT_HOST = "0.0.0.0";
91
92
93 public static final String MASTER_PORT = "hbase.master.port";
94
95
96 public static final int DEFAULT_MASTER_PORT = 60000;
97
98
99 public static final int DEFAULT_MASTER_INFOPORT = 60010;
100
101
102 public static final String MASTER_TYPE_BACKUP = "hbase.master.backup";
103
104
105 public static final boolean DEFAULT_MASTER_TYPE_BACKUP = false;
106
107
108 public static final String ZOOKEEPER_QUORUM = "hbase.zookeeper.quorum";
109
110
111 public static final String ZOOKEEPER_CONFIG_NAME = "zoo.cfg";
112
113
114 public static final String ZK_CFG_PROPERTY_PREFIX =
115 "hbase.zookeeper.property.";
116
117 public static final int ZK_CFG_PROPERTY_PREFIX_LEN =
118 ZK_CFG_PROPERTY_PREFIX.length();
119
120
121
122
123
124 public static final String CLIENT_PORT_STR = "clientPort";
125
126
127 public static final String ZOOKEEPER_CLIENT_PORT =
128 ZK_CFG_PROPERTY_PREFIX + CLIENT_PORT_STR;
129
130
131 public static final int DEFAULT_ZOOKEPER_CLIENT_PORT = 2181;
132
133
134 public static final String ZOOKEEPER_RECOVERABLE_WAITTIME = "hbase.zookeeper.recoverable.waittime";
135
136
137 public static final long DEFAULT_ZOOKEPER_RECOVERABLE_WAITIME = 10000;
138
139
140 public static final String ZOOKEEPER_ZNODE_PARENT = "zookeeper.znode.parent";
141
142 public static final String DEFAULT_ZOOKEEPER_ZNODE_PARENT = "/hbase";
143
144
145
146
147
148 public static final String ZOOKEEPER_MAX_CLIENT_CNXNS =
149 ZK_CFG_PROPERTY_PREFIX + "maxClientCnxns";
150
151
152 public static final String ZOOKEEPER_DATA_DIR =
153 ZK_CFG_PROPERTY_PREFIX + "dataDir";
154
155
156 public static final int DEFAULT_ZOOKEPER_MAX_CLIENT_CNXNS = 300;
157
158
159 public static final String ZK_SESSION_TIMEOUT = "zookeeper.session.timeout";
160
161
162 public static final int DEFAULT_ZK_SESSION_TIMEOUT = 180 * 1000;
163
164
165 public static final String ZOOKEEPER_USEMULTI = "hbase.zookeeper.useMulti";
166
167
168 public static final String REGIONSERVER_PORT = "hbase.regionserver.port";
169
170
171 public static final int DEFAULT_REGIONSERVER_PORT = 60020;
172
173
174 public static final int DEFAULT_REGIONSERVER_INFOPORT = 60030;
175
176
177 public static final String REGIONSERVER_INFO_PORT_AUTO =
178 "hbase.regionserver.info.port.auto";
179
180
181 public static final String REGION_SERVER_CLASS = "hbase.regionserver.class";
182
183
184 public static final String REGION_SERVER_IMPL= "hbase.regionserver.impl";
185
186
187 public static final String DEFAULT_REGION_SERVER_CLASS = HRegionInterface.class.getName();
188
189
190 public static final String MASTER_IMPL= "hbase.master.impl";
191
192
193 public static final String THREAD_WAKE_FREQUENCY = "hbase.server.thread.wakefrequency";
194
195
196 public static final int DEFAULT_THREAD_WAKE_FREQUENCY = 10 * 1000;
197
198
199 public static final String VERSION_FILE_WRITE_ATTEMPTS = "hbase.server.versionfile.writeattempts";
200
201
202 public static final int DEFAULT_VERSION_FILE_WRITE_ATTEMPTS = 3;
203
204
205 public static final String MAJOR_COMPACTION_PERIOD = "hbase.hregion.majorcompaction";
206
207
208 public static final String COMPACTION_KV_MAX = "hbase.hstore.compaction.kv.max";
209
210
211 public static final String HBASE_DIR = "hbase.rootdir";
212
213
214 public static final String HBASE_CLIENT_IPC_POOL_TYPE = "hbase.client.ipc.pool.type";
215
216
217 public static final String HBASE_CLIENT_IPC_POOL_SIZE = "hbase.client.ipc.pool.size";
218
219
220 public static final String HBASE_CLIENT_OPERATION_TIMEOUT = "hbase.client.operation.timeout";
221
222
223 public static final int DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT = Integer.MAX_VALUE;
224
225
226
227 public static final String HREGION_LOGDIR_NAME = ".logs";
228
229
230 public static final String SPLIT_LOGDIR_NAME = "splitlog";
231
232 public static final String CORRUPT_DIR_NAME = ".corrupt";
233
234
235 public static final String HREGION_OLDLOGDIR_NAME = ".oldlogs";
236
237
238 public static final String HBCK_SIDELINEDIR_NAME = ".hbck";
239
240
241 public static final String HREGION_COMPACTIONDIR_NAME = "compaction.dir";
242
243
244 public static final String HREGION_MAX_FILESIZE =
245 "hbase.hregion.max.filesize";
246
247
248 public static final long DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024 * 1024L;
249
250
251
252
253
254 public static final String HSTORE_OPEN_AND_CLOSE_THREADS_MAX =
255 "hbase.hstore.open.and.close.threads.max";
256
257
258
259
260
261 public static final int DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX = 1;
262
263
264
265 public static final String HREGION_MEMSTORE_FLUSH_SIZE =
266 "hbase.hregion.memstore.flush.size";
267
268
269 public static final int DEFAULT_SIZE_RESERVATION_BLOCK = 1024 * 1024 * 5;
270
271
272 public static final int MAXIMUM_VALUE_LENGTH = Integer.MAX_VALUE;
273
274
275 public static final String CLUSTER_ID_FILE_NAME = "hbase.id";
276
277
278 public static final String CLUSTER_ID = "hbase.cluster.id";
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301 public static final byte [] ROOT_TABLE_NAME = Bytes.toBytes("-ROOT-");
302
303
304 public static final byte [] META_TABLE_NAME = Bytes.toBytes(".META.");
305
306
307 public static final int META_ROW_DELIMITER = ',';
308
309
310 public static final String CATALOG_FAMILY_STR = "info";
311
312
313 public static final byte [] CATALOG_FAMILY = Bytes.toBytes(CATALOG_FAMILY_STR);
314
315
316 public static final byte [] REGIONINFO_QUALIFIER = Bytes.toBytes("regioninfo");
317
318
319 public static final byte [] SERVER_QUALIFIER = Bytes.toBytes("server");
320
321
322 public static final byte [] STARTCODE_QUALIFIER = Bytes.toBytes("serverstartcode");
323
324
325 public static final byte [] SPLITA_QUALIFIER = Bytes.toBytes("splitA");
326
327
328 public static final byte [] SPLITB_QUALIFIER = Bytes.toBytes("splitB");
329
330
331
332
333
334
335 public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");
336
337
338
339
340
341
342
343
344 public static final short META_VERSION = 0;
345
346
347
348
349
350
351 public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];
352
353
354
355
356 public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;
357
358
359
360
361 public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;
362
363
364
365
366
367 public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;
368
369
370
371
372 public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;
373
374
375 public static final String UTF8_ENCODING = "UTF-8";
376
377
378
379
380
381
382 public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;
383
384
385
386
387 public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;
388
389
390
391
392 public static final byte [] LATEST_TIMESTAMP_BYTES = Bytes.toBytes(LATEST_TIMESTAMP);
393
394
395
396
397 public static final int ALL_VERSIONS = Integer.MAX_VALUE;
398
399
400
401
402
403 public static final int FOREVER = Integer.MAX_VALUE;
404
405
406
407
408 public static final int WEEK_IN_SECONDS = 7 * 24 * 3600;
409
410
411
412
413
414 public static final String NAME = "NAME";
415 public static final String VERSIONS = "VERSIONS";
416 public static final String IN_MEMORY = "IN_MEMORY";
417
418
419
420
421
422 public static int RETRY_BACKOFF[] = { 1, 1, 1, 2, 2, 4, 4, 8, 16, 32 };
423
424 public static final String REGION_IMPL = "hbase.hregion.impl";
425
426
427 public static enum Modify {
428 CLOSE_REGION,
429 TABLE_COMPACT,
430 TABLE_FLUSH,
431 TABLE_MAJOR_COMPACT,
432 TABLE_SET_HTD,
433 TABLE_SPLIT
434 }
435
436
437
438
439
440 public static final int REPLICATION_SCOPE_LOCAL = 0;
441
442
443
444
445
446 public static final int REPLICATION_SCOPE_GLOBAL = 1;
447
448
449
450
451
452 public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);
453
454
455
456
457
458 public static String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY = "hbase.client.scanner.max.result.size";
459
460
461
462
463
464
465
466
467 public static long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = Long.MAX_VALUE;
468
469
470
471
472
473 public static String HBASE_CLIENT_PAUSE = "hbase.client.pause";
474
475
476
477
478 public static long DEFAULT_HBASE_CLIENT_PAUSE = 1000;
479
480
481
482
483
484
485 public static String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";
486
487
488
489
490 public static int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 10;
491
492
493
494
495
496 public static String HBASE_CLIENT_RPC_MAXATTEMPTS = "hbase.client.rpc.maxattempts";
497
498
499
500
501 public static int DEFAULT_HBASE_CLIENT_RPC_MAXATTEMPTS = 1;
502
503
504
505
506
507 public static String HBASE_CLIENT_PREFETCH_LIMIT = "hbase.client.prefetch.limit";
508
509
510
511
512 public static int DEFAULT_HBASE_CLIENT_PREFETCH_LIMIT = 10;
513
514
515
516
517
518
519
520 public static String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";
521
522
523
524
525 public static int DEFAULT_HBASE_META_SCANNER_CACHING = 100;
526
527
528
529
530
531
532
533
534
535
536 public static String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";
537
538
539
540
541
542 public static String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =
543 "hbase.regionserver.lease.period";
544
545
546
547
548 public static long DEFAULT_HBASE_REGIONSERVER_LEASE_PERIOD = 60000;
549
550
551
552
553 public static String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";
554
555
556
557
558 public static int DEFAULT_HBASE_RPC_TIMEOUT = 60000;
559
560
561
562
563 public static final String
564 REPLICATION_ENABLE_KEY = "hbase.replication";
565 public static final String
566 REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";
567 public static final String
568 REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";
569 public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =
570 "org.apache.hadoop.hbase.replication.regionserver.Replication";
571
572
573 public static final String HBCK_CODE_NAME = "HBCKServerName";
574
575 public static final ServerName HBCK_CODE_SERVERNAME =
576 new ServerName(HBCK_CODE_NAME, -1, -1L);
577
578 public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =
579 "hbase.regionserver.hostname.seen.by.master";
580
581 public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =
582 "hbase.master.logcleaner.plugins";
583
584 public static final String HBASE_REGION_SPLIT_POLICY_KEY =
585 "hbase.regionserver.region.split.policy";
586
587
588
589
590 public static final String HFILE_BLOCK_CACHE_SIZE_KEY =
591 "hfile.block.cache.size";
592
593 public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.25f;
594
595
596
597
598 public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;
599
600 public static final Pattern CP_HTD_ATTR_KEY_PATTERN = Pattern.compile
601 ("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);
602 public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =
603 Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");
604
605 public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";
606 public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";
607 public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(
608 "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +
609 CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");
610
611
612 public static final int SOCKET_RETRY_WAIT_MS = 200;
613
614
615 public static final String LOCALHOST = "localhost";
616
617
618 public static final String ENABLE_DATA_FILE_UMASK = "hbase.data.umask.enable";
619
620 public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";
621
622
623
624
625
626
627
628
629
630
631
632
633 public static final String HBASE_CHECKSUM_VERIFICATION =
634 "hbase.regionserver.checksum.verify";
635
636
637
638
639
640 public static final String BYTES_PER_CHECKSUM =
641 "hbase.hstore.bytes.per.checksum";
642
643
644
645
646
647
648 public static final String CHECKSUM_TYPE_NAME =
649 "hbase.hstore.checksum.algorithm";
650
651
652 public static final String ENABLE_WAL_COMPRESSION =
653 "hbase.regionserver.wal.enablecompression";
654
655
656
657
658
659
660 public static final int NORMAL_QOS = 0;
661 public static final int QOS_THRESHOLD = 10;
662 public static final int HIGH_QOS = 100;
663 public static final int REPLICATION_QOS = 5;
664
665
666
667
668
669 public static final byte [] NO_NEXT_INDEXED_KEY = Bytes.toBytes("NO_NEXT_INDEXED_KEY");
670
671
672 public static final String HFILE_ARCHIVE_DIRECTORY = ".archive";
673
674
675
676
677
678
679 public static final String SNAPSHOT_DIR_NAME = ".snapshot";
680
681
682 public static final String HBASE_TEMP_DIRECTORY = ".tmp";
683
684
685 public static final List<String> HBASE_NON_TABLE_DIRS =
686 Collections.unmodifiableList(Arrays.asList(new String[] { HREGION_LOGDIR_NAME,
687 HREGION_OLDLOGDIR_NAME, CORRUPT_DIR_NAME, SPLIT_LOGDIR_NAME,
688 HBCK_SIDELINEDIR_NAME, HFILE_ARCHIVE_DIRECTORY, SNAPSHOT_DIR_NAME, HBASE_TEMP_DIRECTORY }));
689
690
691 public static final List<String> HBASE_NON_USER_TABLE_DIRS =
692 Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(
693 new String[] { Bytes.toString(META_TABLE_NAME), Bytes.toString(ROOT_TABLE_NAME) },
694 HBASE_NON_TABLE_DIRS.toArray())));
695
696
697 public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";
698 public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";
699 public static final String HEALTH_CHORE_WAKE_FREQ =
700 "hbase.node.health.script.frequency";
701 public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;
702
703
704
705 public static final String HEALTH_FAILURE_THRESHOLD =
706 "hbase.node.health.failure.threshold";
707 public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;
708
709 private HConstants() {
710
711 }
712 }