有大佬使用过 go 连接 aws 上的 elasticsearch 吗 ? 一直过不了验证这关!!
提示我:
no Elasticsearch node available
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x636e96]
1
kkfnui 2018-03-21 13:27:39 +08:00 via Android
看起来是对象没有初始化
|
2
zbl430 OP |
3
zbl430 OP 求帮忙啊,各位大神
|
4
popbones 2018-03-21 15:29:55 +08:00 via iPhone
es, err := elastic.NewClient(
elastic.SetSniff(false), elastic.SetURL(i.URL), ) AWS ES 默认不能 sniff |
5
popbones 2018-03-21 15:30:25 +08:00 via iPhone
没记错的话当初踩过这个坑
|
6
zbl430 OP @popbones 我就是这样子的,还是报错
``` client, err := elastic.NewClient( elastic.SetURL("https://xxxxxxxxxxxx.es.amazonaws.com.cn"), elastic.SetScheme("https"), elastic.SetHealthcheckInterval(10*time.Second), elastic.SetHttpClient( httpClient), elastic.SetSniff(false), ) ``` |
7
popbones 2018-03-21 15:39:28 +08:00 via iPhone
加个端口试试?我记得 AWS ES 默认在 80
|
9
popbones 2018-03-21 15:48:36 +08:00 via iPhone
链接里第一个例子用的是 aws client,我们当时没这个。要不你看看相关的 role,credential 和 provision 都配对了没有
|
11
popbones 2018-03-21 15:58:29 +08:00 via iPhone
那我就不清楚了,确认你用的 credential 能访问 ES ?
|
13
zbl430 OP 大佬来帮忙啊
|
14
zbl430 OP 结束贴,已解决!具体方法需要改第三方包(go-aws-auth),我会向作者提议,就不在这里说明了
|