2.X/8. Breaking Changes

v2.0-14. Setting changes

drscg 2017. 10. 13. 23:30

Command line flagsedit

Command line flags using single dash notation must be now specified as the first arguments. For example if previously using:

단일 dash(-)를 사용하는 command line flag는 이제 첫 번째 인수로 지정해야 한다. 예를 들어, 이전 버전에서 아래와 같이 사용했다면,

./elasticsearch --node.name=test_node -Des.path.conf=/opt/elasticsearch/conf/test_node

This will now need to be changed to:

이제는 다음과 같이 변경해야 한다.

./elasticsearch -Des.path.conf=/opt/elasticsearch/conf/test_node --node.name=test_node

for the flag to take effect.

flag가 적용되려면

Scripting settingsedit

The script.disable_dynamic node setting has been replaced by fine-grained script settings described in the scripting docs. The following setting previously used to enable dynamic or inline scripts:

scripts.disable_dynamic node 설정은, scripting docs에서 언급한 것처럼, find-grained script 설정으로 변경되었다. 이전 버전에서, 다음 설정은 dynamic 또는 inline script를 활성화하는데 사용되었다.

script.disable_dynamic: false

It should be replaced with the following two settings in elasticsearch.yml that achieve the same result:

동일한 결과를 얻기 위해, elasticsearch.yml 에서 다음의 2가지 설정으로 대체되었다.

script.inline: true
script.indexed: true

Units required for time and byte-sized settingsedit

Any settings which accept time or byte values must now be specified with units. For instance, it is too easy to set the refresh_interval to 1 millisecond instead of 1 second:

시간(time)이나 byte 값을 설정하는 모든 설정은 단위(units)와 함께 지정해야 한다. 예를 들어, refresh_interval 을 1 second가 아닌 1 millisecond 로 설정하기 쉽다.

PUT _settings
{
  "index.refresh_interval": 1
}

In 2.0, the above request will throw an exception. Instead the refresh interval should be set to "1s"for one second.

2.0에서 위와 같은 request는 exception을 발생시킨다. 대신 refresh interval을 1초로 하기 위해서는 "1s"로 설정해야 한다.

Merge and merge throttling settingsedit

The tiered merge policy is now the only supported merge policy. These settings have been removed:

계층(tiered) merge policy는 현재 지원되는 유일한 merge policy이다. 아래 설정은 제거되었다.

  • index.merge.policy.type
  • index.merge.policy.min_merge_size
  • index.merge.policy.max_merge_size
  • index.merge.policy.merge_factor
  • index.merge.policy.max_merge_docs
  • index.merge.policy.calibrate_size_by_deletes
  • index.merge.policy.min_merge_docs
  • index.merge.policy.max_merge_docs

Merge throttling now uses a feedback loop to auto-throttle. These settings have been removed:

merge throttling은 auto-throttle에 feedback loop를 사용한다. 아래 설정은 제거되었다.

  • indices.store.throttle.type
  • indices.store.throttle.max_bytes_per_sec
  • index.store.throttle.type
  • index.store.throttle.max_bytes_per_sec

Shadow replica settingsedit

The node.enable_custom_paths setting has been removed and replaced by the path.shared_datasetting to allow shadow replicas with custom paths to work with the security manager. For example, if your previous configuration had:

node.enable_custom_paths 설정은 제거되고, security manager와 함께 동작하여, 사용자 정의 path로 shadow replica를 허용할 수 있는 path.shared_data 설정으로 대체되었다. 다음과 같은 이전 설정을 가지고 있었다면,

node.enable_custom_paths: true

And you created an index using shadow replicas with index.data_path set to /opt/data/my_indexwith the following:

그리고, 다음처럼 index.data_path 가 /opt/data/my_index 로 설정된 shadow replica를 사용하는 index를 생성했다면

PUT /my_index
{
  "index": {
    "number_of_shards": 1,
    "number_of_replicas": 4,
    "data_path": "/opt/data/my_index",
    "shadow_replicas": true
  }
}

For 2.0, you will need to set path.shared_data to a parent directory of the index’s data_path, so:

2.0에서는, path.shared_data 를 아래처럼, index data_path의 부모 directory로 설정해야 한다.

path.shared_data: /opt/data

Resource watcher settings renamededit

The setting names for configuring the resource watcher have been renamed to prevent clashes with the watcher plugin

watcher plugin으로 인한 clash를 막기 위해, resource watcher 설정에 대한 설정 이름이 아래처럼 변경되었다.

  • watcher.enabled is now resource.reload.enabled
  • watcher.interval is now resource.reload.interval
  • watcher.interval.low is now resource.reload.interval.low
  • watcher.interval.medium is now resource.reload.interval.medium
  • watcher.interval.high is now resource.reload.interval.high

index.gateway setting renamededit

  • index.gateway.local.sync is now index.translog.sync_interval

Hunspell dictionary configurationedit

The parameter indices.analysis.hunspell.dictionary.location has been removed, and <path.conf>/hunspell is always used.

indices.analysis.hunspell.dictionary.location parameter는 제거되었고, <path.conf>/hunspell 은 여전히 사용된다.

CORS allowed originsedit

The CORS allowed origins setting, http.cors.allow-origin, no longer has a default value. Previously, the default value was *, which would allow CORS requests from any origin and is considered insecure. The http.cors.allow-origin setting should be specified with only the origins that should be allowed, like so:

origin 설정(http.cors.allow-origin)을 허용하는 CORS(Cross-Origin Resource Sharing)는 더 이상 기본 값을 가지지 않는다. 이전 버전에서 기본값은 * 이었다. 이것은 모든 origin에 대해 CORS request를 허용하고, 안전하지 않은 것으로 간주된다. http.cors.allow-origin 설정은, 다음과 같이, 허용되어야 하는 origin만을 지정할 수 있다.

http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/

JSONP supportedit

JSONP callback support has now been removed. CORS should be used to access Elasticsearch over AJAX instead:

JSONP callback 지원은 이제 제거되었다. AJAX를 통해 Elasticsearch를 access하기 위해서는 CORS를 사용해야 한다.

http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/

In memory indicesedit

The memory / ram store (index.store.type) option was removed in Elasticsearch. In-memory indices are no longer supported.

Elasticsearch에서 index.store.type 의 memory / ram option은 제거되었다. in-memory indices는 더 이상 지원되지 않는다.

Log messages truncatededit

Log messages are now truncated at 10,000 characters. This can be changed in the logging.ymlconfiguration file with the file.layout.conversionPattern setting.

log message는 10,000 character에서 잘린다. 이것은 logging.yml 설정 파일의file.layout.conversionPattern 설정에서 변경할 수 있다.

Custom config fileedit

It is no longer possible to specify a custom config file with the CONF_FILE environment variable, or the -Des.config-Des.default.config, or -Delasticsearch.config parameters.

CONF_FILE 환경변수 또는 –Des.config-Des.default.config-Delasticsearch.config parameter를 사용하여, 사용자 정의 config file을 지정하는 것은 더 이상 불가능하다.

Instead, the config file must be named elasticsearch.yml and must be located in the default config/ directory, unless a custom config directory is specified.

대신, config file은 반드시 elasticsearch.yml 이라 이름 붙여야 하고, 사용자 정의 config directory 지정되지 않았다면, 기본 /config directory에 위치해야 한다.

The location of a custom config directory may be specified as follows:

사용자 정의 config directory는 다음과 같이 지정할 수 있다.

./bin/elasticsearch --path.conf=/path/to/conf/dir
./bin/plugin -Des.path.conf=/path/to/conf/dir install analysis-icu

When using the RPM or debian packages, the plugin script and the init/service scripts will consult the CONF_DIR environment variable to check for a custom config location. The value of the CONF_DIRvariable can be set in the environment config file which is located either in/etc/default/elasticsearch or /etc/sysconfig/elasticsearch.

RPM이나 debian package를 이용하는 경우, plugin script와 init/service script는 사용자 정의 config 위치를 확인하기 위하여, CONF_DIR 환경변수를 참조한다. CONF_DIR 변수의 값은 /etc/default/elasticsearch또는 /etc/sysconfig/elasticsearch 에 있는 environment config file에 설정한다.

Custom analysis file pathsedit

It is no longer possible to set custom file path outside CONF_DIR for *_path settings in char or tokenfilters. You must specify either relative path to CONF_DIR location or absolute path inside CONF_DIRlocation.

char 나 token filters의 *_path 설정을 위해, CONF_DIR 외부에 사용자 정의 파일 경로를 설정하는 것은 더 이상 불가능하다.

ES_CLASSPATH removededit

The ES_CLASSPATH environment variable is no longer used to set the class path. External libraries should preferably be loaded using the plugin mechanism or, if you really must, be copied to the lib/ directory.

ES_CLASSPATH 환경변수는 더 이상 class path를 지정하는데 사용되지 않는다. 외부 library는 plugin mechanism이나 /lib directory에 복사(꼭 해야 한다면 …)함으로써 load된다.


'2.X > 8. Breaking Changes' 카테고리의 다른 글

v2.0-11. Index API changes  (0) 2017.10.13
v2.0-12. Snapshot and Restore changes  (0) 2017.10.13
v2.0-13. Plugin and packaging changes  (0) 2017.10.13
v2.0-15. Stats, info, and cat changes  (0) 2017.10.13
v2.0-16. Java API changes  (0) 2017.10.12