Recently, Talend Open Studio For Big Data was recommended for me, so I thought I’d try it out.
But as I’ve so often encountered with Java on Linux, the install was a long process, full of java error stacks, google searches, research, trial and error, debugging, forum posts, and so on. Sigh, not again!
Here’s what I did to get Talend Big Data to install and work. Big errors I encountered are detailed at the bottom.
Download Talend Big Data Software:
Download Talend Open Studio For Big Data from here:
http://www.talend.com/download/big-data
The 1010 meg file I downloaded was: TOS_BD-r118616-V5.5.1.zip.
Java:
Java is a prerequisite for Talend to work. Talend support says that Java JDK 1.7 is required, and that Talend is not certified with OpenJDK. Although, now that I’ve got it working, so far, my installation works with either version.
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java -version
java version “1.7.0_25”
OpenJDK Runtime Environment (rhel-2.3.10.4.0.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
/usr/java/jdk1.7.0_67/bin/java -version
java version “1.7.0_67”
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
Packages:
Ensure that these packages are installed:
eclipse
libhunspell/hunspell
and the correct version of xulrunner
Package – Eclipse:
Eclipse packages are used extensively with Talend Big Data. There were already many Eclipse packages on my server, and I didn’t have to install any more.
Package – hunspell:
My server had the package, hunspell, already installed.
rpm -qa | grep -i “hunspell” | sort
hunspell-1.2.8-16.el6.x86_64
hunspell-devel-1.2.8-16.el6.x86_64
hunspell-en-0.20090216-7.1.el6.noarch
And there were files: libhunspell*, on the filesystem.
find / -type f 2> /dev/null | grep -i “libhunsp”
/usr/lib64/libhunspell-1.2.so.0.0.0
ls -l /usr/lib64/libhunsp*
lrwxrwxrwx. 1 root root 24 Jun 3 2013 /usr/lib64/libhunspell-1.2.so -> libhunspell-1.2.so.0.0.0
lrwxrwxrwx. 1 root root 24 Jun 3 2013 /usr/lib64/libhunspell-1.2.so.0 -> libhunspell-1.2.so.0.0.0
-rwxr-xr-x. 1 root root 269448 Jul 23 2010 /usr/lib64/libhunspell-1.2.so.0.0.0
rpm -q -f /usr/lib64/libhunspell-1.2.so.0.0.0
hunspell-1.2.8-16.el6.x86_64
But using yum, there was no package, libhunspell, to install. And I couldn’t find any guidance on whether I needed libhunspell.
yum list available *libhunspel*
…
Error: No matching Packages to list
yum list available *libhunspel*
– lists 105 possible packages for different languages, such as, hunspell-fr.noarch.
In the end, the install worked with the package hunspell.
Package – xulrunner:
The package xulrunner, is one of those situations where you can’t have the latest version of the package. You have to have the version specific to Talend. Surprise!
At first I used yum to install xulrunner. yum downloaded 15 packages totalling 63 megabytes in size. Then it proceeded to update, install, cleanup and verify these same and other packages, and there were 62 rows of output from yum.
rpm -qa | grep -i “xulrunn”
xulrunner-17.0.10-1.0.1.el6_4.x86_64
However, this turned out to be the wrong version. When I used this version, I kept getting java error stacks, about 69 lines long.
ERROR: The internal web browser can not be access,the starting page won’t be displayed
java.lang.Exception: The internal web browser can not be access,the starting page won’t be displayed
at org.talend.rcp.intro.starting.StartingBrowser.createPartControl(StartingBrowser.java:57)
…
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
The Talend docs say that the XULRunner package versions that are supported are v1.8.x – 1.9.x and v3.6.x.
If you can login to Talend, see these docs for the instructions on where to download the correct version of xulrunner.
https://help.talend.com/display/KB/Exception+while+installing+Talend+Studio+on+a+Linux+system
I downloaded the file: xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2
Copy the file to:
/usr/local/lib
cd /usr/local/lib
bunzip2 xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2
tar -xvf xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar
.ini file:
Change the last line in Talend’s .ini file to reflect this path:
cd /talend/bigdata/TOS_BD-r118616-V5.5.1
cat ./TOS_BD-linux-gtk-x86_64.ini
-vmargs
-Xms512m
-Xmx1536m
-XX:MaxPermSize=512m
-Dfile.encoding=UTF-8
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/local/lib/xulrunner
Environment Variables:
Set the environment variables before starting Talend Big Data.
export JAVA_PATH=/usr/java/jdk1.7.0_67/bin/
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
cd /talend/bigdata/TOS_BD-r118616-V5.5.1
./TOS_BD-linux-gtk-x86_64 &
I changed the PATH variable specifically for Talend, because Oracle and other software on my server have been configured to use different versions of java.
Finally, it worked, and a screen with links came up. When I clicked on the link for tutorials, Firefox started and the link opened.
Useful Links:
Exception while installing Talend Studio on a Linux system
https://help.talend.com/display/KB/Exception+while+installing+Talend+Studio+on+a+Linux+system
Installing the XULRunner package (for Linux users)
https://help.talend.com/pages/viewpage.action?pageId=19422829
Does Talend Open Studio run on LINUX?
http://www.talendforge.org/forum/viewtopic.php?id=37726
Debian Wheezy problem – error stack
http://www.talendforge.org/forum/viewtopic.php?id=22630
Installation of XULRunner under Linux is very out dated
https://jira.talendforge.org/browse/DOCT-3403
Debian Wheezy problem
http://www.talendforge.org/forum/viewtopic.php?pid=145770
Errors:
When I first installed Talend Big Data, with the xulrunner package I installed via yum, there was some very strange behavior.
Eclipse Error:
When I ran a command for eclipse,
eclipse –help
Talend Big Data started!!! This was bizarre!
Now that I’ve installed the correct packages, eclipse starts in the normal manner:
eclipse –help
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/python/pydev/ui/filetypes/FileTypesPreferencesPage.getDottedValidSourceFiles
Java Error Stacks:
The other behavior and error that I got was:
export JAVA_PATH=/usr/java/jdk1.7.0_67/bin/
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
cd /talend/bigdata/TOS_BD-r118616-V5.5.1
./TOS_BD-linux-gtk-x86_64 &
Talend Big Data starts
I get the splash screen to select the data project
Choose: Data_Integration_Demos, Open
It proceeds.
Talend would open.
Then, a big error stack would occur in the window where Talend was launched from.
ERROR: The internal web browser can not be access,the starting page won’t be displayed
java.lang.Exception: The internal web browser can not be access,the starting page won’t be displayed
at org.talend.rcp.intro.starting.StartingBrowser.createPartControl(StartingBrowser.java:57)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1606)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:497)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:483)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:778)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:677)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:638)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2860)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2674)
at org.talend.rcp.intro.ApplicationWorkbenchWindowAdvisor.showStarting(ApplicationWorkbenchWindowAdvisor.java:331)
at org.talend.rcp.intro.ApplicationWorkbenchWindowAdvisor.postWindowOpen(ApplicationWorkbenchWindowAdvisor.java:244)
at org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1332)
at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:798)
at org.eclipse.ui.internal.Workbench$66.runWithException(Workbench.java:3660)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.talend.rcp.intro.Application.start(Application.java:159)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Talend started, but the GUI was missing the internal links.
<a href=”https://rodgersnotes.wordpress.com/wp-content/uploads/2014/09/screensho
Thank you ! Running SLES 12 and all I needed to install was the required version of Xulrunner for BD v6.1.