博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十二、Elasticsearch安装
阅读量:5824 次
发布时间:2019-06-18

本文共 1958 字,大约阅读时间需要 6 分钟。

hot3.png

问题:

在工作中,我们有很多需要全文搜索的内容,一般我们都会将数据导入到elasticsearch中

解决办法:

1. 配置jdk环境

我安装的是Java SE Development Kit 8u201:

选择了:jdk-8u201-linux-x64.tar.gz

2. 安装及配置环境变量

解压压缩文件:

tar xvf jdk-8u201-linux-x64.tar.gz

将解压后的文件移动到相应的路径,我这里移动到/usr/lib下:

sudo mv jdk1.8.0_201 /usr/lib/jdk

上面的命令会自动创建jdk目录,其实是重命名了jdk1.8.0_201

在文件/etc/profile末尾增加如下内容:

export JAVA_HOME=/usr/lib/jdkexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$PATH:$JAVA_HOME/bin

之后执行:

source /etc/profile

使配置生效

3. 下载elasticsearch

说在前面:

我在下载时,最新版本是6.6.2,我下载的也是此版本

下载地址:

这里我选择了tar.gz的压缩包,当然也可以选择deb的安装包

4. 解压及安装

解压文件:

tar xvf elasticsearch-6.6.2.tar.gz

移动解压后的目录到/opt下:

sudo mv elasticsearch-6.6.2 /opt/elasticsearch

移动到opt下,并且目录重命名为elasticsearch

在文件/etc/profile中配置路径:

export PATH=$PATH:/opt/elasticsearch/bin

执行:

source /etc/profile

现在就算安装完了,可以通过命令行执行:

elasticsearch

看看是否可以正常运行

5. 运行时的问题

max number of threads [3803] for user [xx] is too low, increase to at least [4096]max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

三个问题:

一个是说当前用户可用最大线程数太少,
一个是最大虚拟内存范围大小,我们来增加到最少的需求值
一个是最大文件描述符个数

(1) 先解决线程数量问题

查看线程数:

ulimit -u

发现果然是3803,所以需要去修改

打开配置文件/etc/security/limits.conf,末尾添加如下内容:

xx soft nproc 4096xx hard nproc 4096

这里注意,xx是我运行elasticsearch时使用的用户,

我只是给这个用户的线程数增加了,不影响其它用户的限制

重启电脑后,再次查看:

ulimit -u

这时发现线程数已经提升到了4096,而且运行elasticsearch,

已经看不到关于线程的那个提示了

(2) 再解决虚拟内存问题

查看虚拟内存设置:

sudo sysctl -a | grep 'vm.max_map_count'

发现,果然是65530,我们来修改一下:

sudo sysctl -w vm.max_map_count=262144

执行命令后,再次查看已经变成了262144了,但是这样重启会失效

我们来修改对应的配置文件/etc/sysctl.conf,增加如下内容:

vm.max_map_count=262144

这样重启也可以了

(3) 最大文件描述符个数

查看命令:

ulimit -n

打开配置文件/etc/security/limits.conf,末尾增加如下内容:

xx soft nofile 65536xx hard nofile 65536

写入配置文件,重启生效,现在我们如果不重启的话,可以继续使用命令:

ulimit -Sn 65536

这样这次不用重启就已经修改了

经过以上的折腾,就可以了

再次运行elasticsearch就发现,没有这些警告了

转载于:https://my.oschina.net/bxxfighting/blog/3021791

你可能感兴趣的文章
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
Flask 源码流程,上下文管理
查看>>
stream classdesc serialVersionUID = -7218828885279815404, local class serialVersionUID = 1.
查看>>
ZAB与Paxos算法的联系与区别
查看>>
java 读取本地的json文件
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
JDBC二查询(web基础学习笔记八)
查看>>
802.11 学习笔记
查看>>
Leetcode-Database-176-Second Highest Salary-Easy(转)
查看>>
构建Docker Compose服务堆栈
查看>>
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>