ElasticSearch

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

官网地址:

  • https://www.elastic.co/cn/elasticsearch/

单体安装

下载

点击下载按钮,选择合适自己系统的版本下载

我使用的是centos7,所以下载Linux X86_64下载,进行手动配置安装

软件压缩包上传解压

  • 将下载好的安装包使用ftp工具上传到服务器上

  • 将安装包移动到/user/local/soft目录下

    sudo mv elasticsearch-7.9.3-linux-x86_64.tar.gz /usr/local/soft
    
  • 解压文件

    sudo tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz
    

  • 进入文件夹的bin目录

    cd  elasticsearch-7.9.3/bin
    

启动elasticsearch

  • 启动elasticsearch

    需要安装java环境,elasticsearch不能使用root用户进行启动,需要切换到其他用户来启动,并赋予用户权限

    # 创建用户
    sudo adduser es
    # 给用户创建密码
    sudo passwd es 123456
    # 将elasticsearch文件夹授权给es用户
    sudo chown -R es:es /usr/local/soft/elasticsearch-7.9.3# 將data文件夹授权给es用户
    sudo chown -R es:es /data/es
    # 切换用户,并输入密码
    su es
    # 进入elasticsearch文件夹的bin目录
    cd /usr/local/soft/elasticsearch-7.9.3/bin
    # 启动elasticsearch
    ./elasticsearch
    

    看见started就说明成功启动

    正常启动的时候会让es进入后台运行,命令如下

    ./elasticsearch &
    

    使用jps命令查看es是否正常运行

    jps
    

查看es状态

此时,es便可以在本地访问了,端口号为9200

curl localhost:9200

安装elasticsearch-head

  • git clone git://github.com/mobz/elasticsearch-head.git
  • cd elasticsearch-head
  • npm install
  • npm run start

集群安装

主机 角色 hostname
192.168.101.10 主/从节点 node1
192.168.101.11 主/从节点 node2
192.168.101.12 主/从节点 node3
  • 一主二从
  • 开放端口为(9200和9300–在实际的生产中可以指定为其他端口)

配置

版本:7以上

参考配置

cluster.name: libbelasticsearch node.name: "es128" node.master: true node.data: true path.data: /opt/elasticsearch-7.0.0/data path.logs: /opt/elasticsearch-7.0.0/logs network.host: 192.168.1.128transport.tcp.port: 9300 transport.tcp.compress: true http.port: 9200 http.max_content_length: 100mb bootstrap.memory_lock: true discovery.seed_hosts: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]cluster.initial_master_nodes: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]gateway.recover_after_nodes: 2 gateway.recover_after_time: 5m gateway.expected_nodes: 3

node1

编辑配置文件

vim /usr/local/es/elasticsearch-7.10.1/config/elasticsearch.yml

具体内容

# 配置跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#配置es的集群名称,默认是elasticsearch,
#es会自动发现在同一网段下的es,
# 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: es
node.name: node1
node.master: true
node.data: true
path.data: /data/es/data
path.logs: /data/es/log
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]
cluster.initial_master_nodes: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]

node2

编辑配置文件

vim /usr/local/es/elasticsearch-7.10.1/config/elasticsearch.yml

具体内容

# 配置跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#配置es的集群名称,默认是elasticsearch,
#es会自动发现在同一网段下的es,
# 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: es
node.name: node2
node.master: true
node.data: true
path.data: /data1/es/data
path.logs: /data1/es/log
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]
cluster.initial_master_nodes: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]

node3

编辑配置文件

vim /usr/local/es/elasticsearch-7.10.1/config/elasticsearch.yml

具体内容

# 配置跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#配置es的集群名称,默认是elasticsearch,
#es会自动发现在同一网段下的es,
# 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: es
node.name: node3
node.master: true
node.data: true
path.data: /data1/es/data
path.logs: /data1/es/log
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]
cluster.initial_master_nodes: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]

然后分别启动 slave01 和 slave02。启动后,可以在 head 插件上查看集群信息。

集群状态:

http://localhost:9200/_cluster/health?pretty

低版本

版本:5

配置

这里网络ip根据自己的地址来配置,这里只是参考

http.cors.enabled: true
http.cors.allow-origin: "*"path.data: /home/edison/ES-01/data1#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-elasticsearch
#节点名称,必须不一样
node.name: node-1
#必须为本机的ip地址
network.host: 192.168.1.10
#服务端口号,在同一机器下必须不一样
http.port: 9200
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9300
#设置集群自动发现机器ip集合
discovery.zen.ping.unicast.hosts: ["192.168.101.10:9300","192.168.101.11:9300","192.168.101.12:9300"]

Kibana 安装

Kibana 是一个 Elastic 公司推出的一个针对 es 的分析以及数据可视化平台,可以搜索、查看存放在 es 中的数据。

安装步骤如下:

  1. 下载 Kibana:https://www.elastic.co/cn/downloads/kibana
  2. 解压
  3. 配置 es 的地址信息(可选,如果 es 是默认地址以及端口,可以不用配置,具体的配置文件是 config/kibana.yml)
  4. 执行 ./bin/kibana 文件启动
  5. localhost:5601

Kibana 安装好之后,首次打开时,可以选择初始化 es 提供的测试数据,也可以不使用。

Kibana 安装好之后,首次打开时,可以选择初始化 es 提供的测试数据,也可以不使用。

问题处理

虚拟内存报错

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

提高虚拟内存大小

切换到root用户下

# 设置虚拟内存大小
sysctl -w vm.max_map_count=262144
# 查看设置后的结果
sysctl -a|grep vm.max_map_count# 永久修改方式,在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144

配置集群名称和节点名称

打开 config/elasticsearch.yml 文件,可以配置集群名称以及节点名称。

cluster.name: sunbt
node.name: master

开启远程访问

  • 先设置虚拟内存
  • 修改elasticsearch.yml
network.host: 0.0.0.0
# 其中nede为节点的名称
cluster.initial_master_nodes: ["node-1", "node-2"]

解决跨域问题

  • 修改elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

启动错误

错误一

将当前用户的软硬限制调大。

找到文件 vim /etc/security/limits.conf,编辑,在文件的最后追加如下配置:

es soft nofile 65535
es hard nofile 65537

soft nofile表示软限制,hard nofile表示硬限制,

上面两行语句表示,es用户的软限制为65535,硬限制为65537,

查看当前用户的软限制

命令:ulimit -n 等价于 ulimit -S -n

结果:65535

查看当前用户的硬限制

命令:ulimit -H -n

结果:65537

错误二

设置/etc/security/limits.conf

vim /etc/security/limits.conf

* soft nproc 5000
* hard nproc 5000

ElasticSearch集群安装教程相关推荐

  1. Elasticsearch集群安装Version6.2.2

    Elasticsearch集群安装, 基于Elasticsearch6.2.2版本, 在Linux上安装Elasticsearch集群. 1.安装规划 IP HostName Service Mast ...

  2. ElasticSearch 集群安装,简单使用

    ElasticSearch 集群安装,简单使用 http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configu ...

  3. ElasticSearch集群安装及Java客户端使用

    ElasticSearch集群安装及Java客户端使用 1.传统模式安装 1.1 ElasticSearch安装 下载Es安装包 ElasticSearch的官方地址:https://www.elas ...

  4. Elasticsearch集群安装部署

    单机的安装在我之前的文章中,要想安装集群版,请先看我的"Elasticsearch安装"中的基础操作 1.相关概念 1.1.单机&集群 单台Elasticsearch服务器 ...

  5. ElasticSearch集群安装,Kibana安装,Logstash安装,Logstash-input-plugin-jdbc的配置使用

    1.安装elasticsearch 参考:https://www.2cto.com/kf/201802/723573.html 1.1 三台机器创建es运行的用户 Es不能再root用户下启动,需要为 ...

  6. Hadoop-3.xx单机和集群安装教程

    搭建单机系统 下载软件 我这里提供Hadoop-3.0.3的安装包 链接:https://pan.baidu.com/s/1prQlQZxikjcPMOsVBrda1w 提取码:1234 当然你也可以 ...

  7. ELK篇---------elasticsearch集群安装配置

    说明: 本次ELK的基础配置如下: 虚拟机:vmware 11 系统:centos7.2  两台 IP:172.16.1.15/16 一.下载es wget https://download.elas ...

  8. docker 添加端口映射_苟且偷生的程序猿没法摸鱼了,从docker搭建elasticsearch集群开始学习...

    最近刚换了公司,然后公司刚好使用的docker.而本人作为一个石锤的搬砖员,之前只知道搬砖们,对于这些东西确实没学过.今天在本地使用docker搭建elasticsearch集群,记录下过程,而且el ...

  9. HBase2.x完全分布式集群安装

    目录 前提条件 步骤 查看版本匹配 集群规划 下载.解压.配置环境变量 配置hbase-env.sh 配置hbase-site.xml 配置regionservers 配置备用master 软连接 h ...

最新文章

  1. 没有项目经验也能进大厂??
  2. Xcode6中如何对scrollview进行自动布局(autolayout)
  3. 数据结构链表之队列,Python3实现——7
  4. 安装EXSI遇到No Network Adapters的解决方案
  5. python布尔类型运算_Python对象类型及其运算方法(详解)
  6. Deno 会取代 Node.js 吗?
  7. python怎么让图片旋转45度_是否有方法将matplotlib打印旋转45度?
  8. 解决phpcms V9 推荐位无法排序
  9. 区域增长 matlab,图像分割 区域增长
  10. linux嵌入式ARM系统开发实战教程从入门到精通
  11. xp怎么设置计算机共享的打印机共享的打印机共享,XP设置打印机局域网共享的解决方法步骤...
  12. 泰迪杯数据挖掘挑战赛—数据预处理(二)
  13. camel研究_【卡瑞利珠单抗·CameL研究者说】任秀宝教授:卡瑞利珠单抗治疗NSCLC疗效与安全性俱佳,受指南重磅推荐后再获批肺癌适应症...
  14. 在java程序中实现发送邮件的功能
  15. 大数据面试题汇总(含数仓)
  16. Allan方差与随机误差辨识
  17. fastjson按照ascii码排序
  18. 教你替换文件名,如何批量更改部分文件名的操作方法
  19. 杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略
  20. 计算机字体渲染的学问

热门文章

  1. python道德经摘要
  2. 计算机二级java判卷标准_计算机二级考试的有什么衡量的评分标准?
  3. Apache Skywalking 视频教程
  4. opencv3.4.0安装contrib3.0.0模块
  5. mysql扩展之mysqli
  6. android自动烧写工具,利用fastboot烧写Android平板镜像典型步骤举例
  7. 一. 实战——PageHelper的使用
  8. [转载] 信息系统项目管理师视频教程——01 信息系统综合知识总论
  9. Mysql 修改密码 (亲测)
  10. Docker搭建ngrok服务器