Elasticsearch从入门到精通-02环境搭建

Elasticsearch从入门到精通-02环境搭建

👏作者简介:大家好,我是程序员行走的鱼

🍂博主从本篇正式开始ES学习,希望小伙伴可以一起探讨

📖 本篇主要介绍和大家一块学习一下ES环境搭建,主要包括Elasticsearch、Kibina、IK分词器、ES-Head插件安装

链接:https://pan.baidu.com/s/1MciUlOeLP1q3o2Jt9zKYDA

提取码:YYDS

ES相关软件都在上边连接中

1.1 Linux下搭建Elasticsearch

1.安装包下载

本次安装版本:7.8.0 安装包自行去官网下载

2.解压

在安装包所在目录进行压缩

bash 复制代码
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

3.创建用户

因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户

bash 复制代码
useradd es #新增 es 用户
passwd es #为 es 用户设置密码
#userdel -r es #如果错了,可以删除再加
chown -R es:es /usr/environment/elasticsearch/elasticsearch-7.8.0 #文件夹所有者

4.修改配置文件

修改usr/environment/elasticsearch/elasticsearch-7.8.0/config/elasticsearch.yml

bash 复制代码
# 在文件尾部加入如下配置
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

修改/etc/security/limits.conf

(可以解决出现max file descriptors 4096 for elasticsearch process likely too low,increase to at least 65536)

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

bash 复制代码
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536

修改/etc/security/limits.d/20-nproc.conf

(可以解决出现max number of threads 1024 for user es likely too low, increase to atleast 4096)

修改普通用户可以创建的最大线程数

bash 复制代码
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称

修改/etc/sysctl.conf

(可以解决max virtual memory areas vm.max_map_count 65530 likely too low,increase to at least 262144))

调大系统的虚拟内存

bash 复制代码
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

重新加载

bash 复制代码
sysctl -p

5.启动

bash 复制代码
#前台启动
bin/elasticsearch
#后台启动
bin/elasticsearch -d

注意:9300端口为Elasticsearch集群间组件的通信端口,9200端口为浏览器访问的 http协议 RESTful 端口。

6.测试

打开浏览器(推荐使用谷歌浏览器),输入地址:http://ip:9200,测试结果

Elasticsearch 是使用 java 开发的,且 7.8 版本的 ES 需要 JDK 版本 1.8 以上,默认安装包带有 jdk 环境,如果系统配置 JAVA_HOME,那么使用系统默认的 JDK,如果没有配置使用自带的 JDK,一般建议使用系统配置的 JDK。

双击启动窗口闪退,通过路径访问追踪错误,如果是"空间不足",请修改config/jvm.options 配置文件

#设置 JVM 初始内存为 1G。此值可以设置与-Xmx 相同,以避免每次垃圾回收完成后 JVM 重新分配内存

#设置 JVM 最大可用内存为 1G

-Xms1g

-Xmx1g

7.关闭

bash 复制代码
netstat -tunlp|grep 9200
kill -9 进程号

1.2 Linux下搭建Kibina

​ Kibana 是一个免费且开放的用户界面,能够让你对 Elasticsearch 数据进行可视化,并让你在 Elastic Stack 中进行导航。你可以进行各种操作,从跟踪查询负载,到理解请求如何流经你的整个应用,都能轻松完成。下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz

安装步骤:

还是需要用非root用户去操作!

1.解压安装包

bash 复制代码
tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz

2.修改配置文件

bash 复制代码
vim config/kibana.yml

# 默认端口
server.port: 5601
server.host: '0.0.0.0'
# # ES 服务器的地址
elasticsearch.hosts: ["http://192.168.0.135:9200"]
# # 索引名
kibana.index: ".kibana"
# # 支持中文
i18n.locale: "zh-CN"

3.启动

bash 复制代码
#授权
chown -R es:es /usr/environment/kibana/kibana-7.8.0-linux-x86_64
#启动
nohup ./kibana &

4.测试

访问http://ip:5601/app/kibana#/home出现一下界面说明搭建成功.![](https://file.jishuzhan.net/article/1765587999686397953/cff58a76956bfdac7df92e06b20aa4c5.webp)

5.关闭

bash 复制代码
netstat -tunlp|grep 5601
kill -9 端口号

1.3 Linux下IK分词器安装

IK分词器下载地址

在es的安装目录下/plugins创建ik

bash 复制代码
mkdir ‐p ik 

将下载的ik分词器上传并解压到该目录

bash 复制代码
unzip elasticsearch-analysis-ik-7.6.1.zip

1.4 Linux下安装ES-Head插件

1.1 解压安装包

下载node-v8.1.0-linux-x64.tar.gz文件后解压

bash 复制代码
tar -zxvf node-v8.1.0-linux-x64.tar.gz 

1.2 创建软连接

bash 复制代码
sudo ln -s /usr/local/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /usr/local/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node

1.3 修改环境变量

bash 复制代码
vi /etc/profile
export NODE_HOME=/usr/local/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin

修改完环境变量使用source生效

bash 复制代码
source /etc/profile

1.4 验证安装成功

bash 复制代码
node -v
npm -2,v

1.5 修改Gruntfile.js

bash 复制代码
cd /usr/local/es/elasticsearch-head
vim Gruntfile.js

找到代码的93行:hostname改为自己的ip或者hostame

json 复制代码
connect: {                       
 server: {                             
 options: {                                    
 hostname: '自己的hostame',                                    
 port: 9100,                                    
 base: '.',                                    
 keepalive: true                              
  }                       
 }               
 }

1.6 修改app.js

bash 复制代码
cd /usr/local/es/elasticsearch-head/_site
vim app.js
#在Vim中输入「:4354」,定位到第4354行,修
#改 http://localhost:9200为http://ip:9200

1.7 启动head服务

bash 复制代码
cd /usr/local/es/elasticsearch-head/node_modules/grunt/bin/

进程前台启动命令

bash 复制代码
./grunt server

进程后台启动名称

bash 复制代码
nohup ./grunt server >/dev/null 2>&1 &

Running "connect:server" (connect) taskWaiting forever...Started connect web server on http://192.168.52.100:9100
#如何停止:elasticsearch-head进程
#执行以下命令找到elasticsearch-head的插件进程,然后使用kill  -9  杀死进程即可
netstat -nltp | grep 9100
kill -9 8328

2.6 访问elasticsearch-head界面

打开Google Chrome访问 http://ip:9100/

1.4 Docker下安装Elasticsearch

创建网络

在docker环境下,我们还需要使用kibina和Elasticsearch联通,所以需要先创建一个es网络

java 复制代码
docker network create es-net

下载镜像

bash 复制代码
docker pull elasticsearch:7.6.1

运行容器

java 复制代码
docker run -d \
    --name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v /usr/environment/docker/es/data:/usr/share/elasticsearch/data \
    -v /usr/environment/docker/es/plugins:/usr/share/elasticsearch/plugins \
    -v /usr/environment/docker/es/config/:/usr/share/elasticsearch/config \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.6.1

​ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ #设置ES java内存

​ -e "discovery.type=single-node" \ #设置ES集群模式

​ -v es-data:/usr/environment/docker/es/data \ #数据目录映射

​ -v es-plugins:/usr/environment/docker/es/plugins \ #插件目录映射

​ -v es-config:/usr/environment/docker/es/config \ # 配置文件映射

​ --privileged

​ --network es-net

​ -p 9200:9200

​ -p 9300:9300 \

1.5 Docker下安装kibina

下载镜像:

bash 复制代码
docker pull kibana:7.6.1

运行容器:

java 复制代码
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--restart=always \
-v kibana-config:/usr/environment/docker/kibana/config \
-v kibana-data:/usr/environment/docker/kibana/data  \
--network=es-net \
-p 5601:5601  \
kibana:7.6.1

--network es-net :与elasticsearch在同一个网络中

-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

-p 5601:5601:端口映射配置

设置中文:

进入容器

bash 复制代码
docker exec -it kibana bash

修改配置文件

java 复制代码
vim config/kibana.yml

在末尾添加i18n.locale: "zh-CN"后重启容器即可

1.6 Docker安装IK分词器

查看挂在ES插件目录

BASH 复制代码
docker volume inspect es-plugin

把下载的IK分词器压缩包上传到这个目录下创建ik目录并且进行解压即可

1.7 Docker安装ES-Head插件

1.拉取镜像

bash 复制代码
docker pull  mobz/elasticsearch-head:5

2.运行容器

java 复制代码
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

3.可能出现跨域问题,需要修改ES配置文件

在elasticsearch.yml配置文件末尾添加一下内容

bash 复制代码
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"

4.访问页面:

外链图片转存中...(img-TGGJOH61-1709690221149)]

1.7 Docker安装ES-Head插件

1.拉取镜像

bash 复制代码
docker pull  mobz/elasticsearch-head:5

2.运行容器

java 复制代码
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

3.可能出现跨域问题,需要修改ES配置文件

在elasticsearch.yml配置文件末尾添加一下内容

bash 复制代码
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"

🌟至此本篇就结束了,下一篇将介绍ES客户端kibana的使用以及常用的简单语法

相关推荐
计算机毕业编程指导师几秒前
【计算机毕设推荐】基于Hadoop+Django的LLM多维度性能评估分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·django·毕业设计·课程设计·llm性能
AC赳赳老秦4 分钟前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
计算机毕业设计杰瑞8 分钟前
【2027最新原创大数据】基于大数据的无人机自主导航数据分析与可视化,附源码_数据可视化_数据分析_数据挖掘_Hadoop_spark_文档指导_毕设指导
大数据·信息可视化·数据挖掘·课程设计
卷毛迷你猪10 分钟前
快速实验篇(B12)异常流量与刷单识别(方法论演示)
大数据·hive·hadoop·数据挖掘·聚类
龙亘川12 分钟前
探索智慧文化服务:建设初衷、整体架构、技术支撑、发展现状与实践影响
大数据·数据库·架构
计算机毕业编程指导师15 分钟前
【Python毕设选题推荐】基于Hadoop+Django的奥斯卡奖获奖数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·毕业设计·课程设计·奥斯卡奖
计算机毕业编程指导师22 分钟前
【大数据毕设选题】基于Spark的电信网络诈骗话术语义特征挖掘分析系统源码 毕业设计 选题推荐 数据分析 机器学习 深度学习
大数据·hadoop·python·spark·毕业设计·课程设计·网络诈骗
计算机毕业编程指导师28 分钟前
计算机大数据毕设怎么选?基于Spark的个体肥胖健康风险评估的数据分析与可视化系统带你通关 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·肥胖风险
shjita34 分钟前
几个hadoop中运行mapreduce的错误记录一下。
大数据·hadoop·eclipse
奈落2443 分钟前
【RAG 深度修炼】专栏 · 第 9 期(收官):安全专题与生产 Checklist 总集——从能跑的 Demo 到睡得着觉的生产系统
大数据·网络·人工智能·安全·ai编程