感觉 elasticsearch 很不适合个人开发啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cooljs
V2EX    数据库

感觉 elasticsearch 很不适合个人开发啊

  •  
  •   cooljs 2019-05-16 10:37:40 +08:00 8664 次点击
    这是一个创建于 2343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉很吃配置,在 1g 内存的 vps 上运行,各种出错。。要么 java 内存不够了,要么 es 连接超时了。。蓝瘦

    第 1 条附言    2019-05-16 11:39:45 +08:00

    本地开发可以了,还有一个问题,es生产环境的最低配置是多少呢?,主要用来做图片的检索

    88 条回复    2019-06-12 20:52:51 +08:00
    mokeyjay
        1
    mokeyjay  
       2019-05-16 10:40:29 +08:00
    开发就在本地嘛
    xpresslink
        2
    xpresslink  
       2019-05-16 10:41:37 +08:00   4
    省钱和省事之间通常都是有冲突的。
    cooljs
        3
    cooljs  
    OP
       2019-05-16 10:41:52 +08:00
    @mokeyjay 小程序开发,还得要一个域名
    shyling
        4
    shyling  
       2019-05-16 10:42:54 +08:00
    你手机运存都不止 1g 了。。。。1g 只是玩具。。。
    kwklover
        5
    kwklover  
       2019-05-16 10:43:18 +08:00 via Android
    你用 ES 做什么用途?ES 都是吃内存大户。
    xpresslink
        6
    xpresslink  
       2019-05-16 10:43:55 +08:00
    你在本机弄个 32G 内存,开虚拟机跑个 Docker 吧。没好办法,es 最少要 2G 内存才能正常跑起来。
    Vegetable
        7
    Vegetable  
       2019-05-16 10:44:46 +08:00
    JAVA 系的东西是很吃内存呀
    gosansam
        8
    gosansam  
       2019-05-16 10:46:13 +08:00
    虚拟内存搞起来 docker 搞起来
    cooljs
        9
    cooljs  
    OP
       2019-05-16 10:47:48 +08:00
    @kwklover 用来做图片检索的
    cooljs
        10
    cooljs  
    OP
       2019-05-16 10:51:15 +08:00
    @xpresslink
    @gosansam 我是开发微信小程序,他的请求有域名验证,本地开发还不行
    cooljs
        11
    cooljs  
    OP
       2019-05-16 10:51:25 +08:00
    @Vegetable 蓝瘦
    misaka19000
        12
    misaka19000  
       2019-05-16 10:52:46 +08:00
    1g。。。Java 本来就吃内存,然后 Lucene 还要依赖 page_cache,1g 就不要用 ES 了吧
    Navee
        13
    Navee  
       2019-05-16 10:53:36 +08:00
    测试用本地跑 1g 内存是够的
    在 vps 跑要看你 vps 是什么实例,那种小型实例有 1g 内存也不要折腾了,cpu、磁盘都是瓶颈
    misaka19000
        14
    misaka19000  
       2019-05-16 10:53:57 +08:00
    而且 ES 不组集群不能使用到 ES 的优势特性,楼主是为了使用 ES 的搜索特性吗?
    liuxey
        15
    liuxey  
       2019-05-16 10:54:57 +08:00
    应该是 1g 内存的 vps 不适合 elasticsearch 开发
    nisnaker
        16
    nisnaker  
       2019-05-16 11:02:44 +08:00
    @cooljs #10 小程序开发的时候能在本地 IDE 里把域名验证关掉
    xiaoyangsa
        17
    xiaoyangsa  
       2019-05-16 11:04:45 +08:00
    1g 服务器可以做.域名映射到本地吧~
    zjsxwc
        18
    zjsxwc  
       2019-05-16 11:07:04 +08:00
    ES 本来就是给集群跑的,单机还容易跑挂掉的
    cooljs
        19
    cooljs  
    OP
       2019-05-16 11:07:37 +08:00
    @misaka19000 是的,主要是为了他的搜索特性
    wyntalgeer
        20
    wyntalgeer  
       2019-05-16 11:07:45 +08:00
    1g 的 VPS 就不要运行 java 程序了吧
    chennqqi
        21
    chennqqi  
       2019-05-16 11:07:46 +08:00
    楼主非要在 1G 环境下跑可以设置 jvm.options 里
    -Xms2g -> -Xms1g#设置最小堆的值为 1g
    -Xmx2g -> -Xmx1g #设置组大堆的值为 1g
    cooljs
        22
    cooljs  
    OP
       2019-05-16 11:08:03 +08:00
    @Navee 2g2c 的服务器怎么样
    4BVL25L90W260T9U
        23
    4BVL25L90W260T9U  
       2019-05-16 11:08:15 +08:00
    可以试试 sonic,rust 写的,非常省内存
    cooljs
        24
    cooljs  
    OP
       2019-05-16 11:09:35 +08:00   1
    @chennqqi 嘿嘿,1g 也跑不起来,直接`JavaThread "Unknown thread"`,必须 512m 才行
    AngryPanda
        25
    AngryPanda  
       2019-05-16 11:10:43 +08:00
    楼主还有个选择,使用云版 es
    iyaozhen
        26
    iyaozhen  
       2019-05-16 11:11:45 +08:00 via Android   1
    1g 玩个 dan,我们 10 台 128g 内存、3t ssd 的机器都存不了啥,分片都不敢开多。说的不好听,没资源还是不要入坑,当然自己学习可以本机玩玩。

    数据量不大,说真的 MySQL 就行了
    cooljs
        27
    cooljs  
    OP
       2019-05-16 11:14:15 +08:00
    @nisnaker 关闭了确定 localhost:3000 这样的可以吗?
    cooljs
        28
    cooljs  
    OP
       2019-05-16 11:14:41 +08:00
    @xiaoyangsa 没有公网 ip,可以映射吗
    cooljs
        29
    cooljs  
    OP
       2019-05-16 11:15:11 +08:00
    @ospider 选数据库还考虑了使用人多不多,这个没听过诶
    cooljs
        30
    cooljs  
    OP
    /div>   2019-05-16 11:16:04 +08:00
    @iyaozhen 我是想用他的搜索排序
    misaka19000
        31
    misaka19000  
       2019-05-16 11:16:25 +08:00
    楼上加一,数据量不多直接全文检索就可以搞定
    chinesestudio
        32
    chinesestudio  
       2019-05-16 11:17:39 +08:00 via Android
    本地开发 frp 穿透 512 也够
    misaka19000
        33
    misaka19000  
       2019-05-16 11:17:46 +08:00
    或者自己分词然后计算一下相关度,虽然简陋不过应该可以应付一些情况了
    Proxy233
        34
    Proxy233  
       2019-05-16 11:17:56 +08:00 via Android
    测试和个人可以试试这个: https://app.vizion.ai
    jaylee77
        35
    jaylee77  
       2019-05-16 11:18:19 +08:00
    @cooljs 你去试试关掉域名校验,是不是比回贴容易得多呢?
    cooljs
        36
    cooljs  
    OP
       2019-05-16 11:18:27 +08:00
    @AngryPanda 是不是小贵的那种
    cooljs
        37
    cooljs  
    OP
       2019-05-16 11:19:50 +08:00
    @jaylee77 因为之前试过,localhost 不行
    cooljs
        38
    cooljs  
    OP
       2019-05-16 11:20:07 +08:00
    @Proxy233 好,多谢老哥
    testplusplus
        39
    testplusplus  
       2019-05-16 11:20:26 +08:00
    1g 内存上 ES ?一般不都是关系型数据库扛不住查询之后才会去用吗
    cooljs
        40
    cooljs  
    OP
       2019-05-16 11:20:49 +08:00
    @misaka19000 嗯,不行就换数据库了,
    deepzz
        41
    deepzz  
       2019-05-16 11:23:30 +08:00 via iPhone
    本人博客就上了 es,哈哈。
    fxxkgw
        42
    fxxkgw  
       2019-05-16 11:24:33 +08:00
    这玩意是真的吃内存 我一直都觉得是自己太菜 没优化好他的配置。。什么看源码 不可能看的。
    jaylee77
        43
    jaylee77  
       2019-05-16 11:25:14 +08:00
    @cooljs



    不行?
    JackyCDK
        44
    JackyCDK  
       2019-05-16 11:25:24 +08:00
    把这台机改成 ngrok 呗...
    cooljs
        45
    cooljs  
    OP
       2019-05-16 11:26:54 +08:00
    @deepzz 哈哈,你的服务器是啥配置
    cooljs
        46
    cooljs  
    OP
       2019-05-16 11:27:36 +08:00
    @fxxkgw 不用怀疑,就是我们太菜,,es 需要专门的人来搞
    cooljs
        47
    cooljs  
    OP
       2019-05-16 11:28:14 +08:00
    @jaylee77 我错了大佬,我再试一下
    cooljs
        48
    cooljs  
    OP
       2019-05-16 11:30:10 +08:00
    @JackyCDK 感觉很难的样子
    JackyCDK
        49
    JackyCDK  
       2019-05-16 11:35:09 +08:00
    @cooljs #48 就改成一条隧道,代理到你自己的开发环境而已,很简单的
    cooljs
        50
    cooljs  
    OP
       2019-05-16 11:36:55 +08:00
    @JackyCDK 谢谢大佬,我用了本地开发可以了
    cooljs
        51
    cooljs  
    OP
       2019-05-16 11:37:20 +08:00
    @jaylee77 可以了,之前不知道怎么搞的,谢谢大佬
    yepinf
        52
    yepinf  
       2019-05-16 11:55:15 +08:00 via iPhone
    不妨试试 solr 比较省内存
    deepzz
        53
    deepzz  
       2019-05-16 11:56:17 +08:00 via iPhone
    @deepzz @cooljs @cooljs 1 核 1g,限制了 jvm 内存
    DeepRedApple
        54
    DeepRedApple  
       2019-05-16 11:56:27 +08:00
    直接虚拟机或者 Docker 跑,可以的
    moodasmood
        55
    moodasmood  
       2019-05-16 11:58:19 +08:00 via Android
    我们公司 es 集群都是 88 核的机器
    fyibmsd
        56
    fyibmsd  
       2019-05-16 11:58:23 +08:00
    不止 1g 不够 至少也要三台机器吧
    iyaozhen
        57
    iyaozhen  
       2019-05-16 12:09:53 +08:00 via Android
    @cooljs 最低配置你去看看阿里云的套餐就了解了。好像得 2 核 2gb 内存
    neoblackcap
        58
    neoblackcap  
       2019-05-16 12:15:21 +08:00
    es 算是穷人的搜索引擎,他们家的东西啊,大企业都觉得可用吧,但跟商业的比起来也就那样了。他们工程师都透露 elk 整套东西对内存的利用不咋地
    jamblues
        59
    jamblues  
       2019-05-16 12:18:03 +08:00 via iPhone
    图片检索 mysql +redis 就够用了 simhash 分段检索 降维 轻轻松松 实在不行可以上穷人玩的 sphinx
    LukeChien
        60
    LukeChien  
       2019-05-16 12:20:50 +08:00 via Android
    国外有云托管,在各个公有云上有节点,共享集群
    lusi1990
        61
    lusi1990  
       2019-05-16 12:30:54 +08:00 via Android
    看下官方文档 ,有最低配置和建议配置
    hurrytospring
        62
    hurrytospring  
       2019-05-16 13:19:07 +08:00
    本地跑方法太多了。。改 host 文件,代理,关闭验证。。。
    TimLang
        63
    TimLang  
       2019-05-16 13:31:40 +08:00
    如果你是小站长,肯定不适合用 elasticsearch,成本(服务器)太高,建议使用 postgresql,可以搜索下,自带全文检索,而且有现成的分词插件。
    iyangyuan
        64
    iyangyuan  
       2019-05-16 14:13:07 +08:00 via iPhone
    小站直接用 mysql 自己实现倒排索引,简单高效
    cooljs
        65
    cooljs  
    OP
       2019-05-16 14:20:00 +08:00
    @deepzz 牛批啊,es 不会莫名其妙的抽风吗
    cooljs
        66
    cooljs  
    OP
       2019-05-16 14:20:39 +08:00
    cooljs
        67
    cooljs  
    OP
       2019-05-16 14:27:26 +08:00
    @neoblackcap 你这个问题,堆配置就可以解决,,估计是这样的
    cooljs
        68
    cooljs  
    OP
       2019-05-16 14:40:22 +08:00
    @LukeChien 有关键词吗
    @lsi1990 OK
    @jamblues
    @TimLang
    @iyangyuan 我是根据搜索内容排序,我查查 pg,mysql 的资料,多谢大佬们
    hxt
        69
    hxt  
       2019-05-16 15:12:19 +08:00
    你要存的数据量是多少级别的,访问量多少?字段配置把要用到查询的字段设为 index,其他的字段用 store 类型。jvm 设小点,以及 linux 加下虚拟内存。数据量不多配置合理访问量也不多 1g 机器可以跑的。
    AlloVince
        70
    AlloVince  
       2019-05-16 16:40:51 +08:00
    x-pack 是付费的,报价是$5000/节点 /年,3 nodes 起卖,个人用户老老实实用云服务吧
    cooljs
        71
    cooljs  
    OP
       2019-05-16 17:09:30 +08:00
    @hxt 我 bulk 存入 4000 条数据,总是超时,就两个字段一个 text,一个 keyword,我试着加下虚拟内存
    cooljs
        72
    cooljs  
    OP
       2019-05-16 17:10:00 +08:00
    @AlloVince 没说用 xpack 啊
    rrfeng
        73
    rrfeng  
       2019-05-16 17:40:01 +08:00
    这就好比你有 10G 数据要分析起了个 hadoop ?
    AlloVince
        74
    AlloVince  
       2019-05-16 18:16:36 +08:00
    @cooljs 不用 x-pack 连最基本的权限管理都做不了,等于无法上线
    fiht
        75
    fiht  
       2019-05-16 19:06:23 +08:00
    楼主你有空看一下这个---> https://github.com/valeriansaliou/sonic
    试用一下看行不行,我 star 了还没来得及试用
    cabing
        76
    cabing  
       2019-05-16 21:21:06 +08:00
    不一定非得 es 吧。自己玩找个开源的也行。
    glfpes
        77
    glfpes  
       2019-05-16 21:25:10 +08:00 via Android
    可以购买云服务商的 es 服务
    fiht
        78
    fiht  
       2019-05-16 22:07:50 +08:00
    @cabing 老哥 es 就是开源的
    fengjianxinghun
        79
    fengjianxinghun  
       2019-05-16 22:12:41 +08:00 via iPhone
    rust 的 sonic 穷鬼的 es
    cabing
        80
    cabing  
       2019-05-16 22:21:22 +08:00
    @fiht 我知道大名鼎鼎的 es 是开源的。开源的搜索引擎有好多。。不一定非得 es。
    EugeneYWang
        81
    EugeneYWang  
       2019-05-16 22:24:03 +08:00
    @AlloVince
    @cooljs

    AWS 有基于 ES 做出魔改版,不仅开源,还包含了权限管理功能等等额外功能。

    另外,我个人也很推荐 LZ 先看看 PG,PG 生态圈里真的很好,国内很多人不知道。但是阿里就一直很看好 PG。

    如果 PG 的全文搜索不够用的话,可以看看 AWS 的魔改版,近几个月推出的。
    EugeneYWang
        82
    EugeneYWang  
       2019-05-16 22:25:49 +08:00
    BTW,我个人不是阿里的员工。只是了解过他们跟 PG 的部分相关公开信息。
    flashrick
        83
    flashrick  
       2019-05-17 09:11:55 +08:00
    讯搜呢?听说过没用过
    cooljs
        84
    cooljs  
    OP
       2019-05-17 09:55:53 +08:00
    @EugeneYWang 好的,谢谢大佬
    @AlloVince 权限管理用后端框架来控制
    @fiht
    @fengjianxinghun sonic 有中文分词吗
    alexmy
        85
    alexmy  
       2019-05-17 10:45:41 +08:00
    自己玩的话,那些大器物本地用用就好啦,小服务器撑不起。
    brust
        86
    brust  
       2019-05-29 16:25:07 +08:00
    我的 es 都是限制 128m 的
    因为没钱 1 核 1G
    cooljs
        87
    cooljs  
    OP
       2019-05-30 10:04:11 +08:00
    @brust 128m 也可以吗?具体怎么操作的
    kwklover
        88
    kwklover  
       2019-06-12 20:52:51 +08:00 via Android
    如果是用于站内搜索,可以试试我的小作品 www.searcheasy.net 一核一 G 照样能跑啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2797 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 14:50 PVG 22:50 LAX 07:50 JFK 10:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86