Home
Analytics
an error when BIRT + Cassandra + Hector
Grace Park
<p>Hi,</p>
<p> </p>
<p>I wanted to connect BIRT with Cassandra.</p>
<p>As one of the ways, I chose Hector and followed a eclipse newsletter article.</p>
<p>By the way, when I previewed the result in my data set, it showed an error message.</p>
<p>"org/apache/thrift/transport/TTransportException".</p>
<p>More detailed information is in the included picture.</p>
<p>Could somebody help me regarding to this problem?</p>
<p> </p>
<p>Thank you so much in advance.</p>
<p> </p>
<p>Best Regards,</p>
<p>Grace</p>
Find more posts tagged with
Comments
Clement Wong
<p>JFYI, I have connected Cassandra via JDBC and used CSQL, instead of the shipped ODA which requires a scripted data set.</p>
<p> </p>
<p>In my environment, I connected to Planet Cassandra VM 2.0.7 via the Cassandra JDBC using both DBVisualizer 9.0.8 and BIRT Designer Pro iHub3.<br><br>
* Cassandra VM @ <a data-ipb='nomediaparse' href='
http://planetcassandra.org/install-cassandra-ova-on-vmware'>http://planetcassandra.org/install-cassandra-ova-on-vmware</a><br>
;
* Cassandra JDBC @ <a data-ipb='nomediaparse' href='
https://code.google.com/a/apache-extras.org/p/cassandra-jdbc'>https://code.google.com/a/apache-extras.org/p/cassandra-jdbc</a><br>
;
- Download both JARs and dependencies<br>
- Unzip contents (12 items total) into C:\iHub3\BDPro\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc_4.2.3.v20131216-0430\drivers<br><br>
Initially, I ran into this error in DBVisualizer:</p>
<p style="margin-left:40px;"><br><span style="font-size:10px;"><span style="font-family:'courier new', courier, monospace;">11:59:08 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:09 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:10 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:11 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:12 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:13 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:14 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:15 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:16 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect<br>
11:59:17 [ERROR pool-3-thread-2 CassandraConnection.tryToConnect] Impossible to connect to 127.0.0.1 : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused: connect</span></span><br>
</p>
<p> </p>
<p>And this error in BIRT Designer Pro:</p>
<p style="margin-left:40px;"><br><span style="font-size:10px;"><span style="font-family:'courier new', courier, monospace;">org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, All connections attempt have failed. Please check your JDBC url and server status..<br>
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:310)<br>
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:206)<br>
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.tryCreateConnection(JDBCDriverManager.java:798)<br>
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.testConnection(JDBCDriverManager.java:698)<br>
at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:147)<br>
at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:175)<br>
at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper.testConnection(JDBCSelectionPageHelper.java:998)<br>
at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper.access$11(JDBCSelectionPageHelper.java:960)<br>
at org.eclipse.birt.report.data.oda.jdbc.ui.profile.JDBCSelectionPageHelper$8.widgetSelected(JDBCSelectionPageHelper.java:883)<br>
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)<br>
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)<br>
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)<br>
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)<br>
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)<br>
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)<br>
at org.eclipse.jface.window.Window.open(Window.java:801)<br>
at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:117)<br>
at org.eclipse.birt.report.designer.data.ui.providers.EditableDataSourceNodeProvider.performEdit(EditableDataSourceNodeProvider.java:73)<br>
at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performRequest(DefaultNodeProvider.java:472)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at java.lang.reflect.Method.invoke(Method.java:601)<br>
at org.eclipse.birt.report.designer.ui.views.ElementAdapterInvocationHandler.invoke(ElementAdapterInvocationHandler.java:89)<br>
at $Proxy43.performRequest(Unknown Source)<br>
at org.eclipse.birt.report.designer.internal.ui.views.actions.EditAction.doAction(EditAction.java:85)<br>
at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:70)<br>
at org.eclipse.birt.report.designer.internal.ui.views.RenameListener.doubleClick(RenameListener.java:214)<br>
at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:845)<br>
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)<br>
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)<br>
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)<br>
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:843)<br>
at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1477)<br>
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1246)<br>
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:249)<br>
at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:246)<br>
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:307)<br>
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)<br>
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)<br>
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)<br>
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)<br>
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)<br>
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)<br>
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)<br>
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)<br>
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)<br>
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)<br>
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)<br>
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)<br>
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)<br>
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)<br>
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)<br>
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)<br>
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)<br>
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at java.lang.reflect.Method.invoke(Method.java:601)<br>
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)<br>
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)<br>
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)<br>
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)</span></span><br><br>
</p>
<p><u>To fix errors</u><br>
1. In the Cassandra VM, comment out the setting “listen_address: 127.0.0.1†in file /etc/cassandra/cassandra.yaml<br>
2. Remove “cstar†from the /etc/hosts (Note: cstar is the output of hostname on my VM)<br>
3. Restarted Cassandra<br>
a. systemctl stop cassandra.service<br>
b. systemctl start cassandra.service<br><br>
</p>
Grace Park
<p>Thank you, Clement.</p>
<p>I downloaded the Cassandra jdbc driver and dependency files and copied into eclipse plugin directory that you mentioned.</p>
<p>I could see jdbc driver for cassandra in BIRT Dataset configuration.</p>
<p>But, I still have a problem. "org.apache.thrift.transport.ttransportexception" when In jdbc driver connection URL, I wrote down "jdbc:cassandra//localhost:9160/tutorial" and connect test.</p>
<p>Do you have any idea for that?</p>
<p>Thanks again.</p>
<p> </p>
<p>Best Regards,</p>
<p>Grace</p>
Clement Wong
<p>Sorry, I haven't seen that error before. We can try to track it down, and I can attempt to replicate.</p>
<p> </p>
<p>What version of BIRT are you using?</p>
<p> </p>
<p>What version of Java does the BIRT Designer use?</p>
<p> </p>
<p>What version of Cassandra do you have? In my testing, I used the Cassandra 2.0.7 VM.</p>
<p> </p>
<p>Is Thrift listening on the default port 9160 in your environment?</p>
Grace Park
<p>Thank you so much.</p>
<p> </p>
<p>Eclipse IDE for Java and Report Developer (I think this is BIRT) v4.5.1</p>
<p>Java : jdk v1.8.0_40</p>
<p>Appach Cassandra : v2.2.4</p>
<p>Thrift listening (rcp_port) : 9160</p>
<p>Cassandra JDBC : v2.1</p>
<p> </p>
<p>Is the following (Jdbc Cassandra URL) a right expression?</p>
<p>jdbc:cassandra//localhost:9160/tutorial</p>
<p> </p>
<p>(tutorial is the namespace in Cassandra.)</p>
<p>Thank you so much.</p>
<p> </p>
<p>Best Regards,</p>
<p>Grace</p>
Grace Park
<p>Hi, Clement.</p>
<p> </p>
<p>I colud find the reason why the error occured.</p>
<p>In my cassandra.yaml, rcp_start was set as false.</p>
<p>I could succeed.</p>
<p>Thank you so much for your help.</p>
<p> </p>
<p>Best Regards,</p>
<p>Grace</p>