1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver;
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23
24 import org.apache.hadoop.classification.InterfaceAudience;
25 import org.apache.hadoop.conf.Configuration;
26 import org.apache.hadoop.hbase.HConstants;
27 import org.apache.hadoop.hbase.LocalHBaseCluster;
28 import org.apache.hadoop.hbase.util.ServerCommandLine;
29
30
31
32
33
34 @InterfaceAudience.Private
35 public class HRegionServerCommandLine extends ServerCommandLine {
36 private static final Log LOG = LogFactory.getLog(HRegionServerCommandLine.class);
37
38 private final Class<? extends HRegionServer> regionServerClass;
39
40 private static final String USAGE =
41 "Usage: HRegionServer [-D conf.param=value] start";
42
43 public HRegionServerCommandLine(Class<? extends HRegionServer> clazz) {
44 this.regionServerClass = clazz;
45 }
46
47 protected String getUsage() {
48 return USAGE;
49 }
50
51 private int start() throws Exception {
52 Configuration conf = getConf();
53
54
55
56 if (LocalHBaseCluster.isLocal(conf)) {
57 LOG.warn("Not starting a distinct region server because "
58 + HConstants.CLUSTER_DISTRIBUTED + " is false");
59 } else {
60 logJVMInfo();
61 HRegionServer hrs = HRegionServer.constructRegionServer(regionServerClass, conf);
62 HRegionServer.startRegionServer(hrs);
63 }
64 return 0;
65 }
66
67 public int run(String args[]) throws Exception {
68 if (args.length != 1) {
69 usage(null);
70 return -1;
71 }
72
73 String cmd = args[0];
74
75 if ("start".equals(cmd)) {
76 return start();
77 } else if ("stop".equals(cmd)) {
78 System.err.println(
79 "To shutdown the regionserver run " +
80 "bin/hbase-daemon.sh stop regionserver or send a kill signal to" +
81 "the regionserver pid");
82 return -1;
83 } else {
84 usage("Unknown command: " + args[0]);
85 return -1;
86 }
87 }
88 }