• 请不要在回答技术问题时复制粘贴 AI 生成的内容
movq
V2EX  ›  程序员

elasticsearch 是我遇到过的安装最麻烦的东西

  •  
  •   movq · Mar 2, 2023 · 6253 views
    This topic created in 1347 days ago, the information mentioned may be changed or developed.
    • 在 Mac 上面用 homebrew 安装,发现启动后报错。网上搜索报错信息,找不到解决方案
    • 于是在 ubuntu 里面安装。安装完之后发现 systemctl 跑不起来服务。网上搜不到解决方案
    • 于是在 docker 里面安装。安装后本地访问不了 9200 端口。于是在网上搜了半天,发现需要把安全设置为 false (xpack.security.enabled: false)。设置好之后终于可以运行。
    • 但此时 kibana 提示 enrollment token 失效。手动生成 enrollment token 失败,网上查了下说是安全设置要设置为 true (xpack.security.enabled: true)才能生成 token

    总结:搞了一下午都没成功运行起来

    有没有 v 友知道如何才能既运行 kibana (xpack.security.enabled: true),又能在宿主机 9200 端口来访问 es 呢(xpack.security.enabled: false)

    28 replies  •  2023-03-03 18:14:03 +08:00
    Showfom
    Showfom
    PRO
    Mar 2, 2023
    1
    Debian 下:

    curl -sS https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor > /usr/share/keyrings/elasticsearch.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elasticsearch.list
    apt-get update
    apt-get install openjdk-11-jre-headless elasticsearch

    装完以后 systemctl enable --now elasticsearch 就行了
    qq296015668
    qq296015668
    Mar 2, 2023
    3
    配置文件大概如下
    ```elasticsearch.yml
    cluster.name: "docker-cluster"
    network.host: 0.0.0.0
    logger.level: ERROR

    xpack.security.enabled: true
    xpack.security.http.ssl.enabled: true
    xpack.security.http.ssl.keystore.path: elastic-certificates.p12
    xpack.security.http.ssl.truststore.path: elastic-certificates.p12

    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    ingest.geoip.downloader.enabled: false
    ```

    需要的证书可以从 es 容器里面直接生成
    ```sh
    docker run --name es --rm -it elasticsearch:8.6.2 bash
    bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
    exit
    ```
    ```
    mkdir certs
    docker cp es:/usr/share/elasticsearch/config/elastic-certificates.p12 ./certs/
    docker stop es
    chown -R 1000:root certs/
    ```

    然后把证书挂载到容器 /usr/share/elasticsearch/config/elastic-certificates.p12
    ```sh
    docker run --name es --restart=always -d \
    -p 0.0.0.0:9200:9200 \
    -p 0.0.0.0:9300:9300 \
    -e "discovery.type=single-node" \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m -Dlog4j2.formatMsgNoLookups=true" \
    -v $(pwd)/es/data:/usr/share/elasticsearch/data
    -v $(pwd)/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v $(pwd)/es/certs/elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 \
    docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    ```
    Hanggi
    Hanggi
    Mar 2, 2023
    4
    求 ES 的替代品,目前服务集群在尽可能去 Java 以缩减开销。

    看了下 Redisearch 感觉还不成熟,有谁用过吗
    chendy
    chendy
    Mar 2, 2023
    5
    没有特殊要求的情况下,直接用 apt 或者 yum 装就完事了
    有问题可能是之前的配置文件或者啥有冲突之类的

    (看到标题的第一反应是:要不要体验一下装 oracle ?
    akagishigeru
    akagishigeru
    Mar 2, 2023
    6
    @Hanggi https://www.meilisearch.com/ 。可以看下这个 轻量级的 刚发布 1.0
    seashell2000
    seashell2000
    Mar 2, 2023
    7
    不是一个 helm 搞定吗?
    zanxj
    zanxj
    Mar 2, 2023
    8
    哈哈哈……看来对 ELK 不熟悉的还不少,当年我也摸索了好久……现在公司生产日志服务器就是我搭建的,已经正常运行 N 年……有个 ELK 的 TG 群 OP 可能需要 t.me/ElasticCommunity
    knightdf
    knightdf
    Mar 2, 2023
    9
    ES 安装还不够简单?
    ggvm
    ggvm
    Mar 2, 2023
    10
    ES 不是有绿色的版本吗? 下载解压运行就好了
    bjzhush
    bjzhush
    Mar 2, 2023
    11
    ES 才哪到哪啊,这就麻烦了
    Keanuo
    Keanuo
    Mar 2, 2023
    12
    docker 请
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Mar 2, 2023
    13
    我咋官网下个压缩包解压改个配置文件就能跑了
    你跑的时候报啥错了
    mylifcc
    mylifcc
    Mar 2, 2023
    14
    我觉得 spark 安装很麻烦
    WilliamYang
    WilliamYang
    Mar 2, 2023
    15
    现在好很多了,6 年前我弄的时候,超级麻烦,一堆报错,网上资料也不够多
    Bromine0x23
    Bromine0x23
    Mar 3, 2023
    16
    现在新版本强制 TLS 通信是有点麻烦
    Selenium39
    Selenium39
    Mar 3, 2023 via iPhone
    17
    https://github.com/Selenium39/elk
    我自己用的,还是很方便
    baren
    baren
    Mar 3, 2023
    18
    用 bitnami 的 helm 部署,或者 docker
    https://hub.docker.com/r/bitnami/elasticsearch
    kibana bitnami 也有
    可以不使用 tls
    通过 nginx 代理 nodeport
    967182
    967182
    Mar 3, 2023
    19
    es: 有人嫌弃我部署麻烦,,,,哭!!!!!!!!!!
    cheng6563
    cheng6563
    Mar 3, 2023
    20
    不是解压运行就行了?
    CloveAndCurrant
    CloveAndCurrant
    Mar 3, 2023
    21
    @Hanggi zinc ?现在改名为 zincsearch 了,golang 写的
    ptrees
    ptrees
    Mar 3, 2023
    22
    轻量级的 meilisearch 很好用,不知道符不符合你的需求了
    MilkShake
    MilkShake
    Mar 3, 2023
    23
    ES 安装还不够简单?
    hyperdak288
    hyperdak288
    Mar 3, 2023
    24
    @Hanggi 极限科技目前在开发一个基于 rust 的搜索引擎,前身是 es 的专业团队
    Hanggi
    Hanggi
    Mar 3, 2023
    25
    @CloveAndCurrant 看了一下,感觉不错,有在生产环境使用过吗
    PickleFish
    PickleFish
    Mar 3, 2023
    26
    有其他数据同步过去的和清洗数据的工具推荐嘛。
    Bluelion
    Bluelion
    Mar 3, 2023
    27
    @Hanggi 上 MongoDB ,我们用的 Altas 的服务,提供全文搜索
    datoujiejie221
    datoujiejie221
    Mar 3, 2023
    28
    我用 ansible 安装的,单机和集群就是一个命令和一个配置文件的事
    https://github.com/elastic/ansible-elasticsearch
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4138 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    ♥ Do have faith in what you're doing.