docker安装
ES安装
拉取镜像
# 版本已比较老 可使用较新的7.17.0 或8.0.0 docker pull elasticsearch:7.4.0
配置分词器 ik/pinyin
#切换目录 mkdir /usr/share/elasticsearch/plugins cd /usr/share/elasticsearch/plugins #新建目录 mkdir analysis-ik cd analysis-ik #root根目录中拷贝文件 mv elasticsearch-analysis-ik-7.4.0.zip /usr/share/elasticsearch/plugins/analysis-ik #解压文件 cd /usr/share/elasticsearch/plugins/analysis-ik unzip elasticsearch-analysis-ik-7.4.0.zip
创建容器
docker run -id --name elasticsearch -d -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" elasticsearch:7.4.0
设置开机启动
docker update --restart=always elasticsearch
安装Kibana
docker pull kibana:7.4.0
docker run -d -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://192.168.200.130:9200" kibana:7.4.0
安装elasticsearch-head
docker pull mobz/elasticsearch-head:5 docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
- 解决跨域无法访问问题
进入elasticsearch容器内部,修改配置文件elasticsearch.yml
docker exec -it elasticsearch /bin/bash cd ./config vim elasticsearch.yml
在elasticsearch.yml中添加:
http.cors.enabled: true http.cors.allow-origin: "*"
重启 elasticsearch容器
docker restart elasticsearch
- 解决es高版本不显示数据问题
进入 es-head 容器里面的 _site目录修改配置文件vendor.js
docker exec -it wonderful_gould /bin/bash 镜像中未安装vi/vim apt-get update apt-get install vim cd /usr/src/app/_site vim vendor.js
需要修改两个地方
6886行:
contentType: "application/x-www-form-urlencoded" // 改成 contentType: "application/json;charset=UTF-8"
7573行:
var inspectData = s.contentType === "application/x-www-form-urlencoded" && // 改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
Linux 安装
ES安装
1、下载安装包后解压
# 下载地址 # 版本已比较老 可使用较新的7.17.0 或8.0.0 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 shasum -a 512 -c elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 # certutil -hashfile elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 sha256 # 将elasticsearch-7.4.0-linux-x86_64.tar.gz解压到opt文件夹下. -C 大写 tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt
2、创建普通用户,可使用已存在用户。
因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:
useradd esuser # 新增esuser用户 passwd esuser # 为esuser用户设置密码
3、为新用户授权
chown -R esuser:esuser /opt/elasticsearch-7.4.0 #文件夹所有者
4、修改elasticsearch.yml文件
vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml
# ======================== Elasticsearch Configuration ========================= cluster.name: my-application node.name: node-1 network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_nodes: ["node-1"]
cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
network.host:设置为0.0.0.0允许外网访问
http.port:Elasticsearch的http访问端口
cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master
5、修改配置文件
新创建的用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件, 添加类似如下内容
# 切换到root用户 su root #1. ===最大可创建文件数太小======= vim /etc/security/limits.conf # 在文件末尾中增加下面内容 esuser soft nofile 65536 esuser hard nofile 65536 # ===== vim /etc/security/limits.d/20-nproc.conf # 在文件末尾中增加下面内容 esuser soft nofile 65536 esuser hard nofile 65536 * hard nproc 4096 # 注:* 代表Linux所有用户名称 #2. ===最大虚拟内存太小======= vim /etc/sysctl.conf # 在文件中增加下面内容 vm.max_map_count= # 重新加载,输入下面命令: sysctl -p
6、启动elasticsearch
su esuser # 切换到alaric用户启动 cd /opt/elasticsearch-7.4.0/bin ./elasticsearch #启动
7、访问elasticsearch
访问前开放确保开放9200端口
访问http:/ip:9200,出现以下信息则启动成功
{
"name" : "7319e4d6c114", "cluster_name" : "docker-cluster", "cluster_uuid" : "kj373c7FRiy9ShWydysg", "version" : {
"number" : "7.4.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "22ee61a198cb4db791ea66e3f11ab9910", "build_date" : "2019-09-27T08:36:48.Z", "build_snapshot" : false, "lucene_version" : "8.2.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
重点几个关注下即可: number" : "7.4.0" 表示elasticsearch版本 lucene_version" : "8.2.0" 表示lucene版本 name : 默认启动的时候指定了 ES 实例名称 cluster_name : 默认名为 elasticsearch
分词器安装
- Ik分词器安装
建议windows下编译后再将压缩文件上传到服务器
# 下载 git clone https://github.com/medcl/elasticsearch-analysis-ik # 切换分支 # 这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。(detached 分离的)。因为 tag 相当于是一个快照,是不能更改它的代码的。 # 切换后可打开查看pom文件依赖的elasticsearch版本号确认 git checkout v7.4.0 # 打包 mvn package
也可以直接下载编译好的压缩吧(对应版本不全)
https://github.com/medcl/elasticsearch-analysis-ik/releases
服务器端
#切换目录 cd /opt/elasticsearch-7.4.0/plugins/ #新建目录 mkdir analysis-ik cd analysis-ik #package执行完毕后会在当前目录下生成target/releases目录,将其中的elasticsearch-analysis-ik-7.4.0.zip上传到服务器 #执行解压 unzip /opt/elasticsearch-7.4.0/plugins/analysis-ik/elasticsearch-analysis-ik-7.4.0.zip
将elasticsearch-analysis-ik-7.4.0目录下的config目录中的所有文件上传到服务器到elasticsearch的config目录
cd /opt/elasticsearch-7.4.0/config
重启elasticsearch
测试
GET /_analyze {
"analyzer": "ik_max_word", "text": "乒乓球明年总冠军" }
- 拼音分词器同理
git clone https://github.com/medcl/elasticsearch-analysis-pinyin git checkout 7.4.0
cd /opt/elasticsearch-7.4.0/plugins/ # 新建目录 mkdir pinyin ……同理
测试
GET /_analyze {
"analyzer": "pinyin", "text": "pingpangqiumingnianzongguanjun" }
注意:分词器的名称“pinyin”为放置分词器jar包文件夹的名字
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223821.html原文链接:https://javaforall.net
