Ошибка подключения ML и DAS wso2 с помощью кассандры

Я пытаюсь подключить WSO2 ML к WSO2 DAS, используя источник данных cassandra. В ML_HOME / repository / conf / datasources / analytics-datasources.xml и DAS_HOME / repository / conf / datasources / analytics-datasources.xml у меня такая же конфигурация для использования cassandra.

<datasource>
        <name>WSO2_ANALYTICS_DS_CASSANDRA</name>
        <description>The Cassandra datasource used for analytics</description>
        <definition type="CASSANDRA">
            <configuration>
                <contactPoints>192.168.1.111</contactPoints>
                <port>9042</port>
                <!--<username>admin</username>
                <password>admin</password>
                <clusterName>cluster1</clusterName> -->
                <compression>NONE</compression>
                <poolingOptions>
                    <coreConnectionsPerHost hostDistance="LOCAL">8</coreConnectionsPerHost>
                    <maxSimultaneousRequestsPerHostThreshold hostDistance="LOCAL">1024</maxSimultaneousRequestsPerHostThreshold>
                </poolingOptions>
                <queryOptions>
                    <fetchSize>5000</fetchSize>
                    <consistencyLevel>ONE</consistencyLevel>
                    <serialConsistencyLevel>SERIAL</serialConsistencyLevel>
                </queryOptions>
                <socketOptions>
                    <keepAlive>false</keepAlive>
                    <sendBufferSize>150000</sendBufferSize>
                    <connectTimeoutMillis>12000</connectTimeoutMillis>
                    <readTimeoutMillis>12000</readTimeoutMillis>
                </socketOptions>
            </configuration>
        </definition>
    </datasource>

Когда я пытаюсь создать набор данных в ML с помощью DAS, я получаю сообщение об ошибке при попытке перечислить таблицы DAS, особенно в ConfigurationApiV11.java, метод getDASTables при вызове analyticsDataApi.listTables ()

Это моя ошибка в логах:

TID: [-1234] [] [2016-09-03 22:35:59,762]  WARN {org.apache.cxf.phase.PhaseInterceptorChain} -  Application {http://api.rest.ml.carbon.wso2.org/}Lo$
org.apache.cxf.interceptor.Fault: Error while connecting to the remote service. null
    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:167)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:94)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:154)
    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:113)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

person maikelm    schedule 05.09.2016    source источник


Ответы (1)


Похоже, WSO2ML пытается удаленно подключиться к аналитической службе. По умолчанию выполняется автоматический выбор режима. Если вы используете один узел машинного обучения и для параметра / AnalyticsDataConfiguration / Mode установлено значение AUTO в репозитории / conf / analytics / analytics-data-config.xml. Затем измените его на ЛОКАЛЬНЫЙ. Если сервер ML запускается до того, как кластер Cassandra становится доступным, это может заставить сервер ML использовать УДАЛЕННЫЙ режим.

person yeiniel    schedule 05.09.2016