elasticsearch单机版安装及安装过程踩的坑整理
elasticsearch单机版安装及安装过程踩的坑整理
环境及版本
Linux版本:centos7.3
JDK版本:1.8
Elasticsearch版本:
Linux用户:esuser
说明:因为es不能使用root用户安装,所以我们需要创建新用户:esuser.
本文中软件:
开始安装
1:创建es用户
useradd 用户名.如创建esuser这个用户:useradd esuser
给已经创建的用户设置密码,命令:
passwd 密码。如给刚才创建esuser创建密码为123456.命令:passwd 123456
创建完成之后,需要重新设置密码。
上传es的安装包
2:Es下载:
https://www.elastic.co/guide/en/elasticsearch/reference
需要注意:es7以后需要高版本的jdk或者openJDK
下图是es7对JDK版本的要求。
因为凯哥本地的JDK是1.8,所以不能使用ES7+的
凯哥使用ES6.8的。下图是6.8对JDK的要求。
6.8下载地址:
3:上传并解压
下载后,使用esuser用户将下载的安装包上传到服务器中。
解压:tar -xzf elasticsearch-6.8.7.tar.gz
切换到解压后的目录:
4:修改配置信息
说明:以下修改都是在root用户下修改的。而不是es用户下修改的
4.1:修改外网访问:
在eshome/config下elasticsearch.yml文件
如凯哥:eshome就是:/home/esuser/esxxx6.8.7
修改:elasticsearch.yml
放开network.host。修改成0.0.0.0或者是es服务器机器ip.
network.host: 0.0.0.0
大概在55行:
说明:如果不修改的话,有可能localhost能访问,但是通过ip访问不了。
在文章后面,凯哥会记录这个坑的。
4.2:修改系统进程最大打开文件数
修改 vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
修改:
vi /etc/security/limits.d/90-nproc.conf
修改:
* soft nproc 4096
ps:因为我的报了这个错误。所以就修改成4096
修改:vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
5:启动es
切换到es的bin目录:
执行:./elasticsearch
当出现如下信息,说明启动成功了。
通过浏览器访问对应连接:
访问成功。说明配置成。
关闭es,修改成后台启动模式:./elasticsearch &
总结安装es遇到的坑。
一:ES版本与JDK版本不一致
凯哥在第一次安装ES的时候,打开ES官网看到最新版本是7.6。因为不知道ES与JDK版本有对应关系。本地1.8的JDK。安装的时候,一堆错误。然后各种搜索,查看官网才发现JDK版本不一致导致。于是果断更换ES版本。
解决办法:更换符合自己JDK版本的ES
二:启动的时候提示权限不足
在启动ES的时候提示权限不足
原因:ES不能使用root用户。
解决方法:创建es用户。
三:ES不能外网访问
更换ES之后,再次安装后,用localhost能够访问,但是通过ip+端口就不能访问了。
解决办法:elasticsearch.yml中第55行。设置host.
四:进程数量限制
错误信息1:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
或者是:
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
错误信息2:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
错误1解决:
切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误2解决:
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
附JDK安装:
编辑/etc/profile.命令;
vi /etc/profile
进入编辑模式:
命令:i
export JAVA_HOME=/root/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
说明:修改JAVA_HOEM =你自己jdk路径
然后复制,到文件最后。如下图:
Esc :wq!进行保存并强制退出。
让profile立即生效命令:
source /etc/profile
输入java -version 查看版本号。
如果提示权限不足。修改:
chmod 777 /home/soft/java/bin/java
说明:/home/soft/java/ 这个目录是你自己Java安装目录哦!
赋权之后,在执行Java -vserion 就可以查看jdk版本号了
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
7个不使用TypeScript的理由,你认同吗?
TypeScript很受大众喜爱。因为它“解决”了JS的许多问题,是JS的“超集”。它不仅能轻松找出代码错误,还能使其易于阅读。 对,没错,使用TypeScript的理由太多了。 反其道而行之,今天小芯就要说7个不使用TypeScript的理由。 1. 它不能解决问题 据说TypeScript可以解决JavaScript的问题,但事实并非如此。动态类型在JavaScript中从来都不是问题,但是许多其他问题,例如NaN===NaN为false、分号为可选或非可选、换行符将对象定义更改为作用域、语法糖代替OOP等,确实是问题。TypeScript并没有解决这些问题,但是引入了另一个标准,进一步分化了JS社区。 即使假设JS中缺少类型是一个问题,TS也不能解决这个问题。你知道什么语言可以解决吗?Java、C、C#等编译语言可以。它们可以在编译和运行时安全地保证强类型。翻译语言就是不能做到这一点。 2. 虽然开源,但很局限 使用TypeScript的许多原因表明它是开源的。没错,TS编译器是在MIT许可下发布的。但它仍由微软(Microsoft)控制,微软是一家垄断性的大公司,其开源技术的进...
- 下一篇
你写的Java对象究竟占多少内存?
概述Java 作为一个面向对象语言,给我们带来了多态,继承,封装等特性,使得我们可以利用这些特性很轻松的就能构建出易于扩展,易于维护的代码。作为一个Javaer,天天搞“对象”,那你写的对象究竟占用了多少内存呢?我们来看看你的“对象”是如何“败家”的。本文环境:jdk1.8_64Java 对象头内存模型我们先来看看,一个Java 对象的内存模型是怎么样的?由于我们的虚拟机是分为32位和64位,那肯定它们的模型也是有区别的,下面我列出列32位虚拟机和64位虚拟机下的Java对象头内存模型。 因为笔者的本地环境是jdk1.8,64位虚拟机,这里我以64位虚拟机(开启指针压缩)来分析,因为默认情况下,jdk1.8 在64位虚拟机默认开启指针压缩。Java 对象头主要包括两部分,第一部分就是 Mark Word,这也是 Java 锁实现原理中重要的一环,另外一部分是 Klass Word。Klass Word 这里其实是虚拟机设计的一个oop-klass model模型,这里的OOP是指Ordinary Object Pointer(普通对象指针),看起来像个指针实际上是藏在指针里的对象。而 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主