笔者在使用docker 部署skywalking时,一直报错:no provider found for module storage
详细情况如下:
条件:
- skywalking 9.1
- elasticsearch 7
执行命令:
docker run --name skywalking-oap --restart always -d \
-p 12800:12800 \
-p 11800:11800 \
--link es7:es7 \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
skywalking-oap-server
报错:
no provider found for module storage
解决办法:
将
docker run --name skywalking-oap --restart always -d \
-p 12800:12800 \
-p 11800:11800 \
--link es7:es7 \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
skywalking-oap-server
改为
docker run --name skywalking-oap --restart always -d \
-p 12800:12800 \
-p 11800:11800 \
--link es7:es7 \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
skywalking-oap-server
即将SW_STORAGE=elasticsearch7
改为SW_STORAGE=elasticsearch
原因分析:
- skywalking 8.8之前不能自动感知存储源是什么,需要手动指定是es6还是7;
- 8.8之后可以自动感知存储源的版本,不需要手动指定es6还是7,直接写es即可;
参考:
- http://blog.caiqz.cn/articles/2022/01/17/1642392035431.html
- https://www.cnblogs.com/fsckzy/p/15796933.html