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.解压

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

tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

image-20221129221415888

3.创建用户

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

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

image-20221129221627602

4.修改配置文件

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

# 在文件尾部加入如下配置
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启动就会抛错

# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
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])

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

# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
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]))

调大系统的虚拟内存

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

重新加载

sysctl -p

5.启动

#前台启动
bin/elasticsearch
#后台启动
bin/elasticsearch -d

image-20221129224033090

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

6.测试

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

image-20221129224858372

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.关闭

netstat -tunlp|grep 9200
kill -9 进程号

image-20240306095652940

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.解压安装包

tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz

2.修改配置文件

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.启动

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

4.测试

访问http://ip:5601/app/kibana#/home出现一下界面说明搭建成功.

5.关闭

netstat -tunlp|grep 5601
kill -9 端口号

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3 Linux下IK分词器安装

IK分词器下载地址

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

mkdir ‐p ik 

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

unzip elasticsearch-analysis-ik-7.6.1.zip

1.4 Linux下安装ES-Head插件

1.1 解压安装包

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

tar -zxvf node-v8.1.0-linux-x64.tar.gz 

1.2 创建软连接

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 修改环境变量

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

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

source /etc/profile

1.4 验证安装成功

node -v
npm -2,v

1.5 修改Gruntfile.js

cd /usr/local/es/elasticsearch-head
vim Gruntfile.js

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

connect: {                       
 server: {                             
 options: {                                    
 hostname: '自己的hostame',                                    
 port: 9100,                                    
 base: '.',                                    
 keepalive: true                              
  }                       
 }               
 }

1.6 修改app.js

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

1.7 启动head服务

cd /usr/local/es/elasticsearch-head/node_modules/grunt/bin/

进程前台启动命令

./grunt server

进程后台启动名称

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网络

docker network create es-net

下载镜像

docker pull elasticsearch:7.6.1

运行容器

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

下载镜像:

docker pull kibana:7.6.1

运行容器:

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:端口映射配置

设置中文:

进入容器

docker exec -it kibana bash

修改配置文件

vim config/kibana.yml

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

1.6 Docker安装IK分词器

查看挂在ES插件目录

docker volume inspect es-plugin

image-20240223000746487

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

image-20240223000905423

1.7 Docker安装ES-Head插件

1.拉取镜像

docker pull  mobz/elasticsearch-head:5

2.运行容器

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

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

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

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"

4.访问页面:

image-20240306095534570

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

1.7 Docker安装ES-Head插件

1.拉取镜像

docker pull  mobz/elasticsearch-head:5

2.运行容器

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

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

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

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"

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

  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值