IT兄弟连 ElasticSearch在Linux下的安装和启动、常见问题解决
环境要求
· Linux(Centos 7)
· ElasticSerach 6.6.1
ES下载
· 下载地址:https://www.elastic.co/cn/downloads/elasticsearch

ES安装
· 进入Linux系统,切换到 /opt 目录下:

· 在opt目录下,创建elasticsearch文件夹,并进入文件夹内:

· 获取elasticearch安装包:

o 方法1:可以使用在线下载命令,下载安装包:
下载命令: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz
方法2:可以将之前已经下载好的安装包上传到当前目录下:
使用WinSCP工具,将下载到本地的安装包,上传到linux目录下
· 解压elasticsearch安装包
tar -zvxf elasticsearch-6.6.1.tar.gz


· 进入elasticsearch-6.6.1/config文件夹内,修改配置文件:
cd elasticsearch-6.6.1/config/


定位到#network.host: 192.168.0.1位置,在下面增加一行: network.host: 0.0.0.0

保存并退出(先按esc键,输入:wq!,按回车键即可)
启动
· 启动elasticsearch为后台进程服务:
切换到bin目录下,执行如下命令:

启动命令:./elasticsearch -d

问题1:could not find java; set JAVA_HOME or ensure java is in PATH
解决方案:需要系统搭建Java环境
搭建完毕之后,再次执行命令:./elasticsearch -d

· 判断是否启动成功,可执行如下命令,查看是否启用9200端口即可
ss -tanl

发现没有启用9200,则代表es启动失败,需要查看具体原因:
接下来,则需要查看启动日志,切换到日志logs目录下
执行如下命令即可: more elasticsearch.log

通过日志分析所得,启动es服务的时候,是不允许使用超级管理员root账户 那么接下来,我们需要创建一个普通用户likang
使用普通用户(likang)启动es服务即可,如下命令: 第一步:liunx创建新用户 adduser likang
然后给创建的用户加密码 passwd likang 输入两次密码.

第二步:给新建的XXX赋权限,chown -R likang /opt/elasticsearch/

第三步:切换到likang普通用户下,执行启动命令

· 再次验证es是否启动成功,发现还是失败,再次查看日志,分析如图:

问题:max file descriptors [4096] for elasticsearch process is too low,
increase to at least [65536] 原因:每个进程最大同时打开文件数太小 查看当前系统同时打开进程数的默认值: ulimit -Hn ulimit -Sn

解决方案:切换到root账户,修改/etc/security/limits.conf文件,
增加配置,用户退出后重新登录生效 su root 输入密码 vi /etc/security/limits.conf 在文件最后,增加如下配置: likang hard nofile 65536 likang soft nofile 65536 * soft nproc 4096 * hard nproc 4096

· 再次启动验证,发现还有问题,如下:

问题:max virtual memory areas vm.max_map_count [65530] is too low,
increase to at least [262144] 原因:elasticsearch用户拥有的内存权限太小,至少需要262144 解决:切换到root用户,在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕之后,执行命令: sysctl -p

· 再次切换到likang普通用户,重新启动es服务。

远程访问
· 开启9200端口号访问
/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT 
· 可在浏览器中输入如下地址:http://192.168.73.131:9200/

· 如果显示如上信息,则代表Linux下ES已经搭建完毕(单机)
停止
· 若是es的前台运行,则用ctrl + c 来停止。
· 若是es的后台运行,则用kill -9 进程号 来停止。(可通过jps命令,查看es进程号)
IT兄弟连 ElasticSearch在Linux下的安装和启动、常见问题解决的更多相关文章
- Linux下memcached安装和启动方法
Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...
- MongoDB Linux下的安装和启动(转)
1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar. http://fastdl.mongodb.org/linux/mongodb-linu ...
- linux 下apache安装、启动和配置
linux 下 apache安装 1:系统安装,这里就不说了,网上有很多,也很简单.顺便说下,我用的是redhat 9: 2:在图形界面下下载apache 安装包,我下的是 httpd-2.2.9.t ...
- Mongodb在Linux下的安装和启动和配置
第一步:下载mongodb安装包,下载版本:2.0.2-rc2 下载链接: http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.1.tgz 第 ...
- linux下memcached安装以及启动
1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(me ...
- Linux下Mongodb安装和启动配置
1.下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz 下载完成后解压缩压缩包 tar zxf mongod ...
- MongoDB Linux下的安装和启动
1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar. http://fastdl.mongodb.org/linux/mongodb-linu ...
- Linux下Mongodb安装和启动配置 转载
原文地址:https://www.cnblogs.com/Jimmy104/p/6181899.html 以下文章为转载,感谢网友,原文链接 http://blog.csdn.net/yuwenrul ...
- 【转】linux下memcached安装以及启动
1.下载memcached服务器端安装文件 版本: memcached-1.4.25.tar.gz 下载地址:http://www.memcached.org/files/memcached-1.4. ...
随机推荐
- 关于 underscore 中模板引擎的应用演示样例
//关于 underscore 中模板引擎的应用演示样例 <!doctype html> <html> <head> <meta charset=" ...
- 基于bootstrap_后台管理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 基于mac系统的apacheserver的使用流程
打开终端.输入下面命令:sudo apachectl start 此时Apache已经开启.在浏览器中输入本地ip地址能够看到it works! 打开前往----电脑------Macintosh H ...
- HBase数据压缩编码探索
摘要: 本文主要介绍了hbase对数据压缩,编码的支持,以及云hbase在社区基础上对数据压缩率和访问速度上了进行的改进. 前言 你可曾遇到这种需求,只有几百qps的冷数据缓存,却因为存储水位要浪费几 ...
- javascript if(xx)
js判断某个值知否存在或者为空,可以直接用if(xx)过滤. <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- 广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告
题目链接:http://poj.org/problem?id=3411 题目意思:N个city 由 m 条路连接,对于一条路(假设连接Cityia和 Cityb),如果从Citya 去 Cityb的途 ...
- classname.this 和 this的使用场景
今天在写代码时,发现在写了一个内部类,而在内部类中需要调用外部类的实例方法,直接使用this调用发现调用的不是外部类而是内部类,于是查找资料原来需要使用外部类的classname.this这样的调用, ...
- 书写优雅的shell脚本(一)- if语句
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel ...
- 【CQOI2009】中位数图
[题目链接] 点击打开链接 [算法] 将小于m的数看作-1,大于m的看作1 然后求前缀和,如果区间[l,r]的中位数是m,显然有 : sum(r) - sum(l-1) = 0 因此,只需m的位置之前 ...
- registerWithTouchDispatcher 注册单点触摸事件
Doc: If isTouchEnabled, this method is called onEnter. Override it to change the way CCLayer receive ...