golang 使用 aws 的 elasticsearch 疑问?

2018-03-21 12:51:46 +08:00
 zbl430

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


2170 次点击
所在节点    程序员
14 条回复
kkfnui
2018-03-21 13:27:39 +08:00
看起来是对象没有初始化
zbl430
2018-03-21 13:38:48 +08:00
zbl430
2018-03-21 15:22:32 +08:00
求帮忙啊,各位大神
popbones
2018-03-21 15:29:55 +08:00
es, err := elastic.NewClient(
elastic.SetSniff(false),
elastic.SetURL(i.URL),
)

AWS ES 默认不能 sniff
popbones
2018-03-21 15:30:25 +08:00
没记错的话当初踩过这个坑
zbl430
2018-03-21 15:33:15 +08:00
@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
2018-03-21 15:39:28 +08:00
加个端口试试?我记得 AWS ES 默认在 80
zbl430
2018-03-21 15:43:44 +08:00
@popbones 不行,我是按照 2 楼那个链接 写的, 加了验证
popbones
2018-03-21 15:48:36 +08:00
链接里第一个例子用的是 aws client,我们当时没这个。要不你看看相关的 role,credential 和 provision 都配对了没有
zbl430
2018-03-21 15:52:27 +08:00
@popbones 我用的是第二种,折腾一天了,不知道那里出了错
popbones
2018-03-21 15:58:29 +08:00
那我就不清楚了,确认你用的 credential 能访问 ES ?
zbl430
2018-03-21 17:13:42 +08:00
@popbones 确定是可以的,之前用 python 写的都可以,用 go 就不行了
zbl430
2018-03-22 08:39:49 +08:00
大佬来帮忙啊
zbl430
2018-03-22 19:18:18 +08:00
结束贴,已解决!具体方法需要改第三方包(go-aws-auth),我会向作者提议,就不在这里说明了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/440036

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX