一、elasticsearch 是什么
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
二、elasticsearch安装
1、 安装前的环境准备:
操作系统: centos6.5 elasticsearch版本:elasticsearch-5.5.2.tar.gz
elasticsearch-5.5.2.tar.gz 包下载(百度云):
链接:https://pan.baidu.com/s/1mjZqZmuDPLDpFnTkcNw91Q 密码:0r4y
2 、解压开始安装
上传 elasticsearch-5.5.2.tar.gz 包到centos服务器。
tar -zxvf elasticsearch-5.5.2.tar.gz #解压
mv elasticsearch-5.5.2 /usr/local/ #移动到 /usr/local 中
3、修改配置 elasticsearch.yml
cd /usr/local/elasticsearch-5.5.2/
cd config
vi elasticsearch.yml ,修改加入以下配置。
network.host: 0.0.0.0
http.port: 9200
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"
#配置data目录
path.data: /usr/local/elasticsearch-5.5.2/data
#配置logs目录
path.logs: /usr/local/elasticsearch-5.5.2/logs
mkdir data logs # 创建 data和logs目录
adduser elastic # 创建elastic用户,elasticsearch服务不能用root用户启动,只能为elasticsearch服务另建个用户。
pwd elastic #设置elastic用户的密码。
chown -R elastic:elastic . #将整个elasticsearch-5.5.2的属主赋给elastic用户
chmod -R 777 .
4 修改配置文件 jvm.options
vi jvm.options ,修改加入以下配置
#-Xms2g 2g内存太大,在我们开发、测试的虚拟机环境中可适当地调下小。
#-Xmx2g 2g内存太大,在我们开发、测试的虚拟机环境中可适当地调下小。
-Xms256m
-Xmx256m
5 (可选)修改bin/elasticsearch启动命令(指定JDK8)
elasticsearch5.5 需要依赖JDK8的环境,如果你的centos为JDK7,而且服务器上跑了很多服务用的也是JDK7,不能随便重装(升级)为JDK8 。
那么解决办法只能是手动修改elasticsearch启动脚本,指定为特定的JDK(不是服务器中默认配置的环境变量JDK7) 。
vi bin/elasticsearch ,找到
if [ -x "$JAVA_HOME/bin/java" ]; then JAVA="$JAVA_HOME/bin/java" else JAVA=`which java` fi
修改为
if [ -x "$JAVA8_HOME/bin/java" ]; then JAVA="$JAVA8_HOME/bin/java" else JAVA=`which java` fi
即可。
6 修改内核参数、线程等配置 (否则启动后可能会报一些稀奇古怪的错)
vi /etc/security/limits.conf ,在最后加上以下4行配置 。
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
vi /etc/security/limits.d/90-nproc.conf
将其中
* soft nproc 1024
改为
* soft nproc 2048
增加虚拟内存 , vi /etc/sysctl.conf 加上以下配置
vm.max_map_count=655360
7 重启服务器,使改动的配置生效
reboot
三、 启动、停止elasticsearch服务
su elastic #切换到elastic用户
cd /usr/local/elasticsearch-5.5.2/bin
./elasticsearch -d # -d参数表示以后台进程启动。 不加-d则直接在当前命令窗口启动 。
ok ~ 启动成功。
访问下 ip:9200 ,测试下。
elasticsearch服务在外部机器上也能够正常服务了 。。。
那么该如何停止elasticsearch服务呢。遗憾的是 ,elasticsearch没有提供专门的停止服务的脚本,我们只能以杀进程的方式停止服务。
ps -ef | grep elasticsearch-5.5.2
kill -9 <pid>
。。。