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 String REGIONSERVER_INFO_PORT = "hbase.regionserver.info.port";
172
173
174 public static final int DEFAULT_REGIONSERVER_PORT = 60020;
175
176
177 public static final int DEFAULT_REGIONSERVER_INFOPORT = 60030;
178
179
180 public static final String REGIONSERVER_INFO_PORT_AUTO =
181 "hbase.regionserver.info.port.auto";
182
183
184 public static final String REGION_SERVER_CLASS = "hbase.regionserver.class";
185
186
187 public static final String REGION_SERVER_IMPL= "hbase.regionserver.impl";
188
189
190 public static final String DEFAULT_REGION_SERVER_CLASS = HRegionInterface.class.getName();
191
192
193 public static final String MASTER_IMPL= "hbase.master.impl";
194
195
196 public static final String THREAD_WAKE_FREQUENCY = "hbase.server.thread.wakefrequency";
197
198
199 public static final int DEFAULT_THREAD_WAKE_FREQUENCY = 10 * 1000;
200
201
202 public static final String VERSION_FILE_WRITE_ATTEMPTS = "hbase.server.versionfile.writeattempts";
203
204
205 public static final int DEFAULT_VERSION_FILE_WRITE_ATTEMPTS = 3;
206
207
208 public static final String MAJOR_COMPACTION_PERIOD = "hbase.hregion.majorcompaction";
209
210
211 public static final String COMPACTION_KV_MAX = "hbase.hstore.compaction.kv.max";
212
213
214 public static final String HBASE_DIR = "hbase.rootdir";
215
216
217 public static final String HBASE_CLIENT_IPC_POOL_TYPE = "hbase.client.ipc.pool.type";
218
219
220 public static final String HBASE_CLIENT_IPC_POOL_SIZE = "hbase.client.ipc.pool.size";
221
222
223 public static final String HBASE_CLIENT_OPERATION_TIMEOUT = "hbase.client.operation.timeout";
224
225
226 public static final int DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT = Integer.MAX_VALUE;
227
228
229
230 public static final String HREGION_LOGDIR_NAME = ".logs";
231
232
233 public static final String SPLIT_LOGDIR_NAME = "splitlog";
234
235 public static final String CORRUPT_DIR_NAME = ".corrupt";
236
237
238 public static final String HREGION_OLDLOGDIR_NAME = ".oldlogs";
239
240
241 public static final String HBCK_SIDELINEDIR_NAME = ".hbck";
242
243
244 public static final String HREGION_COMPACTIONDIR_NAME = "compaction.dir";
245
246
247 public static final String HREGION_MAX_FILESIZE =
248 "hbase.hregion.max.filesize";
249
250
251 public static final long DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024 * 1024L;
252
253
254
255
256
257 public static final String HSTORE_OPEN_AND_CLOSE_THREADS_MAX =
258 "hbase.hstore.open.and.close.threads.max";
259
260
261
262
263
264 public static final int DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX = 1;
265
266
267
268 public static final String HREGION_MEMSTORE_FLUSH_SIZE =
269 "hbase.hregion.memstore.flush.size";
270
271
272 public static final int DEFAULT_SIZE_RESERVATION_BLOCK = 1024 * 1024 * 5;
273
274
275 public static final int MAXIMUM_VALUE_LENGTH = Integer.MAX_VALUE;
276
277
278 public static final String CLUSTER_ID_FILE_NAME = "hbase.id";
279
280
281 public static final String CLUSTER_ID = "hbase.cluster.id";
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304 public static final byte [] ROOT_TABLE_NAME = Bytes.toBytes("-ROOT-");
305
306
307 public static final byte [] META_TABLE_NAME = Bytes.toBytes(".META.");
308
309
310 public static final int META_ROW_DELIMITER = ',';
311
312
313 public static final String CATALOG_FAMILY_STR = "info";
314
315
316 public static final byte [] CATALOG_FAMILY = Bytes.toBytes(CATALOG_FAMILY_STR);
317
318
319 public static final byte [] REGIONINFO_QUALIFIER = Bytes.toBytes("regioninfo");
320
321
322 public static final byte [] SERVER_QUALIFIER = Bytes.toBytes("server");
323
324
325 public static final byte [] STARTCODE_QUALIFIER = Bytes.toBytes("serverstartcode");
326
327
328 public static final byte [] SPLITA_QUALIFIER = Bytes.toBytes("splitA");
329
330
331 public static final byte [] SPLITB_QUALIFIER = Bytes.toBytes("splitB");
332
333
334
335
336
337
338 public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");
339
340
341
342
343
344
345
346
347 public static final short META_VERSION = 0;
348
349
350
351
352
353
354 public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];
355
356
357
358
359 public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;
360
361
362
363
364 public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;
365
366
367
368
369
370 public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;
371
372
373
374
375 public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;
376
377
378 public static final String UTF8_ENCODING = "UTF-8";
379
380
381
382
383
384
385 public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;
386
387
388
389
390 public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;
391
392
393
394
395 public static final byte [] LATEST_TIMESTAMP_BYTES = Bytes.toBytes(LATEST_TIMESTAMP);
396
397
398
399
400 public static final int ALL_VERSIONS = Integer.MAX_VALUE;
401
402
403
404
405
406 public static final int FOREVER = Integer.MAX_VALUE;
407
408
409
410
411 public static final int WEEK_IN_SECONDS = 7 * 24 * 3600;
412
413
414
415
416
417 public static final String NAME = "NAME";
418 public static final String VERSIONS = "VERSIONS";
419 public static final String IN_MEMORY = "IN_MEMORY";
420 public static final String CONFIG = "CONFIG";
421
422
423
424
425
426 public static int RETRY_BACKOFF[] = { 1, 1, 1, 2, 2, 4, 4, 8, 16, 32, 64 };
427
428 public static final String REGION_IMPL = "hbase.hregion.impl";
429
430
431 public static enum Modify {
432 CLOSE_REGION,
433 TABLE_COMPACT,
434 TABLE_FLUSH,
435 TABLE_MAJOR_COMPACT,
436 TABLE_SET_HTD,
437 TABLE_SPLIT
438 }
439
440
441
442
443
444 public static final int REPLICATION_SCOPE_LOCAL = 0;
445
446
447
448
449
450 public static final int REPLICATION_SCOPE_GLOBAL = 1;
451
452
453
454
455
456 public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);
457
458
459
460
461
462 public static String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY = "hbase.client.scanner.max.result.size";
463
464
465
466
467
468
469
470
471 public static long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = Long.MAX_VALUE;
472
473
474
475
476
477 public static String HBASE_CLIENT_PAUSE = "hbase.client.pause";
478
479
480
481
482 public static long DEFAULT_HBASE_CLIENT_PAUSE = 1000;
483
484
485
486
487
488 public static String HBASE_SERVER_PAUSE = "hbase.server.pause";
489
490
491
492
493 public static int DEFAULT_HBASE_SERVER_PAUSE = 1000;
494
495
496
497
498
499
500 public static String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";
501
502
503
504
505 public static int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 10;
506
507
508
509
510
511 public static String HBASE_CLIENT_RPC_MAXATTEMPTS = "hbase.client.rpc.maxattempts";
512
513
514
515
516 public static int DEFAULT_HBASE_CLIENT_RPC_MAXATTEMPTS = 1;
517
518
519
520
521
522 public static String HBASE_CLIENT_PREFETCH_LIMIT = "hbase.client.prefetch.limit";
523
524
525
526
527 public static int DEFAULT_HBASE_CLIENT_PREFETCH_LIMIT = 10;
528
529
530
531
532
533
534
535 public static String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";
536
537
538
539
540 public static int DEFAULT_HBASE_META_SCANNER_CACHING = 100;
541
542
543
544
545
546
547
548
549
550
551 public static String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";
552
553
554
555
556
557 public static String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =
558 "hbase.regionserver.lease.period";
559
560
561
562
563 public static long DEFAULT_HBASE_REGIONSERVER_LEASE_PERIOD = 60000;
564
565
566
567
568 public static String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";
569
570
571
572
573 public static int DEFAULT_HBASE_RPC_TIMEOUT = 60000;
574
575
576
577
578 public static String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY = "hbase.rpc.shortoperation.timeout";
579
580
581
582
583 public static int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;
584
585
586
587
588 public static final String
589 REPLICATION_ENABLE_KEY = "hbase.replication";
590 public static final String
591 REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";
592 public static final String
593 REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";
594 public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =
595 "org.apache.hadoop.hbase.replication.regionserver.Replication";
596
597
598 public static final String HBCK_CODE_NAME = "HBCKServerName";
599
600 public static final ServerName HBCK_CODE_SERVERNAME =
601 new ServerName(HBCK_CODE_NAME, -1, -1L);
602
603 public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =
604 "hbase.regionserver.hostname.seen.by.master";
605
606 public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =
607 "hbase.master.logcleaner.plugins";
608
609 public static final String HBASE_REGION_SPLIT_POLICY_KEY =
610 "hbase.regionserver.region.split.policy";
611
612
613
614
615 public static final String HFILE_BLOCK_CACHE_SIZE_KEY =
616 "hfile.block.cache.size";
617
618 public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.25f;
619
620
621
622
623 public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;
624
625 public static final Pattern CP_HTD_ATTR_KEY_PATTERN = Pattern.compile
626 ("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);
627 public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =
628 Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");
629
630 public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";
631 public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";
632 public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(
633 "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +
634 CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");
635
636
637 public static final int SOCKET_RETRY_WAIT_MS = 200;
638
639
640 public static final String LOCALHOST = "localhost";
641
642
643 public static final String ENABLE_DATA_FILE_UMASK = "hbase.data.umask.enable";
644
645 public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";
646
647
648
649
650
651
652
653
654
655
656
657
658 public static final String HBASE_CHECKSUM_VERIFICATION =
659 "hbase.regionserver.checksum.verify";
660
661
662
663
664
665 public static final String BYTES_PER_CHECKSUM =
666 "hbase.hstore.bytes.per.checksum";
667
668
669
670
671
672
673 public static final String CHECKSUM_TYPE_NAME =
674 "hbase.hstore.checksum.algorithm";
675
676
677 public static final String ENABLE_WAL_COMPRESSION =
678 "hbase.regionserver.wal.enablecompression";
679
680
681
682
683
684
685 public static final int NORMAL_QOS = 0;
686 public static final int QOS_THRESHOLD = 10;
687 public static final int HIGH_QOS = 100;
688 public static final int REPLICATION_QOS = 5;
689
690
691
692
693
694 public static final byte [] NO_NEXT_INDEXED_KEY = Bytes.toBytes("NO_NEXT_INDEXED_KEY");
695
696
697 public static final String HFILE_ARCHIVE_DIRECTORY = ".archive";
698
699
700
701
702
703
704 public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";
705
706
707 public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";
708
709
710 public static final String HBASE_TEMP_DIRECTORY = ".tmp";
711
712
713 public static final List<String> HBASE_NON_TABLE_DIRS =
714 Collections.unmodifiableList(Arrays.asList(new String[] { HREGION_LOGDIR_NAME,
715 HREGION_OLDLOGDIR_NAME, CORRUPT_DIR_NAME, SPLIT_LOGDIR_NAME,
716 HBCK_SIDELINEDIR_NAME, HFILE_ARCHIVE_DIRECTORY, SNAPSHOT_DIR_NAME, HBASE_TEMP_DIRECTORY,
717 OLD_SNAPSHOT_DIR_NAME }));
718
719
720 public static final List<String> HBASE_NON_USER_TABLE_DIRS =
721 Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(
722 new String[] { Bytes.toString(META_TABLE_NAME), Bytes.toString(ROOT_TABLE_NAME) },
723 HBASE_NON_TABLE_DIRS.toArray())));
724
725
726 public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";
727 public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";
728 public static final String HEALTH_CHORE_WAKE_FREQ =
729 "hbase.node.health.script.frequency";
730 public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;
731
732
733
734 public static final String HEALTH_FAILURE_THRESHOLD =
735 "hbase.node.health.failure.threshold";
736 public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;
737
738 private HConstants() {
739
740 }
741 }