第一步:必须要有jre支持
elasticsearch是用Java实现的,跑elasticsearch必须要有jre支持,所以必须先安装jre
可以参考 http://blog.java1234.com/blog/articles/307.html
第二步:下载elasticsearch
进入官方下载 https://www.elastic.co/downloads/elasticsearch
因为是centos中运行 所以我们选 tar.gz压缩包;
下载后 用ftp上传到centos里 我们把这个文件上传到 /home/data/下
第三步:安装和配置elasticsearch
进入data目录 解压
[root@bogon ~]# cd /home/data/
[root@bogon data]# tar -zxvf elasticsearch-5.5.2.tar.gz
新建目录 剪切文件到新目录
[root@bogon data]# cd
[root@bogon ~]# mkdir /home/es/
[root@bogon ~]# mv /home/data/elasticsearch-5.5.2 /home/es/
========================重点,修改配置 start=============================================
修改limits.conf与sysctl.conf文件的系统参数,如下图所示。
本文的用户是elastic,不是图片中的esUser,红框中的改成
# elastic-user
elastic soft nofile 65536
elastic hard nofile 65536
最后执行如下命令:
sysctl -p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载, 这样就不需要重启系统
安装与配置
a、解压完成后,进入config目录,编辑elasticsearch.yml文件。该文件配置需要注意!!!将下述代码中标红“你的IP地址”更改为 自己的IP地址,添加配置时需注意配置文件":"后要有空格。如下所示。
[root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /home/es/elasticsearch-6.3.0/config/elasticsearch.yml
#这是集群名字,起名为elasticsearch
#es启动后会将具有相同集群名字的节点放到一个集群下。
cluster.name: elasticsearch
#
#节点名字。
node.name: "node1"
#
# 数据存储位置,配置之后该目录会自动生成
path.data: /usr/java/elasticsearch/elasticsearch-6.3.2/data
#
# 日志文件的路径,配置之后该目录会自动生成
path.logs: /usr/java/elasticsearch/elasticsearch-6.3.2/logs
#
#
#设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0
#network.bind_host: xxxxxx
#
#设置其它节点和该节点交互的ip地址,如果不设置它会自动设置,值必须是个真实的ip地址
#network.publish_host: xxxxxx
#
#同时设置bind_host和publish_host上面两个参数,该地址为默认地址
network.host: 0.0.0.0
#
#
# 设置节点间交互的tcp端口,默认是9300
#transport.tcp.port: 9300
#
# 设置是否压缩tcp传输时的数据,默认为false,不压缩
transport.tcp.compress: true
#
# 设置对外服务的http端口,默认为9200
#http.port: 9200
#
# 使用http协议对外提供服务,默认为true,开启
#http.enabled: false
#
#discovery.zen.ping.unicast.hosts:["节点1的 ip","节点2 的ip","节点3的ip"]
#这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测
discovery.zen.ping.unicast.hosts: ["你的IP地址"]
#
#指定集群中的节点中有几个有master资格的节点。
#对于大集群可以写(2-4)。
discovery.zen.minimum_master_nodes: 1
#解决head的集群健康值问题,后续会安装head插件
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
b、若服务器运行内存不大,也可能还有一个错误是关于Jvm内存分配的问题,需要修改Jvm配置。如下所示。我的阿里云是4g内存,(以后看情况可以改成
-Xms2g
-Xmx2g
),如果你的阿里云配置是1g的话就改一下,默认Xms1g启动不来。
1 [root@izwz9eu3mkqq1njlkrfhc8z ~]# vim /home/es/elasticsearch-6.3.0/config/jvm.options
========================重点,修改配置 end=============================================
我们执行,来启动 elasticsearch
[root@bogon ~]# sh /home/es/elasticsearch-5.5.2/bin/elasticsearch
意思是不能用root用户来启动,那我们新建一个用户来启动
[root@bogon ~]# useradd elastic
[root@bogon ~]# chown -R elastic:elastic /home/es/elasticsearch-5.5.2/
新建elastic用户 并且把目录权限赋予给elastic
我们切换成elastic用户,然后执行
[root@bogon ~]# su elastic
[elastic@bogon root]$ sh /home/es/elasticsearch-5.5.2/bin/elasticsearch
出来一大串info 说明成功了,但是这种方式是前台运行,不方便我们操作其他的 我们加下 -d 后台运行
先ctrl+c退出执行;
[elastic@bogon root]$ sh /home/es/elasticsearch-5.5.2/bin/elasticsearch -d
我们来检查下是否启动成功下面是查看ElasticSearch进程情况,可以执行命令: kill -9 进程ID 来结束程序。
[elastic@bogon root]$ ps -ef | grep elasticsearch
下面是测试是否有如下提示:
1 [esUser@izwz9eu3mkqq1njlkrfhc8z root]$ curl http://localhost:9200/?pretty
我们用谷歌浏览器请求下 http://192.168.1.108:9200/ (把实例的ip改成你的ip)