Shutdown Denodo
$DENODO_HOME/bin/vqlserver_shutdown.sh
sleep 15
ps -ef | grep denodo | grep -v grep
Obtain the Denodo OData Service.zip
Download the Denodo OData Service.zip
file and unzip it to /tmp
such that you have:
/tmp/denodo-odata2-service-5.5-20160129
'Install' the OData Service
# copy the war file to the webapps folder
cp /tmp/denodo-odata2-service-5.5-20160129/denodo-odata2-service-5.5.war $DENODO_HOME/resources/apache-tomcat/webapps/
# Copy the odata xml to the embedded tomcat container
cp /tmp/denodo-odata2-service-5.5-20160129/scripts/denodo-odata2-service-5.5.xml $DENODO_HOME/resources/apache-tomcat/conf/DenodoPlatform-5.5/localhost/
# Copy the startup/shutdown scripts to the bin folder
cp /tmp/denodo-odata2-service-5.5-20160129/scripts/*.sh $DENODO_HOME/bin
chmod u+rwx $DENODO_HOME/bin/odata*.sh
# change the DENODO_HOME directory in the $DENODO_HOME/bin/odata*.sh scripts
vi $DENODO_HOME/bin/odata_service_startup.sh # look for DENODO_HOME and update it
vi $DENODO_HOME/bin/odata_service_shutdown.sh # look for DENODO_HOME and update it
Make appropriate configuration changes
# Add a reference to the Denodo JAR in the catalina.properties file
vi $DENODO_HOME/resources/apache-tomcat/conf/catalina.properties
# Look for shared.loader
# Add this to the end of the shared.loader line:
${catalina.base}/../../lib/vdp-jdbcdriver-core/denodo-vdp-jdbcdriver.jar
# update the server.xml.template file to include a JNDI resource by putting the following in the <GlobalNamingResources> section
vi $DENODO_HOME/resources/apache-tomcat/conf/server.xml.template
<Resource name="jdbc/VDPdatabase"
auth="Container"
type="javax.sql.DataSource"
username="admin" password="***********"
url="jdbc:vdb://localhost:9999/admin"
driverClassName="com.denodo.vdp.jdbc.Driver"
initialSize="5" maxWait="5000"
maxActive="120" maxIdle="5"
validationQuery="select * from dual()"
poolPreparedStatements="true"/>
# Change the permissions on server.xml.template so other people can't read your denodo admin password:
chmod go-rwx $DENODO_HOME/resources/apache-tomcat/conf/server.xml.template
chmod go-rwx $DENODO_HOME/resources/apache-tomcat/conf/server.xml
# update the context.xml to point to the JNDI resource in and also add the properties to the <Context> section (add all of the below to the <Context> section)
vi $DENODO_HOME/resources/apache-tomcat/conf/context.xml
<ResourceLink name="jdbc/VDPdatabase"
global="jdbc/VDPdatabase"
type="javax.sql.DataSource"/>
<Environment type="java.lang.String" name="odataserver.address" value="/denodo-odata.svc"/>
<Environment type="java.lang.Integer" name="server.pageSize" value="1000"/>
<Environment type="java.lang.Boolean" name="enable.adminUser" value="true"/>
Start it up and make sure it works
$DENODO_HOME/bin/vqlserver_startup.sh
# wait for Denodo and Tomcat to start
# deploy/start the odata webapp
$DENODO_HOME/bin/odata_service_startup.sh
# Go to
http://hostname:9090/denodo-odata2-service-5.5/denodo-odata.svc/databasename
(but change "databasename" to your virtual database name)
Additional Considerations
Since you are now using the embedded Tomcat web container and the odata service is running in it, every time you stop/start Denodo you will need to also stop/start the OData service
Stopping Denodo
- First, stop the OData Service via
$DENODO_HOME/bin/odata_service_shutdown.sh
- Then stop Denodo via
$DENODO_HOME/bin/vqlserver_shutdown.sh
Starting Denodo
- First, Start Denodo via
$DENODO_HOME/bin/vqlserver_startup.sh
- Then, start the OData service via
$DENODO_HOME/bin/odata_service_startup.sh
Admin User Access
If you don't want the admin user to have access via odata, then change the setting in the $DENODO_HOME/resources/apache-tomcat/conf/context.xml
file and restart.