1. 背景
搭建完成skywalking7.0,其他功能正常。
尝试创建profile task任务,响应数据为空,创建失败。
检查skywalking日志,发现是es写入报错导致的失败。 vim skywalking-oap-server.log
2. 报错分析:
以下是关键信息:
Exception while fetching data (/createTask) :
Elasticsearch exception [
type=illegal_argument_exception,
reason=no write index is defined for alias [skywalking_profile_task]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index
]
org.elasticsearch.ElasticsearchStatusException:
Elasticsearch exception [
type=illegal_argument_exception,
reason=no write index is defined for alias [skywalking_profile_task]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index
]
根据报错得知有两种可能原因:
- is_write_index=false,索引禁用写入导致写入失败
- 别名指向多个索引,没有一个可以写入
检查es数据发现是第二种。
3. 解决方式
清除所有日志
curl -XDELETE http://localhost:9200/skywalking*
重启skywalking
./bin/startup.sh
4. 详细日志
2020-06-16 20:14:09,050 - graphql.execution.SimpleDataFetcherExceptionHandler - 23 [qtp888378046-47] WARN [] - Exception while fetching data (/createTask) : Elasticsearch exception [type=illegal_argument_exception, reason=no write index is defined for alias [skywalking_profile_task]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index]
org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=illegal_argument_exception, reason=no write index is defined for alias [skywalking_profile_task]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index]
at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:177) ~[elasticsearch-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1706) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1683) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1446) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1403) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1373) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:821) ~[elasticsearch-rest-high-level-client-7.0.0.jar:7.0.0]
at org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.client.ElasticSearch7Client.forceInsert(ElasticSearch7Client.java:207) ~[storage-elasticsearch7-plugin-7.0.0.jar:7.0.0]
at org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.NoneStreamEsDAO.insert(NoneStreamEsDAO.java:45) ~[storage-elasticsearch-plugin-7.0.0.jar:7.0.0]
at org.apache.skywalking.oap.server.core.analysis.worker.NoneStreamPersistentWorker.in(NoneStreamPersistentWorker.java:49) ~[server-core-7.0.0.jar:7.0.0]
at org.apache.skywalking.oap.server.core.analysis.worker.NoneStreamingProcessor.in(NoneStreamingProcessor.java:56) ~[server-core-7.0.0.jar:7.0.0]
at org.apache.skywalking.oap.server.core.profile.ProfileTaskMutationService.createTask(ProfileTaskMutationService.java:100) ~[server-core-7.0.0.jar:7.0.0