zbl430
V2EX  ›  程序员

golang 使用 aws 的 elasticsearch 疑问?

By zbl430 at 2018 年 3 月 21 日 · 2954 次点击

有大佬使用过 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]


14 条回复  •  2018-03-22 19:18:18 +08:00
kkfnui
   1
kkfnui  
   2018 年 3 月 21 日 via Android
看起来是对象没有初始化
zbl430
   2
zbl430  
OP
   2018 年 3 月 21 日
zbl430
   3
zbl430  
OP
   2018 年 3 月 21 日
求帮忙啊,各位大神
popbones
   4
popbones  
   2018 年 3 月 21 日 via iPhone
es, err := elastic.NewClient(
elastic.SetSniff(false),
elastic.SetURL(i.URL),
)

AWS ES 默认不能 sniff
popbones
   5
popbones  
   2018 年 3 月 21 日 via iPhone
没记错的话当初踩过这个坑
zbl430
   6
zbl430  
OP
   2018 年 3 月 21 日
@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),
)

```
popbones
   7
popbones  
   2018 年 3 月 21 日 via iPhone
加个端口试试?我记得 AWS ES 默认在 80
zbl430
   8
zbl430  
OP
   2018 年 3 月 21 日
@popbones 不行,我是按照 2 楼那个链接 写的, 加了验证
popbones
   9
popbones  
   2018 年 3 月 21 日 via iPhone
链接里第一个例子用的是 aws client,我们当时没这个。要不你看看相关的 role,credential 和 provision 都配对了没有
zbl430
   10
zbl430  
OP
   2018 年 3 月 21 日
@popbones 我用的是第二种,折腾一天了,不知道那里出了错
popbones
   11
popbones  
   2018 年 3 月 21 日 via iPhone
那我就不清楚了,确认你用的 credential 能访问 ES ?
zbl430
   12
zbl430  
OP
   2018 年 3 月 21 日
@popbones 确定是可以的,之前用 python 写的都可以,用 go 就不行了
zbl430
   13
zbl430  
OP
   2018 年 3 月 22 日 via Android
大佬来帮忙啊
zbl430
   14
zbl430  
OP
   2018 年 3 月 22 日 via Android
结束贴,已解决!具体方法需要改第三方包(go-aws-auth),我会向作者提议,就不在这里说明了
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 38ms · 3.9.8.5