diff --git a/src/site/asciidoc/acid-semantics.adoc b/src/site/asciidoc/acid-semantics.adoc deleted file mode 100644 index b557165cb5bb..000000000000 --- a/src/site/asciidoc/acid-semantics.adoc +++ /dev/null @@ -1,118 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - -= Apache HBase (TM) ACID Properties - -== About this Document - -Apache HBase (TM) is not an ACID compliant database. However, it does guarantee certain specific properties. - -This specification enumerates the ACID properties of HBase. - -== Definitions - -For the sake of common vocabulary, we define the following terms: -Atomicity:: - An operation is atomic if it either completes entirely or not at all. - -Consistency:: - All actions cause the table to transition from one valid state directly to another (eg a row will not disappear during an update, etc). - -Isolation:: - an operation is isolated if it appears to complete independently of any other concurrent transaction. - -Durability:: - Any update that reports "successful" to the client will not be lost. - -Visibility:: - An update is considered visible if any subsequent read will see the update as having been committed. - - -The terms _must_ and _may_ are used as specified by link:[RFC 2119]. - -In short, the word "must" implies that, if some case exists where the statement is not true, it is a bug. The word _may_ implies that, even if the guarantee is provided in a current release, users should not rely on it. - -== APIs to Consider -- Read APIs -* get -* scan -- Write APIs -* put -* batch put -* delete -- Combination (read-modify-write) APIs -* incrementColumnValue -* checkAndPut - -== Guarantees Provided - -.Atomicity -. All mutations are atomic within a row. Any put will either wholely succeed or wholely fail.footnoteref[Puts will either wholely succeed or wholely fail, provided that they are actually sent to the RegionServer. If the writebuffer is used, Puts will not be sent until the writebuffer is filled or it is explicitly flushed.] -.. An operation that returns a _success_ code has completely succeeded. -.. An operation that returns a _failure_ code has completely failed. -.. An operation that times out may have succeeded and may have failed. However, it will not have partially succeeded or failed. -. This is true even if the mutation crosses multiple column families within a row. -. APIs that mutate several rows will _not_ be atomic across the multiple rows. For example, a multiput that operates on rows 'a','b', and 'c' may return having mutated some but not all of the rows. In such cases, these APIs will return a list of success codes, each of which may be succeeded, failed, or timed out as described above. -. The checkAndPut API happens atomically like the typical _compareAndSet (CAS)_ operation found in many hardware architectures. -. The order of mutations is seen to happen in a well-defined order for each row, with no interleaving. For example, if one writer issues the mutation `a=1,b=1,c=1` and another writer issues the mutation `a=2,b=2,c=`, the row must either be `a=1,b=1,c=1` or `a=2,b=2,c=2` and must *not* be something like `a=1,b=2,c=1`. + -NOTE:This is not true _across rows_ for multirow batch mutations. - -== Consistency and Isolation -. All rows returned via any access API will consist of a complete row that existed at some point in the table's history. -. This is true across column families - i.e a get of a full row that occurs concurrent with some mutations 1,2,3,4,5 will return a complete row that existed at some point in time between mutation i and i+1 for some i between 1 and 5. -. The state of a row will only move forward through the history of edits to it. - -== Consistency of Scans -A scan is *not* a consistent view of a table. Scans do *not* exhibit _snapshot isolation_. - -Rather, scans have the following properties: -. Any row returned by the scan will be a consistent view (i.e. that version of the complete row existed at some point in time)footnoteref[consistency,A consistent view is not guaranteed intra-row scanning -- i.e. fetching a portion of a row in one RPC then going back to fetch another portion of the row in a subsequent RPC. Intra-row scanning happens when you set a limit on how many values to return per Scan#next (See link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html#setBatch(int)"[Scan#setBatch(int)]).] -. A scan will always reflect a view of the data _at least as new as_ the beginning of the scan. This satisfies the visibility guarantees enumerated below. -.. For example, if client A writes data X and then communicates via a side channel to client B, any scans started by client B will contain data at least as new as X. -.. A scan _must_ reflect all mutations committed prior to the construction of the scanner, and _may_ reflect some mutations committed subsequent to the construction of the scanner. -.. Scans must include _all_ data written prior to the scan (except in the case where data is subsequently mutated, in which case it _may_ reflect the mutation) - -Those familiar with relational databases will recognize this isolation level as "read committed". - -NOTE: The guarantees listed above regarding scanner consistency are referring to "transaction commit time", not the "timestamp" field of each cell. That is to say, a scanner started at time _t_ may see edits with a timestamp value greater than _t_, if those edits were committed with a "forward dated" timestamp before the scanner was constructed. - -== Visibility - -. When a client receives a "success" response for any mutation, that mutation is immediately visible to both that client and any client with whom it later communicates through side channels.footnoteref[consistency] -. A row must never exhibit so-called "time-travel" properties. That is to say, if a series of mutations moves a row sequentially through a series of states, any sequence of concurrent reads will return a subsequence of those states. + -For example, if a row's cells are mutated using the `incrementColumnValue` API, a client must never see the value of any cell decrease. + -This is true regardless of which read API is used to read back the mutation. -. Any version of a cell that has been returned to a read operation is guaranteed to be durably stored. - -== Durability -. All visible data is also durable data. That is to say, a read will never return data that has not been made durable on disk.footnoteref[durability,In the context of Apache HBase, _durably on disk_; implies an `hflush()` call on the transaction log. This does not actually imply an `fsync()` to magnetic media, but rather just that the data has been written to the OS cache on all replicas of the log. In the case of a full datacenter power loss, it is possible that the edits are not truly durable.] -. Any operation that returns a "success" code (eg does not throw an exception) will be made durable.footnoteref[durability] -. Any operation that returns a "failure" code will not be made durable (subject to the Atomicity guarantees above). -. All reasonable failure scenarios will not affect any of the guarantees of this document. - -== Tunability - -All of the above guarantees must be possible within Apache HBase. For users who would like to trade off some guarantees for performance, HBase may offer several tuning options. For example: - -* Visibility may be tuned on a per-read basis to allow stale reads or time travel. -* Durability may be tuned to only flush data to disk on a periodic basis. - -== More Information - -For more information, see the link:book.html#client[client architecture] and link:book.html#datamodel[data model] sections in the Apache HBase Reference Guide. diff --git a/src/site/asciidoc/bulk-loads.adoc b/src/site/asciidoc/bulk-loads.adoc deleted file mode 100644 index fc320d88fdea..000000000000 --- a/src/site/asciidoc/bulk-loads.adoc +++ /dev/null @@ -1,23 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - -= Bulk Loads in Apache HBase (TM) - -This page has been retired. The contents have been moved to the link:book.html#arch.bulk.load[Bulk Loading] section in the Reference Guide. - diff --git a/src/site/asciidoc/cygwin.adoc b/src/site/asciidoc/cygwin.adoc deleted file mode 100644 index 5b6d5b4a5877..000000000000 --- a/src/site/asciidoc/cygwin.adoc +++ /dev/null @@ -1,196 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - - -== Installing Apache HBase (TM) on Windows using Cygwin - -== Introduction - -link:http://hbase.apache.org[Apache HBase (TM)] is a distributed, column-oriented store, modeled after Google's link:http://research.google.com/archive/bigtable.html[BigTable]. Apache HBase is built on top of link:http://hadoop.apache.org[Hadoop] for its link:http://hadoop.apache.org/mapreduce[MapReduce] link:http://hadoop.apache.org/hdfs[distributed file system] implementations. All these projects are open-source and part of the link:http://www.apache.org[Apache Software Foundation]. - -== Purpose - -This document explains the *intricacies* of running Apache HBase on Windows using Cygwin* as an all-in-one single-node installation for testing and development. The HBase link:http://hbase.apache.org/apidocs/overview-summary.html#overview_description[Overview] and link:book.html#getting_started[QuickStart] guides on the other hand go a long way in explaning how to setup link:http://hadoop.apache.org/hbase[HBase] in more complex deployment scenarios. - -== Installation - -For running Apache HBase on Windows, 3 technologies are required: -* Java -* Cygwin -* SSH - -The following paragraphs detail the installation of each of the aforementioned technologies. - -=== Java - -HBase depends on the link:http://java.sun.com/javase/6/[Java Platform, Standard Edition, 6 Release]. So the target system has to be provided with at least the Java Runtime Environment (JRE); however if the system will also be used for development, the Jave Development Kit (JDK) is preferred. You can download the latest versions for both from link:http://java.sun.com/javase/downloads/index.jsp[Sun's download page]. Installation is a simple GUI wizard that guides you through the process. - -=== Cygwin - -Cygwin is probably the oddest technology in this solution stack. It provides a dynamic link library that emulates most of a *nix environment on Windows. On top of that a whole bunch of the most common *nix tools are supplied. Combined, the DLL with the tools form a very *nix-alike environment on Windows. - -For installation, Cygwin provides the link:http://cygwin.com/setup.exe[`setup.exe` utility] that tracks the versions of all installed components on the target system and provides the mechanism for installing or updating everything from the mirror sites of Cygwin. - -To support installation, the `setup.exe` utility uses 2 directories on the target system. The *Root* directory for Cygwin (defaults to _C:\cygwin)_ which will become _/_ within the eventual Cygwin installation; and the *Local Package* directory (e.g. _C:\cygsetup_ that is the cache where `setup.exe`stores the packages before they are installed. The cache must not be the same folder as the Cygwin root. - -Perform following steps to install Cygwin, which are elaboratly detailed in the link:http://cygwin.com/cygwin-ug-net/setup-net.html[2nd chapter] of the link:http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html[Cygwin User's Guide]. - -. Make sure you have `Administrator` privileges on the target system. -. Choose and create you Root and *Local Package* directories. A good suggestion is to use `C:\cygwin\root` and `C:\cygwin\setup` folders. -. Download the `setup.exe` utility and save it to the *Local Package* directory. Run the `setup.exe` utility. -.. Choose the `Install from Internet` option. -.. Choose your *Root* and *Local Package* folders. -.. Select an appropriate mirror. -.. Don't select any additional packages yet, as we only want to install Cygwin for now. -.. Wait for download and install. -.. Finish the installation. -. Optionally, you can now also add a shortcut to your Start menu pointing to the `setup.exe` utility in the *Local Package *folder. -. Add `CYGWIN_HOME` system-wide environment variable that points to your *Root* directory. -. Add `%CYGWIN_HOME%\bin` to the end of your `PATH` environment variable. -. Reboot the sytem after making changes to the environment variables otherwise the OS will not be able to find the Cygwin utilities. -. Test your installation by running your freshly created shortcuts or the `Cygwin.bat` command in the *Root* folder. You should end up in a terminal window that is running a link:http://www.gnu.org/software/bash/manual/bashref.html[Bash shell]. Test the shell by issuing following commands: -.. `cd /` should take you to thr *Root* directory in Cygwin. -.. The `LS` commands that should list all files and folders in the current directory. -.. Use the `exit` command to end the terminal. -. When needed, to *uninstall* Cygwin you can simply delete the *Root* and *Local Package* directory, and the *shortcuts* that were created during installation. - -=== SSH - -HBase (and Hadoop) rely on link:http://nl.wikipedia.org/wiki/Secure_Shell[*SSH*] for interprocess/-node *communication* and launching* remote commands*. SSH will be provisioned on the target system via Cygwin, which supports running Cygwin programs as *Windows services*! - -. Rerun the `*setup.exe*`* utility*. -. Leave all parameters as is, skipping through the wizard using the `Next` button until the `Select Packages` panel is shown. -. Maximize the window and click the `View` button to toggle to the list view, which is ordered alfabetically on `Package`, making it easier to find the packages we'll need. -. Select the following packages by clicking the status word (normally `Skip`) so it's marked for installation. Use the `Next `button to download and install the packages. -.. `OpenSSH` -.. `tcp_wrappers` -.. `diffutils` -.. `zlib` -. Wait for the install to complete and finish the installation. - -=== HBase - -Download the *latest release* of Apache HBase from link:http://www.apache.org/dyn/closer.cgi/hbase/. As the Apache HBase distributable is just a zipped archive, installation is as simple as unpacking the archive so it ends up in its final *installation* directory. Notice that HBase has to be installed in Cygwin and a good directory suggestion is to use `/usr/local/` (or [`*Root* directory]\usr\local` in Windows slang). You should end up with a `/usr/local/hbase-_versi` installation in Cygwin. - -This finishes installation. We go on with the configuration. - -== Configuration - -There are 3 parts left to configure: *Java, SSH and HBase* itself. Following paragraphs explain eacht topic in detail. - -=== Java - -One important thing to remember in shell scripting in general (i.e. *nix and Windows) is that managing, manipulating and assembling path names that contains spaces can be very hard, due to the need to escape and quote those characters and strings. So we try to stay away from spaces in path names. *nix environments can help us out here very easily by using *symbolic links*. - -. Create a link in `/usr/local` to the Java home directory by using the following command and substituting the name of your chosen Java environment: + ----- -LN -s /cygdrive/c/Program\ Files/Java/*_jre name_*/usr/local/*_jre name_* ----- -. Test your java installation by changing directories to your Java folder `CD /usr/local/_jre name_` and issueing the command `./bin/java -version`. This should output your version of the chosen JRE. - -=== SSH - -Configuring *SSH *is quite elaborate, but primarily a question of launching it by default as a* Windows service*. - -. On Windows Vista and above make sure you run the Cygwin shell with *elevated privileges*, by right-clicking on the shortcut an using `Run as Administrator`. -. First of all, we have to make sure the *rights on some crucial files* are correct. Use the commands underneath. You can verify all rights by using the `LS -L` command on the different files. Also, notice the auto-completion feature in the shell using `TAB` is extremely handy in these situations. -.. `chmod +r /etc/passwd` to make the passwords file readable for all -.. `chmod u+w /etc/passwd` to make the passwords file writable for the owner -.. `chmod +r /etc/group` to make the groups file readable for all -.. `chmod u+w /etc/group` to make the groups file writable for the owner -.. `chmod 755 /var` to make the var folder writable to owner and readable and executable to all -. Edit the */etc/hosts.allow* file using your favorite editor (why not VI in the shell!) and make sure the following two lines are in there before the `PARANOID` line: + ----- -ALL : localhost 127.0.0.1/32 : allow -ALL : [::1]/128 : allow ----- -. Next we have to *configure SSH* by using the script `ssh-host-config`. -.. If this script asks to overwrite an existing `/etc/ssh_config`, answer `yes`. -.. If this script asks to overwrite an existing `/etc/sshd_config`, answer `yes`. -.. If this script asks to use privilege separation, answer `yes`. -.. If this script asks to install `sshd` as a service, answer `yes`. Make sure you started your shell as Adminstrator! -.. If this script asks for the CYGWIN value, just `enter` as the default is `ntsec`. -.. If this script asks to create the `sshd` account, answer `yes`. -.. If this script asks to use a different user name as service account, answer `no` as the default will suffice. -.. If this script asks to create the `cyg_server` account, answer `yes`. Enter a password for the account. -. *Start the SSH service* using `net start sshd` or `cygrunsrv --start sshd`. Notice that `cygrunsrv` is the utility that make the process run as a Windows service. Confirm that you see a message stating that `the CYGWIN sshd service was started succesfully.` -. Harmonize Windows and Cygwin* user account* by using the commands: + ----- -mkpasswd -cl > /etc/passwd -mkgroup --local > /etc/group ----- -. Test *the installation of SSH: -.. Open a new Cygwin terminal. -.. Use the command `whoami` to verify your userID. -.. Issue an `ssh localhost` to connect to the system itself. -.. Answer `yes` when presented with the server's fingerprint. -.. Issue your password when prompted. -.. Test a few commands in the remote session -.. The `exit` command should take you back to your first shell in Cygwin. -. `Exit` should terminate the Cygwin shell. - -=== HBase - -If all previous configurations are working properly, we just need some tinkering at the *HBase config* files to properly resolve on Windows/Cygwin. All files and paths referenced here start from the HBase `[*installation* directory]` as working directory. - -. HBase uses the `./conf/*hbase-env.sh*` to configure its dependencies on the runtime environment. Copy and uncomment following lines just underneath their original, change them to fit your environemnt. They should read something like: + ----- -export JAVA_HOME=/usr/local/_jre name_ -export HBASE_IDENT_STRING=$HOSTNAME ----- -. HBase uses the _./conf/`*hbase-default.xml*`_ file for configuration. Some properties do not resolve to existing directories because the JVM runs on Windows. This is the major issue to keep in mind when working with Cygwin: within the shell all paths are *nix-alike, hence relative to the root `/`. However, every parameter that is to be consumed within the windows processes themself, need to be Windows settings, hence `C:\`-alike. Change following propeties in the configuration file, adjusting paths where necessary to conform with your own installation: -.. `hbase.rootdir` must read e.g. `file:///C:/cygwin/root/tmp/hbase/data` -.. `hbase.tmp.dir` must read `C:/cygwin/root/tmp/hbase/tmp` -.. `hbase.zookeeper.quorum` must read `127.0.0.1` because for some reason `localhost` doesn't seem to resolve properly on Cygwin. -. Make sure the configured `hbase.rootdir` and `hbase.tmp.dir` *directories exist* and have the proper* rights* set up e.g. by issuing a `chmod 777` on them. - -== Testing - -This should conclude the installation and configuration of Apache HBase on Windows using Cygwin. So it's time *to test it*. - -. Start a Cygwin* terminal*, if you haven't already. -. Change directory to HBase *installation* using `CD /usr/local/hbase-_version_`, preferably using auto-completion. -. *Start HBase* using the command `./bin/start-hbase.sh` -.. When prompted to accept the SSH fingerprint, answer `yes`. -.. When prompted, provide your password. Maybe multiple times. -.. When the command completes, the HBase server should have started. -.. However, to be absolutely certain, check the logs in the `./logs` directory for any exceptions. -. Next we *start the HBase shell* using the command `./bin/hbase shell` -. We run some simple *test commands* -.. Create a simple table using command `create 'test', 'data'` -.. Verify the table exists using the command `list` -.. Insert data into the table using e.g. + ----- -put 'test', 'row1', 'data:1', 'value1' -put 'test', 'row2', 'data:2', 'value2' -put 'test', 'row3', 'data:3', 'value3' ----- -.. List all rows in the table using the command `scan 'test'` that should list all the rows previously inserted. Notice how 3 new columns where added without changing the schema! -.. Finally we get rid of the table by issuing `disable 'test'` followed by `drop 'test'` and verified by `list` which should give an empty listing. -. *Leave the shell* by `exit` -. To *stop the HBase server* issue the `./bin/stop-hbase.sh` command. And wait for it to complete!!! Killing the process might corrupt your data on disk. -. In case of *problems*, -.. Verify the HBase logs in the `./logs` directory. -.. Try to fix the problem -.. Get help on the forums or IRC (`#hbase@freenode.net`). People are very active and keen to help out! -.. Stop and retest the server. - -== Conclusion - -Now your *HBase *server is running, *start coding* and build that next killer app on this particular, but scalable datastore! diff --git a/src/site/asciidoc/metrics.adoc b/src/site/asciidoc/metrics.adoc deleted file mode 100644 index 146b7e1ae975..000000000000 --- a/src/site/asciidoc/metrics.adoc +++ /dev/null @@ -1,102 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - -= Apache HBase (TM) Metrics - -== Introduction -Apache HBase (TM) emits Hadoop link:https://hadoop.apache.org/core/docs/stable/api/org/apache/hadoop/metrics/package-summary.html[metrics]. - -== Setup - -First read up on Hadoop link:https://hadoop.apache.org/core/docs/stable/api/org/apache/hadoop/metrics/package-summary.html[metrics]. - -If you are using ganglia, the link:https://cwiki.apache.org/confluence/display/HADOOP2/GangliaMetrics[GangliaMetrics] wiki page is useful read. - -To have HBase emit metrics, edit `$HBASE_HOME/conf/hadoop-metrics.properties` and enable metric 'contexts' per plugin. As of this writing, hadoop supports *file* and *ganglia* plugins. Yes, the hbase metrics files is named hadoop-metrics rather than _hbase-metrics_ because currently at least the hadoop metrics system has the properties filename hardcoded. Per metrics _context_, comment out the NullContext and enable one or more plugins instead. - -If you enable the _hbase_ context, on regionservers you'll see total requests since last -metric emission, count of regions and storefiles as well as a count of memstore size. -On the master, you'll see a count of the cluster's requests. - -Enabling the _rpc_ context is good if you are interested in seeing -metrics on each hbase rpc method invocation (counts and time taken). - -The _jvm_ context is useful for long-term stats on running hbase jvms -- memory used, thread counts, etc. As of this writing, if more than one jvm is running emitting metrics, at least in ganglia, the stats are aggregated rather than reported per instance. - -== Using with JMX - -In addition to the standard output contexts supported by the Hadoop -metrics package, you can also export HBase metrics via Java Management -Extensions (JMX). This will allow viewing HBase stats in JConsole or -any other JMX client. - -=== Enable HBase stats collection - -To enable JMX support in HBase, first edit `$HBASE_HOME/conf/hadoop-metrics.properties` to support metrics refreshing. (If you've running 0.94.1 and above, or have already configured `hadoop-metrics.properties` for another output context, you can skip this step). -[source,bash] ----- -# Configuration of the "hbase" context for null -hbase.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread -hbase.period=60 - -# Configuration of the "jvm" context for null -jvm.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread -jvm.period=60 - -# Configuration of the "rpc" context for null -rpc.class=org.apache.hadoop.metrics.spi.NullContextWithUpdateThread -rpc.period=60 ----- - -=== Setup JMX Remote Access - -For remote access, you will need to configure JMX remote passwords and access profiles. Create the files: -`$HBASE_HOME/conf/jmxremote.passwd` (set permissions - to 600):: + ----- -monitorRole monitorpass -controlRole controlpass ----- - -`$HBASE_HOME/conf/jmxremote.access`:: + ----- -monitorRole readonly -controlRole readwrite ----- - -=== Configure JMX in HBase startup - -Finally, edit the `$HBASE_HOME/conf/hbase-env.sh` script to add JMX support: -[source,bash] ----- -HBASE_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false" -HBASE_JMX_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.password.file=$HBASE_HOME/conf/jmxremote.passwd" -HBASE_JMX_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.access.file=$HBASE_HOME/conf/jmxremote.access" - -export HBASE_MASTER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.port=10101" -export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.port=10102" ----- - -After restarting the processes you want to monitor, you should now be able to run JConsole (included with the JDK since JDK 5.0) to view the statistics via JMX. HBase MBeans are exported under the *`hadoop`* domain in JMX. - - -== Understanding HBase Metrics - -For more information on understanding HBase metrics, see the link:book.html#hbase_metrics[metrics section] in the Apache HBase Reference Guide. - diff --git a/src/site/asciidoc/pseudo-distributed.adoc b/src/site/asciidoc/pseudo-distributed.adoc deleted file mode 100644 index d13c63b0836c..000000000000 --- a/src/site/asciidoc/pseudo-distributed.adoc +++ /dev/null @@ -1,23 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - - -= Running Apache HBase (TM) in pseudo-distributed mode -This page has been retired. The contents have been moved to the link:book.html#distributed[Distributed Operation: Pseudo- and Fully-distributed modes] section in the Reference Guide. - diff --git a/src/site/asciidoc/replication.adoc b/src/site/asciidoc/replication.adoc deleted file mode 100644 index 908975434a1c..000000000000 --- a/src/site/asciidoc/replication.adoc +++ /dev/null @@ -1,22 +0,0 @@ -//// -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -//// - -= Apache HBase (TM) Replication - -This information has been moved to link:book.html#cluster_replication"[the Cluster Replication] section of the link:book.html[Apache HBase Reference Guide]. diff --git a/src/site/site.xml b/src/site/site.xml index c136e733a624..c1bc40dace6a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -108,14 +108,7 @@ - - - - - - -