Elasticsearch5.0安装

来源:互联网 发布:人工智能专家系统 编辑:程序博客网 时间:2024/06/05 20:39
环境
操作系统:centos 6.5
jdk版本:jdk1.8.0_121
应用版本:Elasticsearch 5.2.2


01.Elasticsearch5.0安装


(1)下载地址:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.zip


(2)jdk安装
文件自行官网下载


解压:tar xf jdk-8u121-linux-x64.tar.gz
把文件移到local目录:mv jdk1.8.0_121 /usr/local/
进入目录:cd /usr/local/jdk1.8.0_121


添加环境变量
vi /etc/profile
最后添加:
export JAVA_HOME=/usr/local/jdk1.8.0_121
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


使profile生效
source /etc/profile


检测jdk是否安装成功.
java -version


(3)安装Elasticsearch
1、解压文件并且放到指定目录,具体情况因人而异
解压:unzip elasticsearch-5.2.2.zip
创建目录:mkdir /home/elasticsearch
把文件移到指定目录:mv elasticsearch-5.2.2 /home/elasticsearch/
进入目录:cd /home/elasticsearch/


2、用户组和用户创建,elasticsearch不能使用root启动,因此需要创建其他用户来启动
创建用户组
groupadd elsearch
创建用户到指定用户组
useradd -g elsearch elsearch
然后设置目录为elsearch 用户所属
chown -R elsearch:elsearch  elasticsearch-5.2.2


3、设置系统的相关参数,如果不设置参数将会存在相关的问题导致不能启动


配置系统最大文件数
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536


修改最大线程数的配置
vi /etc/security/limits.d/90-nproc.conf
*          soft    nproc     65536
root       soft    nproc     unlimited


内存太小需要修改
vi /home/elasticsearch/elasticsearch-5.2.2/config/jvm.options
将-Xmx2g改成-Xmx512m
将-Xms2g改成-Xms512m
-Xms512m
-Xmx512m


调整虚拟内存最大map数量,默认是65536,调整最大的文件数量
vi /etc/sysctl.conf
在文件最底下增加:vm.max_map_count=262144和fs.file-max=65536
使生效并查看值:sysctl -p
最好也执行一下这条语句,确保修改成功
echo "262144" >  /proc/sys/vm/max_map_count






(4)启动elasticsearch
修改配置文件:vi /home/elasticsearch/elasticsearch-5.2.2/config/elasticsearch.yml
配置下面参数
network.host: 本机IP地址
http.port: 9200
需要注意,如果您的系统是centos 6.5需要再末尾增加:bootstrap.system_call_filter: false。不增加的情况下启动会报异常,原因是操作系统不兼容


启动程序
切换到设置的用户:su elsearch
启动:./home/elasticsearch/elasticsearch-5.2.2/bin/elsearch -d


elasticsearch需要开放端口9200和9300
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 9200 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9300 -j ACCEPT


(5)验证有没有启动成功:curl http://IP:9200,返回下面信息说明启动成功
{
  "name" : "Hydo4DX",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "8-Vs6-FdQZekqSWpfpQ2qg",
  "version" : {
    "number" : "5.2.2",
    "build_hash" : "f9d9b74",
    "build_date" : "2017-02-24T17:26:45.835Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.1"
  },
  "tagline" : "You Know, for Search"
}




4、在启动的时候可能遇到的错误信息


1)遇到下面错误
是说最大线程数太小了,调整参数
vi /etc/security/limits.d/90-nproc.conf
*          soft    nproc     65536
root       soft    nproc     unlimited


配置系统最大文件数
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536


调整虚拟内存最大map数量,默认是65536,调整最大的文件数量
vi /etc/sysctl.conf
在文件最底下增加:vm.max_map_count=262144和fs.file-max=65536
使生效并查看值:sysctl -p
最好也执行一下这条语句,确保修改成功
echo "262144" >  /proc/sys/vm/max_map_count


[2017-03-21T00:27:59,283][INFO ][o.e.b.BootstrapChecks    ] [Hydo4DX] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max number of threads [1024] for user [elsearch] is too low, increase to at least [2048]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]




2)操作系统不兼容问题
如果遇到下面错误
编辑文件:vi /home/elasticsearch/elasticsearch-5.2.2/config/elasticsearch.yml
加入:bootstrap.system_call_filter: false  即可


[2017-03-21T00:39:06,299][INFO ][o.e.b.BootstrapChecks    ] [Hydo4DX] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
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