0
Javaでうまく動作するHbase Java基本コードを書きました。JavaサーブレットでHbaseを実行する
public class HBaseTest {
public static String newFunc() throws IOException {
// Instantiating configuration class
Configuration config = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("customer"));
Get g = new Get(Bytes.toBytes("jsmith"));
Result result = table.get(g);
// Reading values from Result class object
byte[] value = result.getValue(Bytes.toBytes("addr"), Bytes.toBytes("city"));
return Bytes.toString(value);
}
}
は、だから、私はWebアプリケーション開発の一環として、このコードとHBaseのを使用することを決めたので、私は、EclipseのJava EE IDEで新しい動的Webプロジェクトを開いて、このファイルを追加し、関数の名前を変更し、呼ばれますそれはサーブレットの1つからです。必要なjarファイルも追加しました。 しかし、私次のエラーで立ち往生しています:
java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)
at HBaseTest.newFunc(HBaseTest.java:18)
at BakwasServlet.doGet(BakwasServlet.java:16)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
このエラーは今私をイライラさせられます。前に誰かがこのような事件に遭遇したのですか、誰かが私にこれを助けることができますか?私はhbase_home変数を設定していません。私はJavaコードのためにそれを必要としませんでした。
ありがとうございます!
ここでHBase JARファイルを追加しましたか?これは、Webアプリケーションの 'WEB-INF/lib'フォルダになければなりません。 (Btw。あなたは 'ClassNotFoundException org.apache.hadoop.hbase.HBaseConfiguration'のためにグーグルを探しましたか?多くの結果がありますが、ここでは多くのこともあります) –
私はプロジェクトにjarファイルを直接ロードしていませんでしたそれはWEB_INF/libにあります。私がそれをマークできるように、あなたのコメントを答えとして書いてください。ありがとう! – LearningToCode