1、安装环境准备:
- CentOS release 6.4
- JDK1.8
(因Elasticsearch是基于java写的,所以它的运行环境中需要java的支持,在Linux下执行命令:java -version,检查Jar包是否安装
安装java版本至少是1.8以上)
2、安装包下载:
Elasticsearch官网: https://www.elastic.co/products/elasticsearch
5.2.2版本下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-2-2
3、安装Elasticsearch(单节点Linux环境)
1)上传elasticsearch-5.2.2.tar.gz安装包并解压到/home/hadoop/app目录下
[hadoop@weekend110 installPackage]$ tar -zxvf elasticsearch-5.2.2.tar.gz -C /home/hadoop/app
2)在/home/hadoop/app/elasticsearch-5.2.2路径下创建data和logs文件夹
[hadoop@weekend110 elasticsearch-5.2.2]$ mkdir data
[hadoop@weekend110 elasticsearch-5.2.2]$ mkdir logs
3)修改配置文件/home/hadoop/app/elasticsearch-5.2.2/config/elasticsearch.yml
[hadoop@weekend110 config]$ pwd
/home/hadoop/app/elasticsearch-5.2.2/config
[hadoop@weekend110 config]$ vi elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
node.name: node-100
# ----------------------------------- Paths ------------------------------------
path.data: /home/hadoop/app/elasticsearch-5.2.2/data
path.logs: /home/hadoop/app/elasticsearch-5.2.2/logs
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
network.host: 192.168.2.100
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["weekend110"]
(1)cluster.name:如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动可以自动组成集群,这里如果不改cluster.name则默认是cluster.name=my-application
(2)node.name:随意取但是集群内的各节点不能相同
(3)修改后的每行前面不能有空格,修改后的“:”后面必须有一个空格
4)配置linux系统环境
(1)切换到root用户,编辑limits.conf 添加类似如下内容
bash-4.1# vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
(2)切换到root用户,进入limits.d目录下修改配置文件。
bash-4.1# vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
(3)切换到root用户修改配置sysctl.conf
bash-4.1# vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
bash-4.1# sysctl -p
然后,重新启动elasticsearch,即可启动成功。
5)启动集群
[hadoop@weekend110 elasticsearch-5.2.2]$ bin/elasticsearch
6)测试集群
[hadoop@weekend110 ~]$ curl http://192.168.2.100:9200
查看web界面:http://weekend110:9200/
7)停止集群
kill -9 进程号
8)常见启动报错:
问题一:警告提示
[WARN ][o.e.b.JNANatives ] unable to install syscall filter:
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in
at org.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0]
at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
报了一大串错误,其实只是一个警告。
解决:使用新的linux版本,就不会出现此类问题了。
问题二:ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
解决:切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
问题三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
问题四:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。