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 public static final String CONFIG = "CONFIG";
418
419
420
421
422
423 public static int RETRY_BACKOFF[] = { 1, 1, 1, 2, 2, 4, 4, 8, 16, 32 };
424
425 public static final String REGION_IMPL = "hbase.hregion.impl";
426
427
428 public static enum Modify {
429 CLOSE_REGION,
430 TABLE_COMPACT,
431 TABLE_FLUSH,
432 TABLE_MAJOR_COMPACT,
433 TABLE_SET_HTD,
434 TABLE_SPLIT
435 }
436
437
438
439
440
441 public static final int REPLICATION_SCOPE_LOCAL = 0;
442
443
444
445
446
447 public static final int REPLICATION_SCOPE_GLOBAL = 1;
448
449
450
451
452
453 public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);
454
455
456
457
458
459 public static String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY = "hbase.client.scanner.max.result.size";
460
461
462
463
464
465
466
467
468 public static long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = Long.MAX_VALUE;
469
470
471
472
473
474 public static String HBASE_CLIENT_PAUSE = "hbase.client.pause";
475
476
477
478
479 public static long DEFAULT_HBASE_CLIENT_PAUSE = 1000;
480
481
482
483
484
485 public static String HBASE_SERVER_PAUSE = "hbase.server.pause";
486
487
488
489
490 public static int DEFAULT_HBASE_SERVER_PAUSE = 1000;
491
492
493
494
495
496
497 public static String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";
498
499
500
501
502 public static int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 10;
503
504
505
506
507
508 public static String HBASE_CLIENT_RPC_MAXATTEMPTS = "hbase.client.rpc.maxattempts";
509
510
511
512
513 public static int DEFAULT_HBASE_CLIENT_RPC_MAXATTEMPTS = 1;
514
515
516
517
518
519 public static String HBASE_CLIENT_PREFETCH_LIMIT = "hbase.client.prefetch.limit";
520
521
522
523
524 public static int DEFAULT_HBASE_CLIENT_PREFETCH_LIMIT = 10;
525
526
527
528
529
530
531
532 public static String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";
533
534
535
536
537 public static int DEFAULT_HBASE_META_SCANNER_CACHING = 100;
538
539
540
541
542
543
544
545
546
547
548 public static String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";
549
550
551
552
553
554 public static String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =
555 "hbase.regionserver.lease.period";
556
557
558
559
560 public static long DEFAULT_HBASE_REGIONSERVER_LEASE_PERIOD = 60000;
561
562
563
564
565 public static String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";
566
567
568
569
570 public static int DEFAULT_HBASE_RPC_TIMEOUT = 60000;
571
572
573
574
575 public static final String
576 REPLICATION_ENABLE_KEY = "hbase.replication";
577 public static final String
578 REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";
579 public static final String
580 REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";
581 public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =
582 "org.apache.hadoop.hbase.replication.regionserver.Replication";
583
584
585 public static final String HBCK_CODE_NAME = "HBCKServerName";
586
587 public static final ServerName HBCK_CODE_SERVERNAME =
588 new ServerName(HBCK_CODE_NAME, -1, -1L);
589
590 public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =
591 "hbase.regionserver.hostname.seen.by.master";
592
593 public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =
594 "hbase.master.logcleaner.plugins";
595
596 public static final String HBASE_REGION_SPLIT_POLICY_KEY =
597 "hbase.regionserver.region.split.policy";
598
599
600
601
602 public static final String HFILE_BLOCK_CACHE_SIZE_KEY =
603 "hfile.block.cache.size";
604
605 public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.25f;
606
607
608
609
610 public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;
611
612 public static final Pattern CP_HTD_ATTR_KEY_PATTERN = Pattern.compile
613 ("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);
614 public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =
615 Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");
616
617 public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";
618 public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";
619 public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(
620 "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +
621 CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");
622
623
624 public static final int SOCKET_RETRY_WAIT_MS = 200;
625
626
627 public static final String LOCALHOST = "localhost";
628
629
630 public static final String ENABLE_DATA_FILE_UMASK = "hbase.data.umask.enable";
631
632 public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";
633
634
635
636
637
638
639
640
641
642
643
644
645 public static final String HBASE_CHECKSUM_VERIFICATION =
646 "hbase.regionserver.checksum.verify";
647
648
649
650
651
652 public static final String BYTES_PER_CHECKSUM =
653 "hbase.hstore.bytes.per.checksum";
654
655
656
657
658
659
660 public static final String CHECKSUM_TYPE_NAME =
661 "hbase.hstore.checksum.algorithm";
662
663
664 public static final String ENABLE_WAL_COMPRESSION =
665 "hbase.regionserver.wal.enablecompression";
666
667
668
669
670
671
672 public static final int NORMAL_QOS = 0;
673 public static final int QOS_THRESHOLD = 10;
674 public static final int HIGH_QOS = 100;
675 public static final int REPLICATION_QOS = 5;
676
677
678
679
680
681 public static final byte [] NO_NEXT_INDEXED_KEY = Bytes.toBytes("NO_NEXT_INDEXED_KEY");
682
683
684 public static final String HFILE_ARCHIVE_DIRECTORY = ".archive";
685
686
687
688
689
690
691 public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";
692
693
694 public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";
695
696
697 public static final String HBASE_TEMP_DIRECTORY = ".tmp";
698
699
700 public static final List<String> HBASE_NON_TABLE_DIRS =
701 Collections.unmodifiableList(Arrays.asList(new String[] { HREGION_LOGDIR_NAME,
702 HREGION_OLDLOGDIR_NAME, CORRUPT_DIR_NAME, SPLIT_LOGDIR_NAME,
703 HBCK_SIDELINEDIR_NAME, HFILE_ARCHIVE_DIRECTORY, SNAPSHOT_DIR_NAME, HBASE_TEMP_DIRECTORY,
704 OLD_SNAPSHOT_DIR_NAME }));
705
706
707 public static final List<String> HBASE_NON_USER_TABLE_DIRS =
708 Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(
709 new String[] { Bytes.toString(META_TABLE_NAME), Bytes.toString(ROOT_TABLE_NAME) },
710 HBASE_NON_TABLE_DIRS.toArray())));
711
712
713 public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";
714 public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";
715 public static final String HEALTH_CHORE_WAKE_FREQ =
716 "hbase.node.health.script.frequency";
717 public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;
718
719
720
721 public static final String HEALTH_FAILURE_THRESHOLD =
722 "hbase.node.health.failure.threshold";
723 public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;
724
725 private HConstants() {
726
727 }
728 }