linux版本
CentOS release 6.6 (Final)
删除linux自带的Java
yum remove java*
安装Java
点击:下载地址
选择:linux x64 jdk-8u40-linux-x64.rpm
rpm -ivh jdk-8u121-linux-x64.rpm (–install–verbose–hash)
JDK默认安装在/usr/java中
查看是否安装成功
java -version
配置环境变量
|
vim /etc/profile #set java environment JAVA_HOME=/usr/java/default JRE_HOME=/usr/java/default/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH |
执行source命令使配置生效
source /etc/profile
安装Elasticsearch
点击:下载地址
解压到:/usr/local/elasticsearch-5.2.2
elasticsearch不允许root启动,所以需要新增一个用户
|
# 新增用户组 groupadd elasticsearch # 新增linux用户 -group -password useradd elk -g elasticsearch -p 123456 # 设置权限 -R递归授权 username:groupname pathname chown -R elk:elasticsearch elasticsearch-5.2.2 |
启动elasticsearch
|
su elk cd /usr/local/elasticsearch-5.2.2/bin ./elasticsearch |
打开另外个终端进行测试
|
curl http://localhost:9200 { "name" : "0109Qxz", "cluster_name" : "elasticsearch", "cluster_uuid" : "a8p_RPjEQMidWfgLANimOQ", "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" } |
报错与配置
如果报类似 unable to install syscall filter: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in这样的错误,先忽略它,可能是linux版本过低的原因。
报 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=’Cannot allocate memory’ (errno=12) 错误
|
# elasticsearch5.0默认分配jvm空间大小为2g,把它改小点 cd /usr/local/elasticsearch-5.2.2/config vim jvm.options # 如果启动没报错,但是启不来的话,估计还要调小 -Xms512m -Xmx512m |
报 ERROR: bootstrap checks failed 错误
|
# 无法创建本地文件问题,用户最大可创建文件数太小 vim /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] 错误
|
# 无法创建本地线程问题,用户最大可创建线程数太小 vim /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] 错误
|
# 最大虚拟内存太小 vim /etc/sysctl.conf # 添加下面配置: vm.max_map_count=655360 # 并执行命令: sysctl -p |
报 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.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败 vim /usr/local/elasticsearch-5.2.2/config/elasticsearch.yml bootstrap.memory_lock: false bootstrap.system_call_filter: false |
elasticsearch.yml配置
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 31
|
# 自定义集群名,相同集群内的节点设置相同的集群名 cluster.name: elk #自定义节点名,建议统一采用节点hostname node.name: elk-node1 #data存储路径,可不取消注释,默认即此路径 path.data: /var/lib/elasticsearch #log存储路径,可不取消注释,默认即此路径 path.logs: /var/log/elasticsearch #es监听地址,采用”0.0.0.0”,允许所有设备访问 network.host: 0.0.0.0 #es监听端口,可不取消注释,默认即此端口 http.port: 9200 #集群节点发现列表,也可采用ip的形式 discovery.zen.ping.unicast.hosts: ["elk-node1", "elk-node2"] #集群可做master的最小节点数 discovery.zen.minimum_master_nodes: 2 #以下两项设置es5.x版本的head插件可以访问es #开启跨域访问支持,默认为false http.cors.enabled: true #跨域访问允许的域名地址,使用正则表达式 http.cors.allow-origin: "*" |