Endeca Journey begins 1


Let’s just say that I got courageous 🙂 or someone convinced me to look beyond Essbase and Planning.
Now don’t assume that you are going to see me talking all about Big Data and Data discovery, This is a post which I thought of sharing about my experience while playing with the installation and the issues I found while playing with it. (I could be because of my ignorance, I’m just two days old and there is a lot to learn)
You’ve to follow a certain sequence for installing Endeca Server, Studio and ETL server. This is well described in the installation guides, so I’m not going to cover that.
After following the instructions I installed Endeca Server, ETL Designer, ETL Server, and was happy about it. I started Endeca Server service and to add to the frustration it didn’t start. (Here it comes)

A quick note – None of these are installed as a Windows service, I had to write the scripts to install them as Windows services. If the installer can handle this I would take that any time of the day.

Endeca Server issue

Endeca Server log file just keep growing every minute (or seconds) and the below given message is repeatdly recorded.

<warning> <com.endeca.opmodel.control.ClusterCoordinator> <OES-000056> <OES-000056: ClusterCoordinator process ended. Automatically restarting>   
1994415 [Thread-36-SendThread(localhost:2181)] INFO   [ClientCnxn] Opening socket connection to server localhost/127.0.0.1:2181  
1994416 [Thread-36-SendThread(localhost:2181)] WARN   [ClientCnxn] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect  
java.net.ConnectException: Connection refused  
  at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)  
  at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)  
  at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1143)  
1995685 [Thread-36-SendThread(localhost:2181)] INFO   [ClientCnxn] Opening socket connection to server localhost/127.0.0.1:2181  
1995685 [Thread-36-SendThread(localhost:2181)] WARN   [ClientCnxn] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect  
java.net.ConnectException: Connection refused  
  at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)  
  at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)  
  at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1143)  
<warning> <com.endeca.opmodel.control.ClusterCoordinator> <OES-000056> <OES-000056: ClusterCoordinator process ended. Automatically restarting>   
1997172 [Thread-36-SendThread(localhost:2181)] INFO   [ClientCnxn] Opening socket connection to server localhost/127.0.0.1:2181  
1997172 [Thread-36-SendThread(localhost:2181)] WARN   [ClientCnxn] Session 0x0 for server null, unexpected error, closing socket connection

Mine is not a clustered  environment, and it was still trying to open the port associated with the cluster. After playing with EndecaServer.properties file I gave up and searched for the error in OTN and found that someone else had the exact same issue and the fix was to uninstall and re-install. I’m not a fan of fixing issues with uninstall and re-install, however I had a doubt that this could be something related to the install sequence.

I did uninstall and re-install Endeca server and guess what that solved the issue. 1 issue down.

Endeca Studio issue

Yeahhhhh, I got into Endeca studio and was customizing admin@oracle.com user (this is the default admin user that gets created). I did change the password and the email address. I continued with rest of the installation and guess what I forgot the email address I gave to admin user 🙁

For the life of me I cannot figure out what email address I gave. I do remember the password. If you end up in such a situation; here is what you can do.

Navigate to Endeca Studio domain (my domain location is given below)

E:OracleMiddlewareuser_projectsdomainsAzgardEndecaStudioeidstudiodatahsql

There is a file called lportal.script, open this file with a text editor and navigate to the section where it says INSERT INTO USER_VALUES

You can see the username, email address and other details here. 2nd issue down 🙂

Endeca ETL Server issue

It’s raining issues………. 🙁

After installing ETL server, the license file needs to be updated. In order to do this you must create a property file (cloverServer.properties)and add this to the startWeblogic.cmd. I did add this as per install guide.

Tried to start the server and got the below given error.

####<dec 8, 2014 8:00:16 PM CST> <error> <org.springframework.web.context.ContextLoader> <azgard> <adminserver> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <bbc212af5fc51658:-270cb377:14a2cc65f2e:-8000-0000000000000002> <1418090416239> <BEA-000000> <context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'quartzScheduler' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Could not resolve placeholder 'quartz.driverDelegateClass'
 at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:268)
 at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:553)
 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:527)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:362)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:46)
 at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
 at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
 at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1870)
 at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3155)
 at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)
 at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:487)

####<Dec 8, 2014 8:00:16 PM CST> <warning> <http> <azgard> <adminserver> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<wls Kernel>> <> <bbc212af5fc51658:-270cb377:14a2cc65f2e:-8000-0000000000000002> <1418090416239> <BEA-101162> <user defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'quartzScheduler' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Could not resolve placeholder 'quartz.driverDelegateClass'.
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'quartzScheduler' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Could not resolve placeholder 'quartz.driverDelegateClass'
 at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:268)
 at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:553)
 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:527)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:362)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:46)
 at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

Demi God Google has an answer to this.

It is not filed against Endeca. However if you see that error, it just means that something is wrong. Well at-least this is similar to Cannot send data, Receive data error in Essbase 😉

I went back and looked at the properties file and realized the mistake. I was using instead of /.
is considered as an escape character.

File corrected and started again. This time it complaining about DB connection!!!!

java.sql.SQLException: Cannot get working DB connection!

What!!! It never asked me to create one and it is complaining about a working DB connection. This one drove me crazy, however the answer was there in DataIntegratorServer.pdf

If you look under Examples of DB Connection Configuration, it says if you are using a properties file you should add the following entry. 

jdbc.driverClassName=org.apache.derby.jdbc.EmbeddedDriver
jdbc.url=jdbc:derby:databases/cloverDb;create=true
jdbc.username=clover
jdbc.password=clover
jdbc.dialect=org.hibernate.dialect.DerbyDialect

Well that should be there in the install guide.

Look under E:OracleMiddlewareuser_projectsdomainsAzgardEndecaETLServerdatabases and use the name of the Derby database (instead of cloverDb)created there. (This one is created by default)

Issues 3 and 4 down 🙂

Endeca IAS issue

If you are installing Integrator Acquisition System (IAS) then you’ll see that ias-setup.bat went away after sometime, I was under an impression that it configured the domain. However it didn’t. When I tried to start IAS using startWeblogic.cmd it complained about the usage of wrong garbage collection.

Unknown option or illegal argument: -XX:+UseParallelGC.
Please check for incorrect spelling or review documentation of startup options.

ias-setup.bat uses jrockit as the JDK and for jrockit you must use -Xgc:genpar instead of XX:+UseParallelOldGC

This can be changed in setIasEnv.cmd under E:OracleMiddlewareEndecaIAS3.1.0bin

Issue 5 down.

Success!!!! I got my first ETL graph created, Sample data loaded to a data domain.

Hope it helps someone

Advertisements

About Celvin Kattookaran

I’m an EPM Consultant, my primary focus is on Hyperion Planning and Essbase.

Some of you from Hyperion Support team might recognize me or have seen my support articles, I was with the WebAnalysis Support Team. I’m an Independent Consultant with “Intekgrate Corporation” based out of Aurora office.

I’m from God’s Own Country (Kerala, India), lived in all southern states of India, Istanbul and Johannesburg (and of course United States). I’m core gamer :) and an avid reader.

I was awarded Oracle ACE Director for my contributions towards EPM community.


Leave a Reply

One thought on “Endeca Journey begins