电商项目高级篇-01 elasticsearch

电商项目高级篇-01 elasticsearch

1、linux下安装elasticsearch和可视化工具

将安装好jdk1.8和tomcat的centos7下安装elasticsearch

复制代码
docker pull elasticsearch:7.4.2

docker pull kibana:7.4.2

##docker下安装软件需要配置挂载。方便修改配置文件

复制代码
mkdir -p /mydata/elasticsearch/config

mkdir -p /mydata/elasticsearch/data

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

给予最大权限

复制代码
chmod -R 777 /mydata/elasticsearch/

设置挂载和最大内存占用启动

复制代码
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

##docker下检查容器日志

复制代码
docker logs 7f


日志是正常的

访问正常

安装kibana可视化工具

复制代码
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的虚拟机地址:9200 -p 5601:5601 \
-d kibana:7.4.2

出现这个界面代表安装成功

2、docker设置虚拟机开机启动和容器开机启动

我们每次启动虚拟机都要重启docker服务。甚至重启容器。很麻烦。所以设置自启动.

1、创建docker.service文件

复制代码
 touch /etc/systemd/system/docker.service

2、编写代码程序

复制代码
[Unit]
Description=Docker Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/dockerd
Restart=on-failure

[Install]
WantedBy=multi-user.target

3、重载配置文件。使配置文件生效

复制代码
systemctl daemon-reload

4、使服务开机即启动

复制代码
systemctl enable docker.service

5、启动docker

复制代码
systemctl start docker

6、验证docker.service是否启动

复制代码
systemctl is-enabled docker.service

然后下一次虚拟机重启。docker服务自己就启动了

###如何实现容器也启动

两种方式:

1、通过restart来实现(比如kibana)

先删除容器。再重启

复制代码
docker rm 容器id

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的虚拟机地址:9200 -p 5601:5601 \
 --restart=always -d kibana:7.4.2

再重启服务器已经成功了

2、可通过update 命令设置

无需删除容器

复制代码
docker update --restart=always 容器名称(或者容器ID)

docker start 容器id

再重启服务器已经成功

可以看到kibana界面

3、elasticsearch的curd

3.1、新增、更新

post和put更新操作。put必须带id。post可以不用

同一个id第一次调用新增、第二次调用修改

不带id将会报错

post请求不带id

每一次会生成一个新的id,一直会新增

post请求带id。则相同id第一次新增、后面修改

3.2、查询

get请求

乐观锁修改

?if_seq_no=0&if_primary_term=1

必须先获取到最新版本号。如果出现并发。则第二个人无法获取到最新的版本号。则更新失败


当获取到最新的版本号时则更新ok

相关推荐
码上地球10 分钟前
大数据成矿预测系列(八) | 从定性到概率:逻辑回归——地质统计学派的“集大成者”
大数据·逻辑回归
拓端研究室10 分钟前
专题:2025中国医疗器械出海现状与趋势创新发展研究报告|附160+份报告PDF、数据、可视化模板汇总下载
大数据·人工智能·pdf
zskj_zhyl1 小时前
科技向暖,银发无忧:十五五规划中智慧养老的温度革命
大数据·人工智能·科技·物联网·生活
muxue1782 小时前
Hadoop集群搭建(上):centos 7为例(已将将安装所需压缩包统一放在了/opt/software目录下)
大数据·hadoop·centos
阿里云大数据AI技术2 小时前
【跨国数仓迁移最佳实践11】基于 MaxCompute Resource & Quota策略优化实现资源管理性能与成本最优平衡
大数据
Elastic 中国社区官方博客3 小时前
Elasticsearch 的结构化文档配置 - 递归分块实践
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jenkins
神的孩子都在歌唱3 小时前
Elasticsearch 7.6 安装 Jieba 中文分词插件完整教程
elasticsearch·中文分词·jenkins
草明3 小时前
Elasticsearch 报错:index read-only / allow delete (api) 深度解析与解决方案
大数据·elasticsearch·jenkins
得帆云3 小时前
低代码高频实践场景系列之一——EHS系统
大数据·人工智能·物联网
失散134 小时前
分布式专题——55 ElasticSearch性能调优最佳实践
java·分布式·elasticsearch·架构