Error: "api.services.elasticsearch" is not allowed and other errors

Hi All,

I got errors as follows, how to fix? My schema is old, and needs update at least, but how do I do that ?

I'm using pelias docker images.

Pelias PIP errors:

pelias_pip-service    | /code/pelias/pip-service/node_modules/pelias-wof-admin-lookup/src/localPipResolver.js:19
pelias_pip-service    |       throw err;
pelias_pip-service    |       ^
pelias_pip-service    | unable to locate sqlite folder
pelias_pip-service    | (Use `node --trace-uncaught ...` to show where the exception was thrown)
pelias_pip-service    | 
pelias_pip-service    | /code/pelias/pip-service/node_modules/pelias-wof-admin-lookup/src/localPipResolver.js:19
pelias_pip-service    |       throw err;
pelias_pip-service    |       ^

Interpolation errors:

pelias_interpolation  | TypeError: Cannot open database because the directory does not exist
pelias_interpolation  |     at new Database (/code/pelias/interpolation/node_modules/better-sqlite3/lib/database.js:59:9)
pelias_interpolation  |     at setup (/code/pelias/interpolation/api/search.js:12:14)
pelias_interpolation  |     at Object.<anonymous> (/code/pelias/interpolation/cmd/server.js:32:11)
pelias_interpolation  |     at Module._compile (node:internal/modules/cjs/loader:1198:14)
pelias_interpolation  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
pelias_interpolation  |     at Module.load (node:internal/modules/cjs/loader:1076:32)
pelias_interpolation  |     at Function.Module._load (node:internal/modules/cjs/loader:911:12)
pelias_interpolation  |     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
pelias_interpolation  |     at node:internal/main/run_main_module:22:47

API log:

pelias_api  | Error: "api.services.elasticsearch" is not allowed
pelias_api  |     at getValidatedSchema (/code/pelias/api/node_modules/pelias-config/index.js:37:11)
pelias_api  |     at Object.generate (/code/pelias/api/node_modules/pelias-config/index.js:27:12)
pelias_api  |     at TypeMapping.loadFromConfig (/code/pelias/api/helper/TypeMapping.js:152:30)
pelias_api  |     at Object.<anonymous> (/code/pelias/api/helper/type_mapping.js:8:4)
pelias_api  |     at Module._compile (node:internal/modules/cjs/loader:1198:14)
pelias_api  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
pelias_api  |     at Module.load (node:internal/modules/cjs/loader:1076:32)
pelias_api  |     at Function.Module._load (node:internal/modules/cjs/loader:911:12)
pelias_api  |     at Module.require (node:internal/modules/cjs/loader:1100:19)
pelias_api  |     at require (node:internal/modules/cjs/helpers:108:18)
pelias_api  | /code/pelias/api/node_modules/pelias-config/index.js:37
pelias_api  |     throw new Error(validationResult.error.details[0].message);
pelias_api  |     ^

My pelias config:

{
  "esclient": {
    "apiVersion": "7.x",
    "keepAlive": true,
    "requestTimeout": "120000",
    "hosts": [{
      "env": "development",
      "protocol": "http",
      "host": "localhost",
      "port": 9200
    }],
    "log": [{
      "type": "stdio",
      "json": false,
      "level": [ "error", "warning", "info", "debug" ]
    }]
  },
  "elasticsearch": {
    "settings": {
      "index": {
        "number_of_replicas": "0",
        "number_of_shards": "5",
        "refresh_interval": "1m"
      }
    }
  },
  "interpolation": {
    "client": {
      "adapter": "null"
    }
  },
  "dbclient": {
    "statFrequency": 10000,
    "batchSize": 500
  },
  "api": {
    "services": {
      "placeholder": {
        "url": "http://placeholder:4100"
      },
      "libpostal": {
        "url": "http://libpostal:4400"
      },
      "pip": {
        "url": "http://pip-service:4200"
      },
      "elasticsearch": {
        "url": "http://localhost:9200"
      },
      "interpolation": {
        "url": "http://interpolation:4300"
      }
    },
    "accessLog": "common",
    "host": "http://pelias.mapzen.com/",
    "indexName": "pelias",
    "version": "1.0",
    "targets": {
      "auto_discover": true,
      "canonical_sources": ["whosonfirst", "openstreetmap", "openaddresses", "geonames"],
      "layers_by_source": {
        "openstreetmap": [ "address", "venue", "street" ],
        "openaddresses": [ "address" ],
        "geonames": [
          "country", "macroregion", "region", "county", "localadmin", "locality", "borough",
          "neighbourhood", "venue"
        ],
        "whosonfirst": [
          "continent", "empire", "country", "dependency", "macroregion", "region", "locality",
          "localadmin", "macrocounty", "county", "macrohood", "borough", "neighbourhood",
          "microhood", "disputed", "venue", "postalcode", "ocean", "marinearea"
        ]
      },
      "source_aliases": {
        "osm": [ "openstreetmap" ],
        "oa":  [ "openaddresses" ],
        "gn":  [ "geonames" ],
        "wof": [ "whosonfirst" ]
      },
      "layer_aliases": {
        "coarse": [
          "continent", "empire", "country", "dependency", "macroregion", "region", "locality",
          "localadmin", "macrocounty", "county", "macrohood", "borough", "neighbourhood",
          "microhood", "disputed", "postalcode", "ocean", "marinearea"
        ]
      }
    }
  },
  "schema": {
    "indexName": "pelias"
  },
  "logger": {
    "level": "info",
    "timestamp": true,
    "colorize": true
  },
  "acceptance-tests": {
    "endpoints": {
      "local": "http://localhost:3100/v1/"
    }
  },
  "imports": {
    "adminLookup": {
      "enabled": true,
      "maxConcurrentRequests": 100,
      "usePostalCities": true
    },
    "blacklist": {
      "files": []
    },
    "csv": {
    },
    "geonames": {
      "datapath": "/XXXXXXXXXXX/docker-data/geonames",
      "countryCode": "FI"
    },
    "openstreetmap": {
      "datapath": "/XXXXXXXXXXX/docker-data/openstreetmap",
      "leveldbpath": "/XXXXXXXXXXX/docker-data",
      "import": [{
        "filename": "finland-latest.osm.pbf"
      }]
    },
    "openaddresses": {
      "datapath": "/XXXXXXXXXXX/docker-data/openaddresses",
      "token": "oa.bbbcf5787bb4251445883cc417f811ba02b9fd64809fd56c5a972171fbcfb2f6",
      "files": [ "fi/countrywide-fi.csv", "fi/countrywide-sv.csv" ]
    },
    "polyline": {
      "datapath": "/XXXXXXXXXXX/docker-data/polyline",
      "files": []
    },
    "whosonfirst": {
      "datapath": "/XXXXXXXXXXX/docker-data/whosonfirst",
      "importPostalcodes": true
    }
  }
}

elasticsearch.yml:

network.host: 0.0.0.0
bootstrap.memory_lock: true
indices.breaker.fielddata.limit: 85%
indices.fielddata.cache.size: 75%

# My additions:
xpack.ml.enabled: false

Looking at the error the problem is that your SQLite instance cannot be located. Might be worth asking about it on the Pelias forums/repository.

OK, will do :slight_smile: Thanks!

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.