Elasticsearch单节点及集群安装

    xiaoxiao2023-09-30  153

    【一】Elasticsearch

    windows环境下elasticsearch7.1.0版本基本安装步骤:

    1、先从官网上下载资料,超行星入口:https://www.elastic.co/cn/downloads/elasticsearch

    22

    2、这是一个压缩包文件,解压缩之后,进入到bin目录下,双击 elasticsearch.bat

    3、 出现以下情况,则表示成功,默认端口号9200

    4、访问localhost:9200 ,出现以下则表示成功

    以上,windows环境下安装elasticsearch则完全成功拉

    Elasticsearch基本配置文件详解 :

    config/elasticsearch.yml

    cluster.name:集群名称,作为是否是同一个集群的判断条件

    node.name:节点名称,区分集群中不同节点

    network.host/http.port:网络地址和端口

    path.data:数据存储地址

    path.log:日志存储地址

    linux环境安装步骤(centos7,jdk1.8,elasticsearch6.8.2):

    1、解压下载后的tar包

    2 、修改相关配置文件/conf/elasticsearch.yml

    网络设置,设置 ip ,端口号 ,跨域设置

    3、配置完成后进入bin目录启动脚本

    前台启动:./elasticsearch

    后台启动:./elasticsearch -d

    4、启动过程中遇到的问题

    解决方案:直接删除或备份Elasticsearch-a.b.c/lib目录下面的jna文件:

    mv jna-4.4.0.jar jna-4.4.0.jar.bak

    然后在lib目录下载:wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar

    重新启动,这种问题便没有了。但又发现下面问题

    解决方案:在conf目录下elasticsearch.yml目录下加上

    bootstrap.memory_lock: false

    bootstrap.system_call_filter: false

    继续启动发现没有问题了,同问题二

    问题一、root用户启动时,不能正常启动

     解决方案:

      a、adduser es  创建用户

      b、passwd es    设置es密码

      c、设置文件权限chown -R es /ywx/elasticsearch/elasticsearch-6.8.2

      d、visudo 设置用户对命令的执行权限

       

     问题二、

    解决方案:切换到root用户,编辑/config/elasticsearch.yml

    问题三、

    解决方案

    切换到root用户修改:vim /etc/sysctl.conf

    添加:vm.max_map_count=655360  保存

    执行:sysctl -p

    问题四、es用户可创建文件描述的权限太低

    解决方案

    切换到root用户 vim /etc/security/limits.conf

    添加: 

    保存之后

    问题:

    解决方案:

    测试:切换es用户下,启动脚本,正常启动

    以上linux环境下,elastissearch6.8.2版本,单点安装完成 

    安装可视化插件elastissearch-head

    首先必须安装的环境:yum -y install gcc gcc-c++

    wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz

    然后执行以下命令:

    tar -zxvf node-v10.13.0.tar.gz

    vim /etc/profile

    使配置文件生效:source /etc/profile

    查看是否安装成功:node -v   或者 npm -v

    1、命令:git clone git://github.com/mobz/elasticsearch-head.git

    出现问题:-bash: git: command not found

     

    安装git命令:yum install -y git

    2、 cd elasticsearch-head

    3、npm install

    可能出现以下问题:

    解决方案:执行该命令:npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

    4、进入elasticsearch-head目录下执行:npm run start

    5、访问一下http://ip:9100

    elasticsearch-head连接不同服务器上的elasticsearch,可能因为跨域问题,导致连接不上

    解决方案

    在elasticsearch安装目录下,config中配置文件elasticsearch.yml文件,添加如下配置

    http.cors.enabled: true http.cors.allow-origin: "*" http.cors.enabled配置项表示是否支持跨域,默认为false;

    http.cors.allow-origin,当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/ 重启之后

     

    集群搭建步骤 

    准备在三台虚拟机(192.168.131.166;192.138.161.167;192.138.166.168)搭建一个es集群环境;主要修改以下配置

    1、vi elasticsearch.yml  修改配置文件

    2、cluster.name: myes    ###保证三台服务器节点集群名称相同

    3、node.name: node-1   #### 每个节点名称不一样 其他两台为node-1 ,node-2,node-3

    4、network.host: 192.168.131.166   #### 实际服务器ip地址,需要修改

    5、discovery.zen.ping.unicast.hosts: ["192.168.131.166", "192.168.131.167","192.168.131.168"]  ##多个服务集群ip

    6、discovery.zen.minimum_master_nodes: 1 #es集群主节点最小的个数

    以上配置完毕之后,启动这三台服务器的es。然后访问http://192.168.131.166:9100/

    出现以下,则es集群环境搭建完成 

     

    Elasticsearch常用术语

    Document:文档数据,具体意义就是存储于elasticsearch中的一条数据

    Index:索引,具体意义可以理解成mysql中的一个数据库

    Type:索引中的数据类型。可以理解成一个表

    Field:字段,文档的属性,理解为表中的字段

    Elasticsearch实现增删改查(文档)

    在kibana中consul中执行以下命令

     

    最新回复(0)