ElasticSearch 概述
ElasticSearch是一个高可扩展的开源的全文搜索分析引擎。
- 它允许你快速的存储、搜索和分析大量数据。ElasticSearch通常作为后端程序,为需要复杂查询的应用提供服务。
- Elasticsearch是一个基于Lucene的开源分布式搜索引擎,具有分布式多用户能力。Elasticsearch是用java开发,提供Restful接口,能够达到实时搜索、高性能计算;同时Elasticsearch的横向扩展能力非常强,不需要重启服务,基本上达到了零配置。
ElasticSearch 安装
-
在VMware上安装centos7
-
安装vim,输入
yum install -y vim -
安装git,输入:
yum install -y git -
安装jdk1.8+
-
查看CentOS自带JDK是否已安装,输入:
yum list installed |grep java。 -
若有自带安装的JDK,卸载CentOS系统自带Java环境。
-
卸载JDK相关文件,输入:
yum -y remove java-1.8.0-openjdk*。 -
卸载tzdata-java,输入:
yum -y remove tzdata-java.noarch。当结果显示为Complete!即卸载完毕。注:“*”表示卸载掉java1.8.0的所有openjdk相关文件。
-
新建目录
mkdir /usr/java/ -
将下载的jdk的rpm包上传至
/usr/java文件夹中,修改权限,输入chmod +x jdk-8u111-linux-x64.rpm -
输入
rpm -ivh jdk-8u101-linux-x64.rpm安装 -
输入
PATH="${PATH}:/usr/java/jdk1.8.0_111",修改环境变量 -
查看刚安装的Java版本信息,输入:
java -version可查看Java版本。
-
-
打开xshell通过xftp将elasticsearch-2.1.1.tar.gz传到虚拟机
/opt中,cd到opt目录,输入tar zxvf elasticsearch-2.1.1.tar.gz,解压至当前目录。注:不可以使用root用户启动elasticsearch,这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,建议创建一个单独的用户用来运行xkcoding
如果是用root账号启动,会报以下错误
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details. -
创建xkcoding用户组及xkcoding用户
groupadd xkcoding useradd xkcoding -g xkcoding -p elasticsearch-2.1.1 -
更改elasticsearch-2.1.1文件夹及内部文件的所属用户及组为xkcoding:xkcoding
cd /opt chown -R xkcoding:xkcoding elasticsearch-2.1.1 -
切换到elsearch用户再启动
su xkcoding cd elasticsearch-2.1.1 ./bin/elasticsearch -d #以守护进程的方式运行 -
打开一个新的终端进行测试
curl 'http://localhost:9200/?pretty' -
查看返回数据
{ "name": "node-1", "cluster_name": "togeek", "version": { "number": "2.1.1", "build_hash": "40e2c53a6b6c2972b3d13846e450e66f4375bd71", "build_timestamp": "2015-12-15T13:05:55Z", "build_snapshot": false, "lucene_version": "5.3.1" }, "tagline": "You Know, for Search" } -
需要从windows本机访问centos7虚拟机,因此需要关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
- 直接关闭防火墙
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 - 设置
iptables serviceyum -y install iptables-services - 如果要修改防火墙配置,如增加防火墙端口9200
vi /etc/sysconfig/iptables - 增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT - 保存退出后
systemctl restart iptables.service #重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 - 最后重启系统使设置生效即可。
- 直接关闭防火墙
-
在windows的cmd中测试,返回json,测试通过!