首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Denodo5.5中的嵌入式tomcat容器中安装Denodo OData服务?

如何在Denodo5.5中的嵌入式tomcat容器中安装Denodo OData服务?
EN

Stack Overflow用户
提问于 2016-03-02 17:19:06
回答 1查看 428关注 0票数 1

我想将定制的OData服务安装到Denodo5.5中的嵌入式Tomcat容器中。

我发现Denodo提供的指令有点让人困惑,因此我将发布到堆栈溢出,并包括答案,希望其他人发现它有用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-02 17:19:06

停工Denodo

代码语言:javascript
复制
$DENODO_HOME/bin/vqlserver_shutdown.sh
sleep 15
ps -ef | grep denodo | grep -v grep

获得Denodo OData Service.zip

下载Denodo OData Service.zip文件并将其解压缩到/tmp,以便您拥有:

代码语言:javascript
复制
/tmp/denodo-odata2-service-5.5-20160129

“安装”OData服务

代码语言:javascript
复制
# 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

进行适当的配置更改

代码语言:javascript
复制
# 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"/>

启动它并确保它正常工作

代码语言:javascript
复制
$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)

其他考虑因素

由于您现在使用的是嵌入式Tomcat容器,并且odata服务在其中运行,所以每次停止/启动Denodo时,都需要停止/启动OData服务。

阻止德诺多

  1. 首先,通过OData停止$DENODO_HOME/bin/odata_service_shutdown.sh服务
  2. 然后通过$DENODO_HOME/bin/vqlserver_shutdown.sh阻止德诺多

起动德诺多

  1. 首先,通过$DENODO_HOME/bin/vqlserver_startup.sh启动Denodo
  2. 然后,通过OData启动$DENODO_HOME/bin/odata_service_startup.sh服务。

管理员用户访问

如果不希望管理员用户通过odata进行访问,则更改$DENODO_HOME/resources/apache-tomcat/conf/context.xml文件中的设置并重新启动。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35753965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档