• ElasticSearch在linux上安装部署


    一.安装准备工作

    安装参考文档:

    ELK官网:https://www.elastic.co/

    ELK官网文档:https://www.elastic.co/guide/index.html

    ELK中文手册:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

    ELK中文社区:https://elasticsearch.cn/

    ELK-API :https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

    (1)、下载安装包

    访问elasticSearch官网地址 https://www.elastic.co/

    下载指定版本的安装包:elasticsearch-6.1.1.tar.gz

    (2)、规划安装目录

    /export/servers/

    (3)、上传安装包到指定目录

    通过FTP工具上传安装包到指定目录

    (4)、解压安装包

    tar -zxvf elasticsearch-6.1.1.tar.gz -C /export/servers

    (5)、重命名安装目录

    mv elasticsearch-6.1.1 elasticsearch

    (6)、修改配置文件

    进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

    扩展:

    YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的。

    它的基本语法规则如下。

    § 大小写敏感

    § 使用缩进表示层级关系

    § 缩进时不允许使用Tab键,只允许使用空格。

    § 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

    #表示注释,从这个字符一直到行尾,都会被解析器忽略

    修改的主要内容:

    #配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。

    cluster.name: my-es

    #节点名称

    node.name: node-1

    #设置索引数据的存储路径

    path.data: /export/servers/data

    #设置日志的存储路径

    path.logs: /export/servers/logs

    #设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中

    network.host: 192.168.216.121

    #设置对外服务的http端口

    http.port: 9200

    #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点

    discovery.zen.ping.unicast.hosts: [“node-1”]

    二.解决启动时报错

    (1)、在root用户下启动时报错

    因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。

    具体操作如下:

    useradd es

    passwd es

    再输入两次密码(自定义)

    mkdir -p /export/servers/data

    mkdir -p /export/servers/logs

    chown -R es:es /export/servers/elasticsearch

    chown -R es:es/export/servers/data

    chown -R es:es/export/servers/logs

    然后使用es用户启动

    切换es用户命令:su es

    cd /export/servers/elasticsearch

    启动集群命令:bin/elasticsearch

    (2)、在es用户下启动时报错

    原因:Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

    详见 :https://github.com/elastic/elasticsearch/issues/22899

    解决方案:

    在elasticsearch.yml中新增配置bootstrap.system_call_filter,设为false。

    bootstrap.system_call_filter: false

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9UOIaaY7-1660618119178)(//img-blog.csdn.net/20180317135439383?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTYxNTQ5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]

    (3)、在es用户下启动继续报错

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8FMHydQe-1660618119181)(//img-blog.csdn.net/20180317135637687?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTYxNTQ5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]

    第一个问题的原因:

    原因:无法创建本地文件问题,用户最大可创建文件数太小

    解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

    vi /etc/security/limits.conf

    添加如下内容: 注意*不要去掉了

    * soft nofile 65536

    * hard nofile 131072

    备注:* 代表Linux所有用户名称(比如 hadoop)

    需要保存、退出、重新登录才可生效。

    第二个错误的原因:

    原因:无法创建本地线程问题,用户最大可创建线程数太小

    解决方案:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。

    vi /etc/security/limits.d/90-nproc.conf

    找到如下内容:

    * soft nproc 1024

    #修改为

    * soft nproc 4096

    第三个错误的原因:

    原因:最大虚拟内存太小

    每次启动机器都手动执行下。

    root用户执行命令:

    执行命令:sysctl -w vm.max_map_count=262144

    查看修改结果命令:sysctl -a|grep vm.max_map_count 看是否已经修改

    永久性修改策略:

    echo “vm.max_map_count=262144” >> /etc/sysctl.conf

    三.测试

    切换到es用户执行:

    看到这个界面证明已经成功了,可以用浏览器访问192.168.216.121:9200查看,会下载一个json文件打开如下:

    z

    至此Elasticsearch就安装完成了,当然这只是一台机器,如果有需要还可以搭成集群.

    .

  • 相关阅读:
    第一章 JSP简介
    政府引导基金管理平台,携手政府成就资本与产业的“双向奔赴”!
    如何在TestNG中恢复失败的测试用例?
    通俗易懂生成对抗网络GAN原理
    Stream流中的 max()和 sorted()方法
    系统移植3:kernel的配置,编译和移植以及根文件系统
    1164 Good in C
    【分享贴】需求变更、项目延误,项目经理应该如何应对?
    OpenHarmony安全子系统之硬件安全
    机器视觉系统选型-镜头选型
  • 原文地址:https://blog.csdn.net/m0_54853503/article/details/126361434