Linux云服务器安装Elasticsearch
安装Elasticsearch
注:本人服务器为CentOS7.3镜像
1、下载JDK
在安装JDK之前需要检查是否已存在其他版本JDK。
采用如下命令可查看当前已存在JDK版本:
java -version
安装新的JDK之前需卸载原有JDK,具体操作可baidu。
这里给一个链接:https://www.cnblogs.com/xinjie10001/p/6287124.html
注:由于我的服务器是pure 镜像,所以不存在JDK,因此没有卸载JDK这一步操作。
JDK下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载之后上传到服务器某一目录,本人放置在/opt目录。
使用tar命令进行解压:
tar zxf jdk-8u161-linux-x64.tar.gz
接下来配置JAVA环境变量,先使用如下命令打开环境变量配置文件:
vim /etc/profile
在打开后的profile中,输入字符i对文档进行编辑,在文件末尾插入如下内容:
export JAVA_HOME=/opt/jdk1.8.0_161
export JAVA_BIN=/opt/jdk1.8.0_161/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
插入完成后按ESC键再输入:wq或:x保存文件并退出。
注:/opt/jdk1.8.0_161为JDK解压后的文件所放置的目录
2、下载Elasticsearch
Linux系统下直接可采用如下命令进行下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz
另外,也可直接在官网下载后上传到服务器某一目录。
下载Elasticsearch后使用如下命令进行解压:
tar zxf elasticsearch-6.2.3.tar.gz
进入elasticsearch-6.2.3的bin目录,使用如下命令执行脚本elasticsearch:
./elasticsearch
3、内存不足问题
按上述操作此时会出现如下问题:

此时应该是表示内存不足
解决方法:
进入elasticsearch-6.2.3的config目录,使用如下命令进入jvm.options配置文件:
vim ./jvm.options
将文件中下图所示的-Xms1g和-Xmx1g改为-Xms200m和-Xmx200m

4、root用户不能执行elasticsearch脚本问题
此时返回bin目录重新运行脚本elasticsearch会出现如下问题:

该问题表示不能使用root用户运行该脚本,为此我们可以为elasticsearch新建一个用户ES。
具体操作见下图:

使用如下命令为该用户获取访问/opt目录的权限:
chown ES /opt -R
切换到用户ES,执行bin目录下的elasticsearch脚本,具体操作见下图:

这说明elasticsearch启动成功,但不要激动得太早,我们需要通过9200端口访问elasticsearch服务,具体操作见下图:

如果出现上图所示的JSON信息,说明Elasticsearch启动成功。
5、外网访问云服务器的Elasticsearch
进入config目录将elasticsearch.yml配置文件中的network.host修改为0.0.0.0并去掉其前面的#号,命令为:
vim ./elasticsearch.yml
具体修改操作如下图所示:

返回bin目录重新运行elasticsearch脚本,此时会出现如下问题:

针对问题1:

解决方法:
使用如下命令打开/etc/security/limits.conf:
vim /etc/security/limits.conf
在该配置文件中添加如下内容:
*               soft    nproc           4096
*               hard    nproc           4096
具体见下图:

注:这里文件的打开需要切换到root用户,因为ES用户不能改变该配置文件。
针对问题2:

解决方法:
使用如下命令打开/etc/sysctl.conf:
vim /etc/sysctl.conf
增加配置vm.max_map_count=262144
具体见下图:

执行命令sysctl -p生效。
重新启动服务器,再运行elasticsearch脚本,此时便没有错误了。
本地访问9200端口:

在云服务器安全组打开9200端口:

外网浏览器访问服务器9200端口:

此外,还可能遇到问题3:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方法:
使用如下命令打开/etc/security/limits.conf:
vim /etc/security/limits.conf
在该配置文件中添加如下内容:
*               soft    nofile           65536
*               hard    nofile           65536
后台运行Elasticsearch命令:
./elasticsearch -d
Reference
[1]. https://www.jianshu.com/p/658961f707d8
[2]. http://kael-aiur.com/elk/ES配置给外部机器通过ip访问.html
[3]. https://www.cnblogs.com/zhi-leaf/p/8484337.html
[4]. https://blog.csdn.net/u010781176/article/details/79489151
Linux云服务器安装Elasticsearch的更多相关文章
- Linux云服务器安装tomcat
		
安装tomcat需要安装JDK 1.上传 把下载好的tomcat压缩包(apache-tomcat-7.0.tar.gz)和jdk(jdk-7u76-linux-x64.tar.gz)压缩包上传到/u ...
 - 阿里云服务器Linux系统安装配置ElasticSearch搜索引擎
		
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
 - Linux系统中ElasticSearch搜索引擎安装配置Head插件
		
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
 - 记录云服务器安装node
		
今天买了台云服务器,准备玩玩,对于之前没接触过Linux的我是一头雾水,登陆后进去就是一个黑黑的终端,一点也不友好,所以特地记录一下登陆以及安装node的过程 先记录一下登陆 登陆方式一: 那就是账号 ...
 - 阿里云服务器安装Docker并部署nginx、jdk、redis、mysql
		
阿里云服务器安装Docker并部署nginx.jdk.redis.mysql 一.安装Docker 1.安装Docker的依赖库 yum install -y yum-utils device-map ...
 - linux云主机怎么安装WDCP
		
linux云主机 教你成功安装WDCP的2个方法(第一个不成功就试第2个) 工具/原料 Xshell 云服务器 方法/步骤 1 先用Xshell连接你的服务器 2 输入一下代码 wget ...
 - Linux云主机安装JDK,配置hadoop的详细方式
		
云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...
 - 记录Linux下安装elasticSearch时遇到的一些错误
		
记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...
 - Linux云自动化运维第三课
		
Linux云自动化运维第三课 一.正则表达式 1.匹配符 * ###匹配0到任意字符 ? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 ...
 
随机推荐
- Django—templates系统:模版语言
			
常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含义, ...
 - JavaScript(第二十三天)【事件入门】
			
JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操作的时候,再去执行一系列代码. 一.事件介绍 事件一般是用于浏览器和用户操作进行交互.最早是IE和 ...
 - C语言第十一次博客作业---函数嵌套调用
			
一.实验作业 1.1 PTA题目 题目:递归实现顺序输出整数 1. 本题PTA提交列表 2. 设计思路 printdigits函数 定义整型变量result存放结果 if n是10的倍数 result ...
 - Beta冲刺第一天
			
一.昨天的困难 Beta阶段第一天,主要进行本阶段的计划和任务分配,主要问题是上阶段所做的测试工作较少,本阶段需要加强测试工作,并不断修复检测出来的BUG. 二.今天进度 所有成员写简单测试测试整体应 ...
 - 201621123031 《Java程序设计》第6周学习总结
			
作业06-接口.内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多 ...
 - django BBS
			
https://github.com/triaquae/py_training/tree/master/OldboyBBS2 http://www.cnblogs.com/zhming26/p/592 ...
 - 过滤器Filter与监听器Listener
			
过滤器Filter 过滤器也是一种servlet 它也可以对用户的请求进行处理 , 但是他所做的处理,只是一些轻量级的处理.Fileter就好像jsp页面与servlet之间的一道关卡,如果这个 ...
 - Unix下zfs文件系统重组RAID-5后可以这样恢复
			
存储做的RAID-5, SCSI硬盘,操作系统是FreeBSD,文件系统是zfs.本案例共有12块硬盘,11块硬盘里有数据,1块硬盘是热备盘.其中第6块数据硬盘出现故障,重组时需要将其剔除. 物理盘: ...
 - The method getTextContent() is undefined for the type Node
			
eclipse 中 如果加入了 其他了xfire 等其他xml解析包的话,使用org.w3c.dom.Node下的getTextContent()方法会出现The method getTextCont ...
 - 构建自己的PHP框架--构建模版引擎(3)
			
之前我们实现了最简单的echo命令的模版替换,就是将{{ $name }}这样一段内容替换成<?php echo $name ?>. 现在我们来说下其他的命令,先来回顾下之前的定义 输出变 ...