linux搭建ElasticSearch及安装Chrome可视化插件
下载工具包
-
JDK
链接: jdk-8u271
-
ElasticSearch
链接: ElasticSearch 6.8.2
-
拼音插件
链接: elasticsearch-analysis-ik-6.8.2
链接: elasticsearch-analysis-pinyin-6.8.2
安装
1. JDK
- 卸载linux自带jdk,第一行命令如果查询为空,则没自带jdk,第二行可不执行
[root@localhost /]# rpm -qa | grep Java
[root@localhost /]# rpm -e --nodeps ****
error: package bin is not installed
error: package boot is not installed
error: package dev is not installed
error: package etc is not installed
error: package home is not installed
error: package lib is not installed
error: package lib64 is not installed
error: package lost+found is not installed
error: package media is not installed
error: package mnt is not installed
error: package opt is not installed
error: package proc is not installed
error: package root is not installed
error: package run is not installed
error: package sbin is not installed
error: package srv is not installed
error: package sys is not installed
error: package tmp is not installed
error: package usr is not installed
error: package var is not installed
- 新建目录,将jdk安装包上传到该目录下并解压
[root@localhost ~]# mkdir /usr/local/java
[root@localhost ~]# cd /usr/local/java
[root@localhost java]# rz
[root@localhost java]# tar -zxvf jdk-8u271-linux-x64.tar.gz
[root@localhost java]# rm -rf jdk-8u271-linux-x64.tar.gz
[root@localhost java]# ls
jdk1.8.0_271
- 配置以下jdk环境变量
[root@localhost jdk1.8.0_271]# vi /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_271
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
- 重启并验证
[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
2. ElasticSearch
- 创建目录并解压,将下载的ElasticSearch压缩包上传
[root@localhost ~]# mkdir -p /usr/local/elk/elasticsearch
[root@localhost ~]# cd /usr/local/elk/elasticsearch
[root@localhost elasticsearch]# rz
[root@localhost elasticsearch]# tar -zxvf elasticsearch-6.8.2.tar.gz
[root@localhost elasticsearch]# rm -rf elasticsearch-6.8.2.tar.gz
[root@localhost elasticsearch]# ls
elasticsearch-6.8.2
- 创建数据存放路径和日志存放路径(数据存放路径和日志存放路径在数据盘挂载目录下)
[root@localhost elasticsearch]# mkdir /usr/local/elk/elasticsearch/data
[root@localhost elasticsearch]# mkdir /usr/local/elk/elasticsearch/logs
[root@localhost elasticsearch]# ls
data elasticsearch-6.8.2 logs
- 建立用户并授权
[root@localhost elasticsearch]# useradd es
[root@localhost elasticsearch]# passwd es
Changing password for user es.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost elasticsearch]# chown -R es:es /usr/local/elk/elasticsearch
- 配置elasticsearch yml文件,ip根据情况修改
[root@localhost elasticsearch]# cd elasticsearch-6.8.2/config/
[root@localhost config]# vi elasticsearch.yml
cluster.name: es-server
#节点名称
node.name: master-node-1
#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true
#允许该节点存储数据(默认开启)
node.data: true
#索引数据的存储路径
path.data: /usr/local/elk/elasticsearch/data
#日志文件的存储路径
path.logs: /usr/local/elk/elasticsearch/logs
#设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true
#绑定的ip地址
network.host: 127.0.0.1
#设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
transport.tcp.compress: true
http.cors.enabled: true
http.cors.allow-origin: "*"
#Elasticsearch将绑定到可用的环回地址,并将扫描端口9300到9305以尝试连接到运行在同一台服务器上的其他节点。
#这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host
#(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。
#请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 脑裂 - 这将导致数据丢失,(N/2) + 1
discovery.zen.minimum_master_nodes: 1
# and if your cluster uses authorization:
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
- 锁住swapping
[root@localhost config]# vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
#我选择锁住swapping因此需要在这个配置文件下再增加两行代码
es soft memlock unlimited
es hard memlock unlimited
[root@localhost config]# vi /etc/sysctl.conf
vm.max_map_count=655360
fs.file-max=655360
- 使系统配置生效
[root@localhost config]# sysctl -p
- 调整JVM内存
[root@localhost config]# vi /usr/local/elk/elasticsearch/elasticsearch-6.8.2/config/jvm.options
#默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50%
-Xms1g
-Xmx1g
- 请使用之前创建的es用户启动 su - es
[root@localhost config]# su es -c "/usr/local/elk/elasticsearch/elasticsearch-6.8.2/bin/elasticsearch -d"
- 验证是否正常
[root@localhost config]# curl -XGET 127.0.0.1:9200
{
"name" : "master-node-1",
"cluster_name" : "es-server",
"cluster_uuid" : "8FfumstvTjueHw9o_h0bpQ",
"version" : {
"number" : "6.8.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "b506955",
"build_date" : "2020-07-24T15:24:41.545295Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
3. 翻译插件
- 上传解压拼音插件,并重启es
[root@localhost config]# cd /usr/local/elk/elasticsearch/elasticsearch-6.8.2/plugins
[root@localhost config]# rz
[root@localhost plugins]# unzip elasticsearch-analysis-pinyin-6.8.2.zip -d elasticsearch-analysis-pinyin-6.8.2
[root@localhost plugins]# unzip elasticsearch-analysis-ik-6.8.2.zip -d elasticsearch-analysis-ik-6.8.2
[root@localhost plugins]# rm -rf elasticsearch-analysis-ik-6.8.2.zip
[root@localhost plugins]# rm -rf elasticsearch-analysis-pinyin-6.8.2.zip
[root@localhost config]# su es -c "/usr/local/elk/elasticsearch/elasticsearch-6.8.2/bin/elasticsearch -d"
Chrome可视化插件
-
插件: Elasticvue
下载后解压 -
Chrome设置——扩展程序——加载已解压的扩展程序——选中刚才解压的文件夹
-
右上角会出现插件标识
-
输入ip:9200连接