• Elasticsearch入门(一):CentOS 7.6 安装ES 7.6.1


    安装步骤:

    首先,需要确保Java已经安装好,并且配置好了JAVA_HOME 环境变量

    我的环境:

    Linux:CentOS 7.6 Elasticsearch:7.6.1 Java:1.8.0_202

    Elasticsearch:下载地址包含各种版本,以最新版为例

    https://www.elastic.co/cn/downloads/past-releases#elasticsearch

    一、下载并解压Elasticsearch;我的ES最终路径为:

    通常Linux下wget方式下载比较慢,这里选择采用迅雷下载到本地后,再上传到Linux

    二、上传完成后打开目录,解压缩es的压缩包

    tar -zxvf elasticsearch-7.6.1-xxx

    我是解压缩到/usr/local/es目录下

    三、修改配置文件

    es启动需要修改多个配置文件,否则会报错,具体如下

    a、切换到其他用户启动,如上图所示,当我们以root用户执行 ./elasticsearch 的时候,会报错,es不能用root用户运行,这里,我们需要手动创建用户

    # 首先切换到 root 用户,输入密码,然后执行以下步骤:
    su root
    # 1、创建一个用户es
    useradd es
    # 2、为es用户赋予 /usr/local/es 目录权限,不赋权,会提示没有权限访问
    chown -R es /usr/local/es/elasticsearch-7.6.1

    **b、开启远程访问,**可以在本机通过localhost:9200 进行访问,但是却不能在远程通过 IP:9200进行访问。

    修改 /config/elasticsearch.yml文件,找到 Network ,修改下面的项目,重新启动即可。

    network.host: 0.0.0.0

    0.0.0.0表示任何地址都可以访问,也可以根据实际修改为自定的ip地址

    c、其他错误信息,启动报以下错误:

    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

    这个错误,是linux下常见的错误,主要是因为linux会限制进程的最大打开文件数,

    可通过下面2个命令查看当前数量
    ulimit -Hn
    ulimit -Sn

    只需要按照下面的配置修改一下即可解决:

    # 首先切换到 root 用户
    su root
    # 输入密码,然后编辑下面文件
    vi /etc/security/limits.conf
    # 修改/etc/security/limits.conf文件,在文件末尾添加以下内容,用户退出后重新登录生效
    * soft nofile 65536
    * hard nofile 65536

    [2]:max number of threads [3818] for user [es] is too low, increase to at least [4096]
    可通过命令查看
    ulimit -Hu
    ulimit -Su

    #问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf, 增加配置
    * soft nproc 4096
    * hard nproc 4096

    [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    这个是ES使用的最大虚拟机内存太小,直接调大即可,在 root 用户下执行下面命令:

    sysctl -w vm.max_map_count=262144

    也可以如下修改配置

    vi /etc/sysctl.conf
    sysctl -p #执行命令sysctl -p生效
    #增加配置vm.max_map_count=262144

    [3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

    #设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
    #注意这里,如果目前是单节点的话,一定要修改该值为节点的名称,否则虽然启动成功了,但是通过curl命令向elasticsearch服务中新增数据时,会出现 "master_not_discovered_exception"错误

    还是找到 config/elasticsearch.yml 文件,编辑,找到Discovery 配置附近,修改:

    # 取消注释,并修改属性

    节点ip: discovery.seed_hosts: [“192.168.56.101”]

    节点名称: cluster.initial_master_nodes: [“node-101-master”]

    注, 修改后需要从新登陆当前用户才能生效

    四、运行elasticsearch,访问

    在elasticsearch主目录,运行命令:bin/elasticsearch

    后台启动命令,命令行退出后仍可运行: bin/elasticsearch -d

    如果没有其他报错,则启动成功

    访问地址:ip为es安装的虚拟机ip,端口默认9200

    http://192.168.56.101:9200/

    至此,es单机版安装完毕,下一篇,安装分词器,kibana等

  • 相关阅读:
    Flir Blackfly S 工业相机:自动曝光配置及代码
    WPF中如何在MVVM模式下关闭窗口
    开源项目datavines内存泄漏问题分析
    算法中出现的一些报错及其处理办法
    Qt的对象树
    Symbol详解
    mysql--快速熟悉项目的数据库模型
    Typora的相关配置(Typora主题、字体、快捷键、习惯)
    PD18 无法启动bootcamp,DlInitialzeLibrary failed 0xc00000bb的一个原因
    Sound/播放提示音, Haptics/触觉反馈, LocalNotification/本地通知 的使用
  • 原文地址:https://blog.csdn.net/m0_67403073/article/details/126361092