如何安装ElasticSearch及相关件

一、简介

ElasticSearch是什么?

elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。

ElasticSearch 插件

elasticsearch-head是一款专门针对于elasticsearch的客户端工具,elasticsearch-head是一个基于node.js的前端工程

IK分词器

ElasticSearch 默认采用的分词器, 是单个字分词 ,效果很差 ,所以我们需要安装一个更实用的分词器,这里采用 IK分词器

Kibana是什么?

是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。

你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。

可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。

Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

二、安装ElasticSearch

操作2-6 均在root 账户下执行,操作7启动elasticsearch在sonar账户下运行

1、新创建普通用户

elasticsearch不能用root账号启动,为了避免之后启动麻烦,直接创建一个用户建立一个文件夹

  • 在root账户下运行:adduser sonar

sudo password for xx:

输入xx用户的密码,出现如下信息

正在添加用户"linuxidc"...

正在添加新组"linuxidc" (1006)...

正在添加新用户"linuxidc" (1006) 到组"linuxidc"...

创建主目录"/home/linuxidc"...

正在从"/etc/skel"复制文件...

输入新的 UNIX 口令:

重新输入新的 UNIX 口令:

两次输入linuxidc的初始密码,出现的信息如下

passwd: password updated successfully

Changing the user information for linuxidc

Enter the new value, or press ENTER for the default

Full Name \[\]:

Room Number \[\]:

Work Phone \[\]:

Home Phone \[\]:

Other \[\]:

Full Name \[\]: 等信息一路回车

这个信息是否正确? Y/n y

到此,用户添加成功。

  • 检查是否添加成功:ls /home/ 下面是否有sonar账号
  • 如果elasticsearch文件目录放在root目录下,那还需要给root目录一个权限,但不推荐

chmod 755 /root

2、新建tools目录并且从官网下载压缩包

可以先从网上下载压缩包,然后上传到ubuntu系统当中

  • 创建tools 目录

mkdir tools

  • 下载项目

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz

3、解压zip

  • tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
  • mv elasticsearch-7.16.3 elasticsearch

4、修改运行内存

  • 进入解压后的elasticsearch 文件中

cd elasticsearch (对应你的解压路径)

  • 修改配置文件

vim /config/jvm.options

修改如下内容,取消下面两行的注释,内存设置为2g

-Xms2g

-Xmx2g

exit + :wq! 退出保存

5、修改外网访问权限

  • mkdir -p /home/sonar/elasticsearch/data
  • mkdir -p /home/sonar/elasticsearch/data
  • vim /config/elasticsearch.yml

找到并取消下面行的注释,并修改

path.data: /home/sonar/elasticsearch/data

path.logs: /home/sonar/elasticsearch/logs

network.host: 0.0.0.0

node.name: node-1

cluster.initial_master_nodes: "node-1"

文件结尾添加:

http.cors.enabled: true

http.cors.allow-origin: "*"

备注:http.cors.enabled 该参数的意思:是否支持跨域,默认为false

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

exit + :wq! 退出保存

6、java 环境配置

  • elasticsearch 7.0 之后的版本会集成相应的jdk版本
  • 修改elastic的启动脚本文件

cd elasticsearch (对应你的解压路径)

vim /bin/elasticsearch

添加以下代码

export JAVA_HOME= path/elasticsearch/jdk/ (此处配置为elasticsearch解压后jdk的路径,如上图写绝对路径)

export PATH=JAVA_HOME/bin:PATH

if -x "$JAVA_HOME/bin/java" ; then

JAVA="/home/yutao/jdk1.8.0_121/bin/java"

else

JAVA=`which java`

fi

exit + :wq! 退出保存

7、运行elasticsearch

切换到sonar账号

运行 ./elasticsearch (后续没有报错,可以加上 -d 后台运行)

发现有报错 (elasticsearch用户拥有的内存权限太小):

ERROR: 1 bootstrap checks failed. You must address the points described in the following 1 lines before starting Elasticsearch.

bootstrap check failure 1 of 1: max virtual memory areas vm.max_map_count 65530 is too low, increase to at least 262144

ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/log/my-es.log

解决方案:

vim /etc/sysctl.conf

添加如下所示配置: vm.max_map_count=655360

exit + :wq! 退出保存

刷新配置: sysctl -p /etc/sysctl.conf/

再次运行

8、检查是否运行成功

  • 可以查看后台进程:ps -ef | grep elastic
  • 访问网址:ip: 9200

如果访问不到,需要关闭防火墙或添加端口号9200

再次访问可以看到如下效果:

三、安装 es 插件Elasticsearch-head

1、下载插件

2、安装nodejs,npm,切换npm源, 安装grunt

3、设置head-master目录下Gruntfile.js文件

在connect下增加:hostname: '*'

在connect下修改:port改为9009

改后

4、安装npm 依赖

npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

npm install

5、运行

执行命令:npm run start

网页访问:ip:9009 (上图修改后的port)

相关推荐
大树885 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工6 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智7 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_7 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉8 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦8 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
java_cj9 小时前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
lsyeei9 小时前
linux 系统目录详解
linux·运维·服务器