1. 养乐多|杨城的个人博客首页
  2. 技术杂谈
  3. Other

CentOS 7安装Elasticsearch

博主写文章目的在于记录个人学习点滴,同时希望能给其他有需要的人提供帮助。

[root@localhost src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.tar.gz
[root@localhost src]# tar -zxvf elasticsearch-5.6.0.tar.gz
[root@localhost src]# cp -R elasticsearch-5.6.0 /usr/local/
# 出于安全考虑,es默认不允许通过root用户启动服务,因此我们可以先添加一个系统用户
[root@localhost src]# useradd es
[root@localhost src]# passwd es
[root@localhost src]# chown -R es:es /usr/local/elasticsearch-5.6.0
[root@localhost src]# su es
[es@localhost src]$ cd /usr/local/elasticsearch-5.6.0/bin
 # 后台形式启动es服务,由于es比较耗内存资源,因此在启动前建议将内存设置大一点,如2G/3G/4G等等
[es@localhost bin]$ ./elasticsearch -d
# 查看是否运行
[es@localhost bin]$ curl http://localhost:9200
{
  "name" : "0tQ2cmA",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "d5ir1SE7Qv29cdFEGlQHZQ",
  "version" : {
    "number" : "5.6.0",
    "build_hash" : "781a835",
    "build_date" : "2017-09-07T03:09:58.087Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

elasticsearch默认restful-api的端口是9200且不支持IP:PORT形式访问,只能在虚拟机用http://localhost:9200来访问,也就是说无法从主机访问虚拟机中的服务。
为了方便使用,可以做如下操作实现在主机上访问。
1. 首先,关闭防火墙或设置防火墙规则允许主机访问IP:PORT;
2. 其次,修改 /usr/local/elasticsearch-5.6.0/config/elasticsearch.yml 文件,加入以下两行:
network.bind_host: “这里写虚拟机IP地址”
network.publish_host: _nonloopback:ipv4
或去除 network.host 和 http.port 之前的注释,并将 network.host 的IP地址修改为虚拟机IP,然后重启 Elasticsearch 服务。
通过ps -ef | grep elasticsearch命令,找到es进程,然后kill掉。再启动es,启动es服务可能会失败,这时候需要查看错误日志内容,日志
文件 /usr/local/elasticsearch-5.6.0/logs/elasticsearch.log,常见错误如下:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:切换至root用户,修改 /etc/security/limits.conf 文件,新增如下两行:
es soft nofile 65536
es hard nofile 65536
保存后,切换到es用户,执行 ulimit -Hn 命令即可查看到是否生效。
再修改 /etc/sysctl.conf 文件,新增 vm.max_map_count=262144,保存即可。
经过上述操作后,现在主机已经能够通过IP端口形式访问虚拟机中es服务了,如下图:
CentOS 7安装Elasticsearch

PS:修改任何配置文件前,建议先备份,良好习惯很重要。另外es服务启动后,一般需要等待十来秒后才真正生效可用。关于这点,博主还没来得及研究。
关于部署搭建ELK日志分析系统文章,可查看《利用ELK+Redis搭建Nginx日志分析平台

原创文章,作者:iConan,如若转载,请注明出处:https://www.aspyc.com/archives/484.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据