前段时间测使用ELK搜集和分析服务器及交换机日志,最近慢慢补下笔记。这篇回顾下使用zip包简单安装ES过程!
测试环境:
1 2 3 4 |
OS: CentOS Linux release 7.4.1708 (Core) yum repo: http://mirrors.aliyun.com/repo/Centos-7.repo SELinux: disabled Firewalld: disabled |
1、软件包下载
因为ES运行需要JAVA 8及以上环境支持,所以需要下载JDK包和ES的安装包!
>>> 从官网下载ES和JDK包
1 2 |
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.zip https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html |
>>> 从百度网盘下载(提取码:k4rc)
1 |
https://pan.baidu.com/s/1pPlgI9-6TqfIhLDYfPeTmg |
2、配置java环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@imzcy ~]# tar zxf jdk-8u112-linux-x64.tar.gz -C /usr/local/ [root@imzcy ~]# ln -s /usr/local/jdk1.8.0_112/ /usr/local/java [root@imzcy ~]# vi /etc/profile #************************java********************# export JAVA_HOME=/usr/local/java export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin #************************java********************# [root@imzcy ~]# source /etc/profile [root@imzcy ~]# java -version java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) [root@imzcy ~]# [root@imzcy ~]# echo $JAVA_HOME /usr/local/java [root@imzcy ~]# |
3、创建ES运行用户及数据和日志存储目录
1 2 3 4 5 |
[root@imzcy ~]# useradd es [root@imzcy ~]# mkdir -p /data/es [root@imzcy ~]# mkdir -p /var/log/elasticsearch [root@imzcy ~]# chown es:es -R /data/es/ [root@imzcy ~]# chown es:es -R /var/log/elasticsearch/ |
4、针对ES运行用户修改一些系统参数
4.1、修改limits.conf配置文件(通过memlock设置es用户使用最大内存大小限制,通过nofile设置es用户最大打开文件数量限制)
1 2 3 4 5 6 |
[root@imzcy ~]# cat /etc/security/limits.conf es soft memlock unlimited es hard memlock unlimited es soft nofile 102400 es hard nofile 102400 [root@imzcy ~]# |
4.2、修改sysctl.conf配置文件(通过vm.max_map_count设置最大虚拟内存大小)
1 2 3 |
[root@imzcy ~]# cat /etc/sysctl.conf vm.max_map_count=655300 [root@imzcy ~]#sysctl -p |
5、安装ES
5.1 解压ES安装包到es用户家目录下,并查看其主目录及config配置文件目录有哪些内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[root@imzcy ~]# unzip elasticsearch-6.5.0.zip -d /home/es/ [root@imzcy ~]# chown es:es -R /home/es/elasticsearch-6.5.0/ [root@imzcy ~]# su - es [es@imzcy ~]$ mv elasticsearch-6.5.0/ elasticsearch [es@imzcy ~]$ cd elasticsearch/ [es@imzcy elasticsearch]$ ll 总用量 436 drwxr-xr-x 3 es es 4096 11月 9 19:02 bin drwxr-xr-x 2 es es 148 11月 9 19:02 config drwxr-xr-x 3 es es 4096 11月 9 19:02 lib -rw-r--r-- 1 es es 13675 11月 9 18:45 LICENSE.txt drwxr-xr-x 2 es es 6 11月 9 19:01 logs drwxr-xr-x 28 es es 4096 11月 9 19:02 modules -rw-r--r-- 1 es es 403816 11月 9 19:01 NOTICE.txt drwxr-xr-x 2 es es 6 11月 9 19:01 plugins -rw-r--r-- 1 es es 8519 11月 9 18:45 README.textile [es@imzcy elasticsearch]$ [es@imzcy elasticsearch]$ cd config/ [es@imzcy config]$ ll 总用量 32 -rw-rw---- 1 es es 2853 11月 9 18:45 elasticsearch.yml -rw-rw---- 1 es es 3194 11月 9 18:45 jvm.options -rw-rw---- 1 es es 12423 11月 9 19:02 log4j2.properties -rw-rw---- 1 es es 473 11月 9 19:02 role_mapping.yml -rw-rw---- 1 es es 197 11月 9 19:02 roles.yml -rw-rw---- 1 es es 0 11月 9 19:02 users -rw-rw---- 1 es es 0 11月 9 19:02 users_roles [es@imzcy config]$ |
5.2 编辑修改ES配置文件elasticsearch.yml
1 2 3 4 5 6 7 8 9 |
[es@imzcy config]$ vi elasticsearch.yml 18 cluster.name: imzcy 25 node.name: node1-imzcy 36 path.data: /data/es 41 path.logs: /var/log/elasticsearch 48 bootstrap.memory_lock: true 61 network.host: 192.168.8.18 66 http.port: 9200 [es@imzcy config]$ |
5.3 启动ES
1 2 |
[es@imzcy ~]$ cd elasticsearch/ [es@imzcy elasticsearch]$ ./bin/elasticsearch |
5.4 确认启动成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[es@imzcy ~]$ ss -tnl |egrep '9200|9300' LISTEN 0 128 ::ffff:192.168.8.18:9200 :::* LISTEN 0 128 ::ffff:192.168.8.18:9300 :::* [es@imzcy ~]$ [es@imzcy ~]$ curl http://192.168.8.18:9200 { "name" : "node1-imzcy", "cluster_name" : "imzcy", "cluster_uuid" : "kFA-9qOjSBy_KOB48B2UEw", "version" : { "number" : "6.5.0", "build_flavor" : "default", "build_type" : "zip", "build_hash" : "816e6f6", "build_date" : "2018-11-09T18:58:36.352602Z", "build_snapshot" : false, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" } [es@imzcy ~]$ |
6、常见问题解决方法整理
6.1 最大虚拟内存大小问题
1 2 |
ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] |
解决方法:
1 2 3 4 5 6 7 |
[root@imzcy ~]# vi /etc/sysctl.conf vm.max_map_count=655300 [root@imzcy ~]# [root@imzcy ~]# sysctl -p vm.max_map_count = 655300 [root@imzcy ~]# |
6.2 最大文件打开数量问题
1 2 |
ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] |
解决方法:
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# vi /etc/security/limits.conf es soft nofile 102400 es hard nofile 102400 [root@imzcy ~]# [es@imzcy ~]$ ulimit -n 102400 [es@imzcy ~]$ |
6.3 进程使用最大内存大小锁定问题
1 2 3 4 5 6 |
[2018-11-20T17:13:52,261][WARN ][o.e.b.JNANatives ] [node1-imzcy] Unable to lock JVM Memory: error=12, reason=无法分配内存 [2018-11-20T17:13:52,265][WARN ][o.e.b.JNANatives ] [node1-imzcy] This can result in part of the JVM being swapped out. [2018-11-20T17:13:52,266][WARN ][o.e.b.JNANatives ] [node1-imzcy] Increase RLIMIT_MEMLOCK, soft limit: 65536, hard limit: 65536 ERROR: [3] bootstrap checks failed [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] |
解决方法:
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# vi /etc/security/limits.conf es soft memlock unlimited es hard memlock unlimited [root@imzcy ~]# [es@imzcy ~]$ ulimit -l unlimited [es@imzcy ~]$ |
6.4 用户最大线程数问题
1 2 |
ERROR: [1] bootstrap checks failed [1]: max number of threads [3818] for user [es] is too low, increase to at least [4096] |
在虚拟机中安装测试时候,发现如果在虚拟机开机运行时增加内存,虽然内存能实时增加,但是有一些系统参数并不会自动调整。像用户最大打开线程数在内存为1G的时候,默认值为3818。虚拟机增加内存至2G,重启系统后会自动调整为4096!
解决方法:
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# vi /etc/security/limits.conf es soft nproc 4096 es hard nproc 4096 [root@imzcy ~]# [es@imzcy ~]$ ulimit -u 4096 [es@imzcy ~]$ |
参考相关资料链接如下:
1 2 |
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html |