[ https://issues.apache.org/jira/browse/HADOOP-1957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1957: -------------------------- Resolution: Fixed Fix Version/s: 0.15.0 Status: Resolved (was: Patch Available) Committed. Resolved. Below is commit message. {code} HADOOP-1957 Web UI with report on cluster state and basic browsing of tables Adds a master and region server info webpp. Apps display vital attributes, lists of tables, regionservers, meta region locations, etc. Master webapp has an HQL page that allows running (read-only) queries. The shell subpackage commands have all been amended to take Writer -- e.g. a UTF-8'ing System.out or a JspOut -- rather than presume System.out and a TableFormatter for outputting result sets. M src/contrib/hbase/conf/hbase-default.xml Added ports and address config. for master and region server info webapps. Also, configuration for what HQL table formatter to use. M src/contrib/hbase/src/test/hbase-site.xml By default, do not have tests spin up info servers. A src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestInfoServers.java Test that info servers spin up. A src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestSerialization.java Test serialization works. Added test of ServerInfo. M src/contrib/hbase/src/test/org/apache/hadoop/hbase/HBaseTestCase.java (tearDown, setup): returned them to the base classes protected access M src/contrib/hbase/src/test/org/apache/hadoop/hbase/shell/TestHBaseShell.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java Shell parser now takes a table formatter and a Writer (Previous assumed System.out). M src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java (getRegionThreads): added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/Leases.java Beefed up log messages. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HRegionServer.java Add spin-up of info server. (getServerInfo, getOnlineRegions, getRequestCount): Added. Called by info server. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HConstants.java Added defaults for info server ports. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DeleteCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/CreateCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DisableCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/InsertCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DropCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/AlterCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/FsCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ExitCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/JarCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/DescCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShowCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/EnableCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ClearCommand.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SchemaModificationCommand.java Added constructor that takes a Writer. Removed calls to System.out. Go via the passed in Writer instead. (getCommmandType): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/TableFormatterFactory.java Refactored. Reads config. to figure which table formatter to build. D src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HelpContents.java Integrated into HelpCommand. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/TableFormatter.java Methods changed to throw IOE. (getOut): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java Generated. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj All commands now take at least a Writer. Some take a TableFormatter too. Changed Parser constructor to take Writer and TableFormatter. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/Command.java (getCommandType): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java Added constructor that takes a Writer. Removed calls to System.out. Go via the passed in Writer instead. Fixed bug where if a row was specified in WHERE we were returning no results. (getCommmandType): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/BasicCommand.java Added print and println implementations for the LCD Writer (Taking a PrintWriter instead would mean we'd have to wrap a stream w/ a PrintWriter -- but we do not always get access to stream cleanup so our PrintWriter wrapper gets undone; e.g. in jsp context. Could leave hanging resources. So just use lowest common denominator Writer and do our own print/println). D src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HelpManager.java Moved into HelpCommand. A src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/formatter/HtmlTableFormatter.java HTML table formatter. Outputs xhtml using hadoop bundled xmlenc jar. A src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/formatter/AsciiTableFormatter.java Ascii table formatter. Made into standalone class. Moved here from TableFormatterFactory inner class. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ReturnMsg.java (toString): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HelpCommand.java Moved HelpManager and HelpContent in here. Redid help output so instead uses table output (Lost some of the helpful formatting but now the help is portable -- can be displayed on console or in webpage). M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HServerInfo.java Add the infoPort to server info. (getInfoPort, equals, hashCode): Added. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMaster.java Put up an info server. (getRootDir, getServersToServerInfo, getServersToLoad, getRootRegionLocation, getOnlineMetaRegion): Added. Used by web UI. (startAllServices): Renamed as startServiceThread to be same as region server. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMemcache.java Formatting. A src/contrib/hbase/src/java/org/apache/hadoop/hbase/generated/regionserver/regionserver_jsp.java A src/contrib/hbase/src/java/org/apache/hadoop/hbase/generated/master/hql_jsp.java A src/contrib/hbase/src/java/org/apache/hadoop/hbase/generated/master/master_jsp.java A src/contrib/hbase/src/webapps/regionserver/WEB-INF/web.xml A src/contrib/hbase/src/webapps/master/WEB-INF/web.xml Generated. M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HRegion.java (getRegionInfo): Made public so could be access by web UI. A src/contrib/hbase/src/java/org/apache/hadoop/hbase/util/InfoServer.java Version of StatusHttpServer that doesn't add unwanted contexts and assume that the jar that has StatusHttpServer is the only location for resources to load. A src/contrib/hbase/src/webapps/static/hbase.css Basic styling. In particular, adds borders to tables. A src/contrib/hbase/src/webapps/master/hql.jsp A src/contrib/hbase/src/webapps/master/master.jsp A src/contrib/hbase/src/webapps/regionserver/regionserver.jsp A src/contrib/hbase/src/webapps/master/index.html A src/contrib/hbase/src/webapps/regionserver/index.html Webpages. M src/contrib/hbase/bin/hbase Add webapps to classpath. A src/contrib/hbase/build-webapps.xml ant script to generate java classes from webapp jsps. Needs to be run manually and changes committed whenever jsp has been changed (Can't integrate into build because of the infamous commons-logging classloading issue). M src/contrib/hbase/build.xml Add copying over of webapps. Add webapps to classpath {code} > [hbase] Web UI with report on cluster state and basic browsing of tables > ------------------------------------------------------------------------ > > Key: HADOOP-1957 > URL: https://issues.apache.org/jira/browse/HADOOP-1957 > Project: Hadoop > Issue Type: New Feature > Components: contrib/hbase > Reporter: stack > Priority: Minor > Fix For: 0.15.0 > > Attachments: ui-v2.patch, ui.patch > > > Hbase should put up a simple webapp listing content of master in-memory data > structures listing cluster members, tables and other vital statistics. Some > admin facility for editing column properties w/ table enable/disable features > would also go here. A basic (read-only?) means of listing tables and their > attributes, and for browsing table content -- perhaps w/ support for HQL > queries -- would also be useful confirming uploads, debugging, etc. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.