<%@ page language="java" import="java.sql.*"%> | |
<html> | |
<head> | |
<title>Sample Application HDFS JSP Page</title> | |
</head> | |
<body bgcolor=white> | |
<table border="0"> | |
<tr> | |
<td align=center> | |
<img src="images/bridge-small.png"> | |
</td> | |
<td> | |
<h1>Sample Brooklyn Deployed WebApp (Database JSP)</h1> | |
This is the output of a JSP page that is part of the Hello, World application, | |
deployed by brooklyn, to show <b>hadoop hdfs used as the data store</b>. | |
</td> | |
</tr> | |
</table> | |
<% | |
String hadoop=System.getProperty("brooklyn.example.hadoop.site.xml.url"); | |
if (hadoop==null) { | |
%> | |
<p>(There is no hadoop included as part of this example.)</p> | |
<% } else { /* begin hadoop-enabled block */ | |
try { | |
org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration(); | |
conf.setClassLoader(brooklyn.demo.webapp.hello.HadoopWordCount.class.getClassLoader()); | |
conf.addResource(new java.net.URL(hadoop)); | |
org.apache.hadoop.fs.FileSystem fsClient = org.apache.hadoop.fs.FileSystem.get(conf); | |
if (fsClient==null) throw new NullPointerException("Can't access fsClient at "+hadoop); | |
if (request.getParameter("name")!=null) { | |
java.io.OutputStream os1 = fsClient.create(new org.apache.hadoop.fs.Path("chats", ""+System.currentTimeMillis()+"-"+((int)(Math.random()*10000)))); | |
os1.write(request.getParameter("name").getBytes()); | |
os1.write(" : ".getBytes()); | |
os1.write(request.getParameter("message").getBytes()); | |
os1.flush(); os1.close(); | |
} | |
%> | |
<br/> | |
<p>Visitors:</p> | |
<ul> | |
<% | |
org.apache.hadoop.fs.FileStatus[] files = fsClient.listStatus(new org.apache.hadoop.fs.Path("chats")); | |
if (files==null) files = new org.apache.hadoop.fs.FileStatus[0]; | |
for (org.apache.hadoop.fs.FileStatus f: files) { | |
%> | |
<li> <%= brooklyn.demo.webapp.hello.DemoUtils.stringFromInputStream(fsClient.open(f.getPath())) %> </li> | |
<% | |
} | |
if (files.length==0) { | |
%> | |
<li> <i>None.</i> </li> | |
<% | |
} | |
%> | |
</ul> | |
<br/> | |
<p>Please enter a message:</p> | |
<form action="hadoop-chat.jsp" method="GET"> | |
<table> | |
<tr><td>Name: </td><td><input type="text" name="name"></td></tr> | |
<tr><td>Message: </td><td><input type="text" name="message"></td></tr> | |
</table> | |
<input type="submit" value="Submit"/> | |
</form> | |
<% | |
} catch (Exception e) { | |
%> | |
<b>Error connecting to Hadoop.</b><br/> | |
ERROR: <%= e %><br/><br/> | |
<pre> <%= brooklyn.demo.webapp.hello.DemoUtils.getStackTrace(e) %></pre> | |
<% | |
} | |
} | |
%> | |
<br/> | |
<p>Click <a href="hadoop-wordcount.jsp">here</a> to run a map-reduce job counting the words in these comments.</p> | |
<p>Click <a href="index.html">here</a> to go back to the main page.</p> | |
</body> | |
</html> |