前言:elasticsearch作为一个基于Lucene的分布式搜索引擎,其搜索功能的强大之处不用多说,而elasticsearch-head作为一个node项目,能够轻松管理elasticsearch的集群配置

安装elasticsearch

1、下载资源包并解压安装

  • wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.3-linux-x86_64.tar.gz
  • tar -zxvf elasticsearch-8.4.3-linux-x86_64.tar.gz -C /usr/local/   —C表示指定解压到的目录

2、因为es在5版本后不允许root账号启动,因此需要创建一个子用户

useradd es
chown -R es:es /usr/local/elasticsearch-8.4.3 对解压的目录赋予指定用户权限

3、启动可能报错问题的解决方法(修改时都要在root用户下进行)

  1) 内存不足,因为内存默认为大小为4g,如果服务器有这个配置可以不改

  vim /usr/local/elasticsearch-8.4.3/config/elasticsearch.yml

默认配置如下:
-Xms4g
-Xmx4g
默认的配置占用内存太多了,调小一些:
-Xms256m
-Xmx256m

  2)线程数不足

   vim /etc/security/limits.conf

* hard nofile 65536
* soft nofile 65536
* soft nproc 4096
* hard nproc 4096
//*表示任意用户,也可以写为启动es的用户,需要退出重新登录后生效

  3)用户拥有的内存权限太小

   vim /etc/sysctl.conf

文件末尾添加vm.max_map_count=2621441,保存后执行:sysctl -p 使其生效

4、Elasticsearch的多节点配置

  a)  主节点配置(只有一个节点)

#集群名称
cluster.name: demon #对外访问ip,表示都可以访问
network.host: 0.0.0.0 //本机ip或写成0.0.0.0提供外部访问

#节点名称
node.name: elk-1

#存放数据的位置(这两个文件位置可以不改,默认会放在es的data目录下)
path.data: /data/es-data

#存放运行日志的位置
path.logs: /var/log/elasticsearch
#节点端口
http.port: 9200 #是否支持跨域
http.cors.enabled: true # *表示支持所有域名
http.cors.allow-origin: "*"

#初始化的master节点
cluster.initial_master_nodes: ["elk-1"]

  a+)  主节点配置(集群)

#节点角色
node.roles: [master,data] #集群名称
cluster.name: elasticsearch #对外访问ip
network.host: 0.0.0.0
#节点名称
node.name: node-0

#存放数据的位置(这两个文件位置可以不改,默认会放在es的data目录下)
path.data: /data/es-data

#存放运行日志的位置
path.logs: /var/log/elasticsearch
#节点端口 
http.port: 9200
transport.port: 9300
#集群间通讯,不配置节点间不识别
network.publish_host: 192.168.8.103(本机ip)

#节点列表 默认端口9300,非9300需要带上端口号,自动轮询发现
discovery.seed_hosts: ["192.168.8.79:9300","192.168.8.103:9300"]
#初始化的master节点,表示可以选为主节点的节点
cluster.initial_master_nodes: ["node-0","node-1"]
#是否支持跨域 
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

  b)  子节点配置

#节点角色
node.roles: [master,data] #集群名称
cluster.name: elasticsearch #对外访问ip
network.host: 0.0.0.0
#节点名称
node.name: node-1 #存放数据的位置(这两个文件位置可以不改,默认会放在es的data目录下)
path.data: /data/es-data #存放运行日志的位置
path.logs: /var/log/elasticsearch

#节点端口
http.port: 9200
transport.tcp.port: 9300
network.publish_host: 192.168.8.79(本机ip) #节点列表 默认端口9300,非9300需要带上端口号,自动轮询发现
discovery.seed_hosts: ["192.168.8.79:9300","192.168.8.103:9300"]
 
#初始化的master节点,表示可以选为主节点的节点
cluster.initial_master_nodes: ["node-0","node-1"] #是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

记得拷贝整个elasticsearch文件,需要删除data目录下的文件,或者分开手动设置data目录

  新建的目录或文件要确认所属用户组为子用户,否则运行时会报权限不足的错误

5、es的启动关停

前台运行,Ctrl + C 则程序终止
/usr/local/elasticsearch-7.13.2/bin/elasticsearch 后台运行
/usr/local/elasticsearch-7.13.2/bin/elasticsearch -d
出现started时启动完成 关闭ES服务
kill pid

6、设置登录密码(单节点)

编辑配置文件
vim /usr/local/elasticsearch-8.4.3/config/elasticsearch.yml 在 elasticsearch.yml 末尾,加入以下内容:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true 编辑内容后重启Elasticsearch服务(必须操作)
   注:如果出现如下异常,报错提示需启用TSL/SSL加密传输则按下面操作
Transport SSL must be enabled if security is enabled on a [basic] license. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]
  • Elasticsearch附带了一个名为elasticsearch-certutil的实用程序,可用于生成加密Elasticsearch集群内部通信的自签名证书,证书生成命令如下:
输入密码那一块直接回车,不要设置密码 假如在生成证书的时候设置了密码,会导致无法启动ES

#进入es目录下
#签发CA证书
./bin/elasticsearch-certutil ca
ENTER ENTER
#用CA证书签发节点证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
ENTER ENTER ENTER
我们将获得可用于加密通信的TLS/SSL证书elastic-certificates.p12
#创建证书目录
mkdir config/certs #将证书复制到config/certs的目录中
cp elastic-certificates.p12 config/certs/ #重新编辑elasticsearch.yml文件
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 然后重新启动Elasticsearch使上述更改生效
  • 设置密码
进入安装目录
cd /usr/local/elasticsearch-8.4.3
./bin/elasticsearch-setup-passwords interactive
按提示输入密码完成操作

安装chrome的elasticsearch-head插件

1、下载安装包

https://codeload.github.com/liufengji/es-head/zip/refs/heads/master

2、将.crx后缀改为rar后解压

3、解压成功后将.metadata文件名改为metadata

4、进入chrome的插件界面,选择解压的elasticsearch-head文件夹

服务器安装elasticsearch-head插件

相关版本:Elasticsearch:6.2.4  node:10.16.0   jdk:1.8

安装node

1、  下载资源wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz

2、  解压tar -xf node-v10.16.0-linux-x64.tar.xz

3、  改名mv node-v10.16.0-linux-x64 nodejs

4、  建立软连接

ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

5、  使用node –v查看node版本

安装elasticsearch-head插件

1、  在git上clone资源:git clone git://github.com/mobz/elasticsearch-head.git

2、  进入elasticsearch-head目录:cd elasticsearch-head/

3、  使用npm install 进行安装

    a)         安装过程出现的错误与解决办法

i. 手动安装phantomjs

      1. 在这之前需要安装bz2,使用yum安装 
        1. yum search bzip2  //查询安装包  
        2. yum -y install bzip2.x86_64
      2. 解压:tar -xjvf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /data
      3. 建立软连接:ln -s /data/phantomjs-2.1.1-linux-x86_64/bin/phantomjs  /usr/bin
      4. 使用phantomjs –v查看安装版本

       ii. 报错  “error while loading shared libraries: libfontconfig.so.1: cannot open”   解决:yum -y install fontconfig-devel

        报错 “Failed at the phantomjs-prebuilt@2.1.16 install scriptb)”   解决:npm install phantomjs-prebuilt@2.1.14 --ignore-scripts

4、  安装后出现

则大致表示成功了

5、  修改elasticsearch-head中的配置

 修改Gruntfile.js文件

 修改_site/app.js

最后使用npm run install 命令启动,出现以下情况表示启动成功

最终效果:

参考文章:https://www.cnblogs.com/cheyunhua/p/11238489.html

     https://blog.csdn.net/u013381364/article/details/102988415

ElasticSearch、ElasticSearch-head的安装和问题解决的更多相关文章

  1. ElasticSearch在CentOS的安装

    ElasticSearch在CentOS的安装 一.tar包安装 单机安装 创建elastic用户,ElasticSearch不支持root用户运行 useradd elastic 上传文件到 /so ...

  2. ElasticSearch 5学习(1)——安装Elasticsearch、Kibana和X-Pack

    安装准备: 安装Elasticsearch唯一的要求是安装官方新版的Java,包括对应的Jdk. 安装Elasticsearch 首先到官网下载最新版本的Elasticsearch压缩包. 可以使用命 ...

  3. ElasticSearch 2 (6) - 插件安装Head、Kopf与Bigdesk

    ElasticSearch 2 (6) - 插件安装Head.Kopf与Bigdesk 摘要 安装Elasticsearch插件Head.Kopf与Bigdesk 版本 elasticsearch版本 ...

  4. Elasticsearch入门教程之安装与基本使用

    ubuntu16.04+elasticsearch6.5为例,参考官网文档https://www.elastic.co/guide/en/elasticsearch/reference/current ...

  5. ELk(Elasticsearch, Logstash, Kibana)的安装配置

    目录 ELk(Elasticsearch, Logstash, Kibana)的安装配置 1. Elasticsearch的安装-官网 2. Kibana的安装配置-官网 3. Logstash的安装 ...

  6. Elasticsearch Docker环境下安装

    Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...

  7. ElasticSearch 5.6.1 安装 Kibana、X-Pack和head

    前面已经有写过ElasticSearch和iK的安装了这里就不在所了. 安装Kiabna 在下载tar包的时候需要注意下一安装的es版本号,按照官网的说明版本是对应一致的. https://www.e ...

  8. Elasticsearch报警插件Watch安装以及使用

    参考:http://blog.csdn.net/ptmozhu/article/details/52296958 http://corejava2008.iteye.com/blog/2214279 ...

  9. 第三百五十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装

    第三百五十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装 elasticsearch(搜索引擎)介绍 ElasticSearch是一个基于 ...

  10. Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题

    ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...

随机推荐

  1. 均有商业公司支持!2023再看数据湖 hudi iceberg delta2 社区发展现状!

    开源数据湖三剑客 Apache hudi.Apache iceberg .Databricks delta 近年来大动作不断. 2021年8月,Apache Iceberg 的创始人 Ryan Blu ...

  2. 真正“搞”懂HTTP协议09之这个饼干不能吃

    我们在之前的文章中介绍HTTP特性的时候聊过,HTTP是无状态的,每次聊起HTTP特性的时候,我都会回忆一下从前辉煌的日子,也就是互联网变革的初期,那时候其实HTTP不需要有状态,就是个浏览页面,没有 ...

  3. 为什么游戏公司应该选择 Cloud Spanner 来支持他们的游戏?

    普华永道最近的一份报告指出,全球游戏行业是过去几年经历显着增长的行业之一,到 2026 年该行业(不包括电子竞技)的价值有望达到 3210 亿美元.过去仅三年时间,该行业就增加了 5 亿玩家,全球玩家 ...

  4. 异常的产生过程解析-throw关键字

    异常的产生过程解析 先运行下面的程序,程序会产生一个数组索引越界异常ArrayIndexOfBoundException.我们通过图解来解析下异常产生的过程. 工具类 throw关键字 在编写程序时, ...

  5. Dubbo-RPC核心接口介绍

    前言 Dubbo源码阅读分享系列文章,欢迎大家关注点赞 SPI实现部分 Dubbo-SPI机制 Dubbo-Adaptive实现原理 Dubbo-Activate实现原理 Dubbo SPI-Wrap ...

  6. AR Engine毫秒级平面检测,带来更准确的呈现效果

    近年来,AR版块成为时下大热,这是一种将现实环境中不存在的虚拟物体融合到真实环境里的技术,用户借助显示设备可以拥有真实的感官体验.AR的应用场景十分广泛,涉及娱乐.社交.广告.购物.教育等领域:AR可 ...

  7. 学习Java Day2

    今天学习了Java常量的关键字,与C/C++不同,Java是final,而且Java的常量一般用全大写表示:也学习了枚举变量,运算符,数学函数与常量,其中大多知识与C/C++相同,但是Java还提供M ...

  8. Spring Boot整合JSP --CRUD

    Springboot整合JSP spring boot与视图层次的整合: JSP 效率低 Thymeleaf java Server page 是Java提供的一种动态的网页技术,低层是Servlet ...

  9. 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad

    前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s ️Reference: IoT 边缘计算系列文章 ...

  10. Eureka高可用集群服务端和客户端配置

    微服务应用中,生产环境一般都需要保障服务注册中心的高可用!高可用也分好几个等级,例如:同数据中心(可用Zone区)高可用-->同地域(Region)跨数据中心(可用Zone区)高可用--> ...