Elasticsearch

下载

下载地址 : Elasticsearch

解压

tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz

目录

mkdir data

[esroot@localhost elasticsearch-7.6.2]$ ll总用量 556drwxr-xr-x.  2 esroot root     4096 3月  26 14:36 bin   #可执行文件,运行es的命令drwxr-xr-x.  2 esroot root     4096 8月   3 21:19 config   #配置文件目录drwxrwxr-x.  2 esroot esroot      6 8月   3 22:27 data   #本人创立寄存es存储文件drwxr-xr-x.  9 esroot root       99 3月  26 14:36 jdkdrwxr-xr-x.  3 esroot root     4096 3月  26 14:36 lib    #依赖的jar-rw-r--r--.  1 esroot root    13675 3月  26 14:28 LICENSE.txtdrwxr-xr-x.  2 esroot root     4096 8月   3 21:53 logs   #日志文件夹drwxr-xr-x. 38 esroot root     4096 3月  26 14:37 modules-rw-r--r--.  1 esroot root   523209 3月  26 14:36 NOTICE.txtdrwxr-xr-x.  2 esroot root        6 3月  26 14:36 plugins-rw-r--r--.  1 esroot root     8164 3月  26 14:28 README.asciidoc

配置

config 目录
[esroot@localhost config]$ ll总用量 40-rw-rw----. 1 esroot root   199 8月   3 21:19 elasticsearch.keystore-rw-rw----. 1 esroot root  2831 3月  26 14:28 elasticsearch.yml   #ES启动根底配置-rw-rw----. 1 esroot root  2301 3月  26 14:28 jvm.options   #ES启动时JVM配置-rw-rw----. 1 esroot root 17545 3月  26 14:36 log4j2.properties   #ES日志输入配置文件-rw-rw----. 1 esroot root   473 3月  26 14:36 role_mapping.yml-rw-rw----. 1 esroot root   197 3月  26 14:36 roles.yml-rw-rw----. 1 esroot root     0 3月  26 14:36 users-rw-rw----. 1 esroot root     0 3月  26 14:36 users_roles
elasticsearch.yml 配置
  1. 配置es集群名称(默认是被正文的,并且默认有一个集群名)
# ---------------------------------- Cluster -----------------------------------## Use a descriptive name for your cluster:#cluster.name: my-application#
  1. 配置以后es节点名称(默认是被正文的,并且默认有一个节点名)
# ------------------------------------ Node ------------------------------------## Use a descriptive name for the node:#node.name: node-1## Add custom attributes to the node:##node.attr.rack: r1#
  1. 配置存储数据目录门路(用逗号分隔多个地位)和日志文件门路
# ----------------------------------- Paths ------------------------------------## Path to directory where to store the data (separate multiple locations by comma):#path.data: /usr/local/elasticsearch-7.6.2/data## Path to log files:#path.logs: /usr/local/elasticsearch-7.6.2/logs#
  1. 绑定地址为特定 IP 地址(设置0.0.0.0能够让任何人拜访到你的 es),设置一个 http 申请端口(默认 9200)
# ---------------------------------- Network -----------------------------------## Set the bind address to a specific IP (IPv4 or IPv6):#network.host: 0.0.0.0## Set a custom port for HTTP:#http.port: 9200## For more information, consult the network module documentation.#
  1. 集群启动时,设置master节点列表(用逗号分隔,目前单机所以只配置了一个)
# --------------------------------- Discovery ----------------------------------## Pass an initial list of hosts to perform discovery when this node is started:# The default list of hosts is ["127.0.0.1", "[::1]"]##discovery.seed_hosts: ["host1", "host2"]## Bootstrap the cluster using an initial set of master-eligible nodes:#cluster.initial_master_nodes: ["node-1"]#
jvm.options 配置

XmsXmx设置为统一即可

# Xms represents the initial size of total heap space# Xmx represents the maximum size of total heap space-Xms256m-Xmx256m
vm.max_map_count 配置
[root@localhost config]# vi /etc/sysctl.conf
vm.max_map_count=655360
[root@localhost logs]# sysctl -pvm.max_map_count = 655360

创立用户并赋予es装置目录权限

这是ES的一种安全措施,不让用root用户

创立一个 esroot 用户并设置初始密码
[root@localhost bin]# useradd -c 'ES user' -d /home/esroot esroot[root@localhost bin]# passwd esroot
elasticsearch装置目录属主权限改为 esroot 用户
[root@localhost elasticsearch-7.6.2]# chown -R esroot:esroot /usr/local/elasticsearch-7.6.2/
切换用户到 esroot
[root@localhost config]# su esroot
启动
[esroot@localhost config]$ cd /usr/local/elasticsearch-7.6.2/bin/[esroot@localhost bin]$ ./elasticsearch -d
胜利
[esroot@localhost elasticsearch-7.6.2]$ curl 192.168.190.131:9200{  "name" : "node-1",  "cluster_name" : "my-application",  "cluster_uuid" : "bo7IKZAIQsGRecAecc1lwQ",  "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"}

谬误

jdk版本谬误
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.

这是因为jdk版本太低造成的,jdk版本须要在9.0以上,因而须要重新安装jdk

  • 查看以后版本
[root@localhost local]# java -versionopenjdk version "1.8.0_65"OpenJDK Runtime Environment (build 1.8.0_65-b17)OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
  • 查看 rpm
[root@localhost local]# rpm -qa|grep javatzdata-java-2015g-1.el7.noarchpython-javapackages-3.4.1-11.el7.noarchjavapackages-tools-3.4.1-11.el7.noarchjava-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
[root@localhost local]# rpm -qa|grep jdkjava-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
  • 卸载
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
  • 下载9.0.1版本 jdk
    9.0.1 版本
  • 解压

装置在/usr/java目录

tar -zxf jdk-9.0.1_linux-x64_bin.tar.gz
  • 配置环境变量
vi /etc/profile
#set java environmentJAVA_HOME=/usr/java/jdk-9.0.1CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$PATH:$JAVA_HOME/bin:$PATHexport JAVA_HOME  CLASS_PATH PATH
  • 启动配置信息
 source /etc/profile
  • 查看是否装置胜利
[root@localhost local]# java -versionjava version "9.0.1"Java(TM) SE Runtime Environment (build 9.0.1+11)Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
过程数问题和线程数问题
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

每个过程最大同时关上文件数太小,批改/etc/security/limits.conf文件(root用户)

*               soft    nofile          65536*               hard    nofile          65536
max number of threads [3790] for user [esroot] is too low, increase to at least [4096]

最大线程个数太低,批改/etc/security/limits.conf文件(root用户)

*               soft    nproc           4096*               hard    nproc           4096

此文件批改后须要从新登录用户,才会失效

elasticsearch-head

必须有node.js

下载

下载地址 : elasticsearch-head

解压

[root@localhost local]$ unzip elasticsearch-head-master.zip[root@localhost local]$ cd elasticsearch-head-master/

elasticsearch-head装置目录属主权限改为 esroot 用户

[root@localhost local]# chown -R esroot:esroot /usr/local/elasticsearch-head-master/

切换用户到 esroot

[root@localhost config]# su esroot

装置

先用root 用户装置淘宝镜像cnpm

[root@bogon elasticsearch-head-master]$ npm install cnpm -g --registry=https://registry.npm.taobao.orgnpm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142npm WARN deprecated har-validator@5.1.5: this/usr/local/node-v12.18.3-linux-x64/bin/cnpm -> /usr/local/node-v12.18.3-linux-x64/lib/node_modules/cnpm/bin/cnpm+ cnpm@6.1.1added 684 packages from 964 contributors in 30.381s[root@bogon local]# cnpm -vcnpm@6.1.1 (/usr/local/node-v12.18.3-linux-x64/lib/node_modules/cnpm/lib/parse_argv.js)npm@6.14.7 (/usr/local/node-v12.18.3-linux-x64/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)node@12.18.3 (/usr/local/node-v12.18.3-linux-x64/bin/node)npminstall@3.27.0 (/usr/local/node-v12.18.3-linux-x64/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)prefix=/usr/local/node-v12.18.3-linux-x64 linux x64 3.10.0-327.el7.x86_64 registry=https://r.npm.taobao.org[esroot@bogon elasticsearch-head-master]$ cnpm install✔ Installed 10 packages✔ Linked 0 latest versions✔ Run 0 scripts✔ All packages installed (used 130ms(network 128ms), speed 0B/s, json 0(0B), tarball 0B)

运行

[esroot@bogon node_modules]$ npm run start> elasticsearch-head@0.0.0 start /usr/local/elasticsearch-7.6.2/plugins/elasticsearch-head-master> grunt serverRunning "connect:server" (connect) taskWaiting forever...Started connect web server on http://localhost:9100

开启跨域

[esroot@bogon root]$ vi /usr/local/elasticsearch-7.6.2/config/elasticsearch.yml
http.cors.enabled : truehttp.cors.allow-origin : "*"

kibana

下载

要和Elasticsearch版本统一
下载地址 : kibana

解压

[root@localhost local]$ tar -xzvf kibana-7.6.2-linux-x86_64.tar.gz[root@localhost local]# cd kibana-7.6.2-linux-x86_64/

elasticsearch-head装置目录属主权限改为 esroot 用户

[root@localhost elasticsearch-7.6.2]# chown -R esroot:esroot /usr/local/kibana-7.6.2-linux-x86_64

切换用户到 esroot

[root@localhost config]# su esroot

配置

$KIBANA/config/kibaba.yml

[esroot@localhost kibana-7.6.2-linux-x86_64]$ vi config/kibana.yml
i18n.locale: "zh-CN"server.host: "0.0.0.0"

启动

[esroot@localhost kibana-7.6.2-linux-x86_64]$ ./bin/kibana  log   [14:41:10.079] [info][status][plugin:reporting@7.6.2] Status changed from uninitialized to green - Ready  log   [14:41:10.540] [info][listening] Server running at http://localhost:5601  log   [14:41:11.290] [info][server][Kibana][http] http server running at http://localhost:5601

IK分词器

下载

要和Elasticsearch版本统一
下载地址 : IK分词器

新建文件夹

放到Elasticsearchplugins

[root@localhost plugins]# mkdir ik

解压

[root@localhost ik]# unzip elasticsearch-analysis-ik-7.6.2.zip 

elasticsearch-head装置目录属主权限改为 esroot 用户

[root@localhost plugins]# chown -R esroot:esroot ./

切换用户到esroot

[root@localhost config]# su esroot

重启Elasticsearch

[esroot@localhost bin]$ elasticsearch-plugin listfuture versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk-9.0.1] does not meet this requirementik