FYI, I have changes (and will PR them) that enable PIO to work with ES 6 and are backwards-compatible with earlier ES versions. The downside, and the reason this should go in a non-patch release is that ES 6 necessitates changes to the metadata structure, and this breaks existing PIO apps. This is because ES 6 no longer allows creation of indices with multiple types (see https://www.elastic.co/blog/index-type-parent-child-join-now-future-in-elasticsearch )
Alex On Thu, Sep 20, 2018 at 10:49 AM Praveen Bhasker <neevarp.f...@gmail.com> wrote: > Hi Donald, > > That worked. Thanks! > > - Praveen > > On Thu, Sep 20, 2018 at 11:39 AM Donald Szeto <don...@apache.org> wrote: > >> Hi Praveen, >> >> It looks like you are using Elasticsearch 6. I think there are some >> breaking changes with ES6 API compared to ES5, and PredictionIO does not >> officially support ES6 yet. >> >> Regards, >> Donald >> >> On Thu, Sep 20, 2018 at 7:06 AM Praveen Bhasker <neevarp.f...@gmail.com> >> wrote: >> >>> When ever I do pio status I get the following error >>> >>> [INFO] [Management$] Inspecting PredictionIO... >>> [INFO] [Management$] PredictionIO 0.13.0 is installed at >>> /Users/prvns/tools/PredictionIO-0.13.0 >>> [INFO] [Management$] Inspecting Apache Spark... >>> [INFO] [Management$] Apache Spark is installed at >>> /Users/prvns/tools/PredictionIO-0.13.0/vendors/spark-2.3.1-bin-hadoop2.7 >>> [INFO] [Management$] Apache Spark 2.3.1 detected (meets minimum requirement >>> of 1.6.3) >>> [INFO] [Management$] Inspecting storage backend connections... >>> [INFO] [Storage$] Verifying Meta Data Backend (Source: ELASTICSEARCH)... >>> [ERROR] [Management$] Unable to connect to all storage backends >>> successfully. >>> The following shows the error message from the storage backend. >>> >>> PUT http://localhost:9200/pio_meta/_mapping/engine_instances: HTTP/1.1 400 >>> Bad Request >>> {"error":{"root_cause":[{"type":"parse_exception","reason":"Failed to parse >>> content to map"}],"type":"parse_exception","reason":"Failed to parse >>> content to >>> map","caused_by":{"type":"json_parse_exception","reason":"Duplicate field >>> 'status'\n at [Source: >>> org.elasticsearch.common.compress.DeflateCompressor$1@6b496f00; line: 1, >>> column: 462]"}},"status":400} >>> (org.apache.predictionio.shaded.org.elasticsearch.client.ResponseException) >>> >>> Dumping configuration of initialized storage backend sources. >>> Please make sure they are correct. >>> >>> Source Name: ELASTICSEARCH; Type: elasticsearch; Configuration: HOME -> >>> /usr/local/Cellar/elasticsearch/6.2.4/, HOSTS -> localhost, PORTS -> 9200, >>> SCHEMES -> http, TYPE -> elasticsearch >>> >>> My pio-env.sh looks like >>> >>> SPARK_HOME=$PIO_HOME/vendors/spark-2.3.1-bin-hadoop2.7 >>> POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar >>> MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar >>> PIO_FS_BASEDIR=$HOME/.pio_store >>> PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines >>> PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp >>> PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta >>> PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH >>> PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event >>> PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=ELASTICSEARCH >>> PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model >>> PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=ELASTICSEARCH >>> PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch >>> PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost >>> PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9200 >>> PIO_STORAGE_SOURCES_ELASTICSEARCH_SCHEMES=http >>> PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=/usr/local/Cellar/elasticsearch/6.2.4/ >>> >>> Why is this not working? >>> >>