Elasticsearch(一)——部署

最近遇到一个需求,需要用到Elasticsearch,于是开始学习Elasticsearch。
我是个学东西先学实操再理论的人。所以开始着手安装Elasticsearch,并进行记录。

一、Elasticsearch部署

Windows安装

注意:我这里是基于8.6.2版本进行安装的

1 下载

通过官网进行下载
https://www.elastic.co/cn/downloads/elasticsearch
在这里插入图片描述
根据自己系统下载对应版本的Elasticsearch

2 解压

解压到自己想存放的目录,以我自己为例,我放在了D盘的Program Files文件夹下
在这里插入图片描述

3 配置文件

进入config目录,配置文件

3.1 jvm.options

添加以下内容,设置编码,处理乱码问题

-Dfile.encoding=GBK
3.2 elasticsearch.yml

添加以下内容,添加跨域配置

http.cors.enabled: true
http.cors.allow-origin: “*”

4 初始化Elasticsearch

进入bin目录,运行elasticsearch.bat

第一次运行较久,窗口会提供账号及密码,需要记住

在这里插入图片描述

5 访问

通过浏览器访问https://localhost:9200
在这里插入图片描述
输入初始化时提供的账户和密码,访问成功
在这里插入图片描述

6 以服务的方式安装

为了方便启动,不用每一次启动后有窗口,将Elasticsearch作为服务进行管理。

6.1 配置环境变量

将Elasticsearch的安装目录设置为环境变量ES_HOME
在这里插入图片描述

6.2 Path变量添加

在系统环境变量里添加

%ES_HOME%\bin
6.3 安装服务

打开命令窗口,输入命令:

elasticsearch-service.bat install

在这里插入图片描述

6.4 操作命令
  • 启动Elasticsearch服务:
elasticsearch-service.bat start
  • 停止Elasticsearch服务:
elasticsearch-service.bat stop
  • 安装Elasticsearch服务:
elasticsearch-service.bat install
  • 卸载Elasticsearch服务:
elasticsearch-service.bat remove
  • 启动 Elasticsearch 属性gui:
elasticsearch-service.bat manager

linux安装

我采用docker安装,如果服务器没装docker,看这个Linux部署Docker

1 镜像下载

输入命令,搜索elasticsearch提供的版本。

docker search elasticsearch

这里我选择下载7.0.0版本,因为只搜到这个版本的

docker pull elasticsearch:7.0.0

2 配置文件

创建对应文件夹用来挂载elasticsearch的事

mkdir /usr/local/es/config
mkdir /usr/local/es/data
mkdir /usr/local/es/plugins

创建配置文件elasticsearch.yml

cd /usr/local/es/config
touch elasticsearch.yml

添加以下内容

http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: “*”

赋予文件夹权限

sudo chmod -R 777 /usr/local/es/

3 启动容器

输入命令启动es

sudo docker run --name elasticsearch --restart=always -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /usr/local/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/es/data:/usr/share/elasticsearch/data -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.0.0

开放9200端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent && firewall-cmd --reload

4 访问

访问服务器的9200端口
在这里插入图片描述

二、ElasticSearch-Head插件

ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映射、创建索引等。从ES6.20开始,head插件支持使得node.js运行。

这里只以在linux环境上部署ElasticSearch-Head为例

拉取镜像

docker pull mobz/elasticsearch-head:5

启动容器

docker run -d --name elasticsearch-head --restart=always -p 9100:9100 mobz/elasticsearch-head:5

开放9100端口

firewall-cmd --zone=public --add-port=9100/tcp --permanent && firewall-cmd --reload

访问

访问9100端口,并连接elasticsearch端口9200
在这里插入图片描述
连接成功

Content-Type header请求头错误

虽然连接成功了,但是发现报了个请求头错误。
在这里插入图片描述
通过docker ps命令查看容器id
在这里插入图片描述
将容器中的vendor.js拷贝到宿主机

mkdir /usr/local/es_head
docker cp 4ab73a7d0a1c:/usr/src/app/_site/vendor.js /usr/local/es_head/

对vendor.js进行修改:

  • 6886行 :contentType: "application/x-www-form-urlencoded修改为
    contentType: “application/json;charset=UTF-8”
  • 7574行:var inspectData = s.contentType === “application/x-www-form-urlencoded” && 修改为
    var inspectData = s.contentType === “application/json;charset=UTF-8” &&

先移除原有的elasticsearch-head容器,重新挂载文件后运行

docker stop elasticsearch-head
docker rm elasticsearch-head
docker run -d --name elasticsearch-head --restart=always -p 9100:9100 -v /usr/local/es_head/vendor.js:/usr/src/app/_site/vendor.js mobz/elasticsearch-head:5

再次在9100端口操作,已不出现请求头错误

三、Kibana插件

ES提供的一个基于Node.js的管理控制台, 可以很容易实现高级的数据分析可视化,以图表的形式展现出来

拉取镜像

注意:拉取的kibana需要跟elasticsearch版本一致,我这里elasticsearch是7.0.0版本,所以拉取的kibana也得是7.0.0

docker pull kibana:7.0.0

文件挂载

创造Kibana挂载目录

 mkdir -p /usr/local/kibana/config

切换到创建的目录下,创建配置文件kibana.yml,内容如下

 server.name: kibana
 server.host: "0"
 elasticsearch.hosts: [ "http://{ip}:9200" ]
 xpack.monitoring.ui.container.elasticsearch.enabled: true
 i18n.locale: "zh-CN"

{ip} 为es对应的ip

给挂载目录设置权限

chmod -R 777 /usr/local/kibana

启动容器

docker run --name kibana -v /usr/local/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -d kibana:7.0.0

开放5601端口

firewall-cmd --zone=public --add-port=5601/tcp --permanent && firewall-cmd --reload

访问

浏览器访问5601端口,成功
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值