安装Java环境(在此再也不赘述)html
[zhubo@localhost elasticsearch-5.4.1]$ java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
ElasticSearch下载 https://www.elastic.co/java
去官网找到ElasticSearch最新版本地址,如今官网最新的稳定版是5.4.1版本node
$ curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.zip
建立用户和用户组为(zhubo),为zip文件赋予该用户和用户组,将文件移到该用户可读写的文件夹下(/home/zhubo/src/),改成该用户登陆模式对zip文件进行解压git
[zhubo@localhost src]$ pwd /home/zhubo/src [zhubo@localhost src]$ chown zhubo:zhubo elasticsearch-5.4.1.zip [zhubo@localhost src]$ unzip elasticsearch-5.4.1.zip
ElasticSearch一共准备了三个节点(192.168.1.171/192.168.1.172/192.168.1.173)github
环境均是CentOS6.8 , JDK1.8.0_131bootstrap
修改集群配置文件cors
# ======================== Elasticsearch Configuration ========================= # ElasticSearch 各个版本Doc # https://www.elastic.co/guide/en/elasticsearch/reference/index.html # ---------------------------------- Cluster ----------------------------------- # #配置es的集群名称, es会自动发如今同一网段下的es,若是在同一网段下有多个集群,就能够用这个属性来区分不一样的集群 # cluster.name: zhubo # ------------------------------------ Node ------------------------------------ # #节点名称 node.name: node-1 # #指定该节点是否有资格被选举成为node node.master: true # #指定该节点是否存储索引数据,默认为true node.data: true #这是在由于Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测, #因此致使检测失败,失败后直接致使ES不能启动 bootstrap.memory_lock: false bootstrap.system_call_filter: false # ---------------------------------- Network ----------------------------------- # #设置绑定的ip地址还有其它节点和该节点交互的ip地址 network.host: 192.168.1.171 # #指定http端口,你使用head、kopf等相关插件使用的端口 http.port: 9200 # #设置节点间交互的tcp端口,默认是9300 transport.tcp.port: 9300 # --------------------------------- Discovery ---------------------------------- # #设置集群中master节点的初始列表,能够经过这些节点来自动发现新加入集群的节点 # discovery.zen.ping.unicast.hosts: ["192.168.1.171:9300","192.168.1.172:9300","192.168.1.173:9300"] # # #若是要使用head,那么须要增长新的参数,使head插件能够访问es http.cors.enabled: true http.cors.allow-origin: "*" #
scp远程拷贝:curl
[zhubo@localhost src]$ pwd /home/zhubo/src [zhubo@localhost src]$ scp -r /home/zhubo/src/elasticsearch-5.4.1 zhubo@192.168.1.172:/home/zhubo/src/elasticsearch-5.4.1 [zhubo@localhost src]$ scp -r /home/zhubo/src/elasticsearch-5.4.1 zhubo@192.168.1.173:/home/zhubo/src/elasticsearch-5.4.1
修改节点名称(node.name)和当前节点的IP地址(network.host)elasticsearch
启动:tcp
./bin/elasticsearch 前台启动
./bin/elasticsearch -d 守护进程启动
问题一: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,便可启动成功。
问题四:启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
问题缘由:由于Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,因此致使检测失败,失败后直接致使ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899
解决:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
启动异常:ERROR: bootstrap checks failed
ystem call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
问题缘由:由于Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,因此致使检测失败,失败后直接致使ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899
解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false