ElasticSearch 初体验



猫哥继续大数据旅程,开始接触各种各样的从来木听说过的软件、集群、系统... 当然也是踩各种各样的坑...

边踩坑边记录过程。今天来的是分布式告诉搜索——ElasticSearch!

ElasticSearch是神马?

【以下来自“https://es.xiaoleilu.com” ElasticSearch权威指南 - 中文版】

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
Elasticsearch使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:
•分布式的实时文件存储,每个字段都被索引并可被搜索
•分布式的实时分析搜索引擎
•可以扩展到上百台服务器,处理PB级结构化或非结构化数据
而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的 RESTful API 、各种语言的客户端甚至命令行与之交互。

安装、启动

操作系统:CentOS 6.6,JDK-1.7.0(JDK安装过程很简单,不再详述)。

首先,下载ElasticSearch,到这个地址: https://www.elastic.co/downloads/elasticsearch 找zip或者tar.gz包都可以。

猫哥找到的是,ElasticSearch-5.2.2的。

下载下来,解开压缩,放在某个目录,比如猫哥放在/data/分区下。变成:/data/elasticsearch522/

坑来了!!

直接用root启动 /data/elasticsearch522/bin/elasticsearch 是不行,会看到如下错误:

# ./elasticsearch
[2017-03-28T11:16:30,936][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.2.jar:5.2.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:203) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.2.jar:5.2.2]
        ... 6 more

好吧,单独建用户和用户组。说是为了安全考虑!但是官方文档里好歹提一句吖!!

添加用户组、用户,设置密码

groupadd elasticsearch
useradd elasticsearch -g elasticsearch
passwd elasticsearch

改整个文件夹属性:

chown -R elasticsearch:elasticsearch elasticsearch522/


然后... 还有N多坑...

但是,猫哥发现一个好办法——让除了添加用户之外的坑一下子消失!那就是——

用CentOS 7

验证

切换到elasticsearch用户,执行命令:
/data/elasticsearch-5.2.2/bin/elasticsearch
等几秒,会出现N行信息,一大堆warning信息,都不用管它... 看上去心里拔凉拔凉的...
打开另一个窗口,输入:
返回类似下面内容:
$ curl http://127.0.0.1:9200
{
  "name" : "FNNSxYv",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Hkze-E7-ToON_knDuZhxHQ",
  "version" : {
    "number" : "5.2.2",
    "build_hash" : "f9d9b74",
    "build_date" : "2017-02-24T17:26:45.835Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.1"
  },
  "tagline" : "You Know, for Search"
}

完成了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值