一、Elasticearch安装
1、 软件环境
操作系统:CentOS7
Java环境:JDK8
2、 下载
下载es安装包,官网地址https://www.elastic.co/downloads/elasticsearch
下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz(如果本地下载速度特别慢,可以使用公有云下载)
公有云:
私有云:
3、 解压安装包
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
cd /opt/elasticsearch-7.6.2
4、 配置
主节点:
1)、添加用户组和用户
groupadd es
useradd -g es es -p es@2020
chown -R es:es elasticsearch-7.6.2
2)、修改elasticsearch-7.6.2/config/elasticsearch.yml
cluster.name: test-cluster
node.name: master
path.data: /opt/elasticsearch-7.6.2/data
path.logs: /opt/elasticsearch-7.6.2/logs
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 8201
discovery.seed_hosts: ["192.168.3.27", "192.168.3.28"]
cluster.initial_master_nodes: ["master","node-1"]
gateway.recover_after_nodes: 2
action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"
3)、修改elasticsearch-7.6.2/config/ jvm.options
-Xms2g
-Xmx2g
子节点:
将安装文件夹复制到子节点机器上,添加es用户和用户组,修改权限;
并修改elasticsearch-7.6.2/config/elasticsearch.yml
node.name:node-1
5、 启动
在两个节点上切换到es用户,分别启动
./elasticsearch-7.6.2/bin/elasticsearch -d
报错信息如下:
错误1:vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
错误2:vi /etc/sysctl.conf
vm.max_map_count = 262144
sysctl -p
6、 测试
curl http://localhost:8201
{
"name" : "master",
"cluster_name" : "test-cluster",
"cluster_uuid" : "q-gLkahmRUOF2uDdU_jxIw",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
二、head插件安装
1、 下载
下载elasticsearch-head-master.zip
下载地址:https://github.com/mobz/elasticsearch-head
2、 安装nodejs
head插件编译依赖nodejs,需要先安装
1)、 获取nodejs资源
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
2)、 Yum安装
yum install -y nodejs
3)、 验证
node -v
输出:v12.16.2
npm -v
输出:6.14.4
3、 解压安装包,并编译
unzip elasticsearch-head-master.zip
cd elasticsearch-head
npm install
安装可能遇到问题:
1、phantomjs-prebuilt不能安装
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
2、bzip2没找到
yum install -y bzip2
4、 运行
npm run start
输出如下信息:
> elasticsearch-head@0.0.0 start /opt/elasticsearch-head-master
> grunt server
Running “connect:server” (connect) task
Waiting forever…
Started connect web server on http://localhost:9100
5、 测试
浏览器打开http://localhost:9100
连接处输入elasticsearch中配置的http端口,如果连不上,请修改elasticsearch目录config/elasticsearch.yml,添加入下配置:、
http.cors.enabled: true
http.cors.allow-origin: "*"
三、ik分词器安装
1、 下载IK分词器
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
选择当前ElasticSearch对应版本的分词器。
2、 上传到ES plugins文件夹并解压
cd /opt/elasticsearch-7.6.2/plugins/ && mkdir ik
cd ik
unzip elasticsearch-analysis-ik-7.6.2.zip
3、 重启ES
4、 测试
使用默认分词器给中文语句分词,如下:
使用IK分词器