全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选,它的底层是开源库 Lucene。但是我们没法直接使用 Lucene,必须自己写代码去调用它的接口。

Elasticsearch 是 Lucene 的封装,提供了 REST API 的操作接口,非常方便。

一、安装 Java 8

Elasticsearch 需要 Java 8 的环境。

如果还没安装,请参考:

http://blog.csdn.net/justdoit_potato/article/details/77962670

二、安装 Elasticsearch

1. 下载压缩包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.zip

2. 解压

unzip elasticsearch-6.0..zip

3. 启动

./elasticsearch-6.0./bin/elasticsearch

启动时可能报错:不允许 root 用户运行

解决办法:

1. 创建新用户

adduser [user]

2. 给新用户赋予权限

chown -R [user] [elasticsearch安装目录]

3. 切换到新用户

su [user]

完成。

三、远程访问

默认情况下,elasticsearch 只允许本机访问,如果需远程访问。

1. 打开配置文件

vim elasticsearch-6.0./config/elasticsearch.yml

2. 将 network.host 配置去掉注释,值改为 0.0.0.0(建议改为具体的客户端IP)

network.host: 0.0.0.0

3. 改完后可能会无法启动,报错:

解决办法:

1. sysctl.conf 配置文件

vi /etc/sysctl.conf

增加或修改配置

fs.file-max=
vm.max_map_count=

保存后设置生效

// 使生效
sysctl -p

2. limits.conf 配置文件

vim /etc/security/limits.conf

增加配置

* soft nofile
* hard nofile

4. 修改防火墙

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

5. 重新登录 SSH,再次尝试启动 elasticsearch。

切换到非 root 用户。

启动:

./elasticsearch-6.0./bin/elasticsearch

或 守护线程启动:

./elasticsearch-6.0./bin/elasticsearch -d

6. 测试

浏览器打开:http://ip:9200/

输出:

四、集群

1. 在本机上创建第二个实例:

切换到非 root 用户,在 elasticsearch 目录下创建 data1 文件夹后,执行命令:

./bin/elasticsearch -Ehttp.port= -Epath.data=/.../elasticsearch-6.0./data1

这条命令会覆盖配置文件中的参数。

2. 查看是否启动成功

浏览器访问:http://ip:8200

如果正确输出配置信息,表示启动成功。

3. 如何查看新创建的节点是否加入集群

浏览器访问:http://ip:8200/_cat/nodes?v

可以看到,出现两条节点信息。

master 的 * 号表示当前节点信息表示主实例。

五、常用命令

// 查看当前节点的所有Index
_cat/indices
// 查看当前Index的所有Type
_mapping?pretty=true
// 新建Index
PUT weather
// 删除Index
DELETE weather

Lucene 学习-安装 Elasticsearch 服务器的更多相关文章

  1. Lucene 学习-安装 Kibana 视图界面

    Kibana 是一个开源的分析与可视化平台,设计出来用于和 Elasticsearch 一起使用的. 你可以使用 Kibana 搜索.查看.交互存放在 Elasticsearch 索引里的数据.使用各 ...

  2. ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack

    最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因 ...

  3. ELK日志框架(1):安装Elasticsearch组建单服务器多节点集群

    ELK简介 最近有个需求搭建一套日志系统用于集成几个业务系统的日志提供快速的检索功能,目前是用Log4net存数据库+Error级别发邮件方式,也算简单暴力好用,但历史日志的模糊查询确实很慢,所以使用 ...

  4. ElasticSearch 5学习(1)——安装Elasticsearch、Kibana和X-Pack

    安装准备: 安装Elasticsearch唯一的要求是安装官方新版的Java,包括对应的Jdk. 安装Elasticsearch 首先到官网下载最新版本的Elasticsearch压缩包. 可以使用命 ...

  5. Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置

    一.安装与配置 1.到官网下载Elasticsearch,https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6. ...

  6. ElasticSearch6学习(1)-安装Elasticsearch

    安装准备: 安装Elasticsearch唯一的要求是安装Java8,包括对应的Jdk.其他java9/java10没尝试,考虑兼容问题.我这里只用了java8 安装java8可以参考我之前写的一篇文 ...

  7. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

  8. ES1:Windows下安装ElasticSearch

    ElasticSearch(简称ES)是一个基于Lucene的分布式全文搜索服务器,本随笔演示在Windows安装ElasticSearch和用于管理ES的Head插件. ElasticSearch官 ...

  9. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

随机推荐

  1. CefSharp访问需要认证网页或接口(在Request的Headers中添加认证Token)

    public class MyRequestHandler : DefaultRequestHandler { public static readonly string VersionNumberS ...

  2. C#之简易计算器设计

    在学完了C#的方法和数据类型之后,写了一个简易的计算器的界面.本次界面具备加减乘除求余等五项运算.不过存在一点缺陷就是无法判断输入数据的类型,是整数还是小数,由于目前所学知识有限,等学到以后再进行完善 ...

  3. System.Data.SQLite安装的相关问题

    在使用System.Data.SQLite的过程中,遇到各种问题,特此记录下.(都被搞的折寿了,不仔细看文档的下场!) 1.选对.net Framework的版本. 2.X64和X86的问题,如果项目 ...

  4. Linux系统文件压缩与备份(5)

    在 Linux 系统选有相当多的压缩命令可以使用,这些压缩指令可以让我们更方便的从网上下载大型文件,本章第一节内容我们就来谈谈这个 Linux 系统下常用的几种压缩格式吧. 谈完了压缩后,我们接着来说 ...

  5. 带你走进二进制-一次APT攻击分析

    原文:https://osandamalith.com/2017/06/04/apt-attack-in-bangladesh/ 由prison翻译整理,首发i春秋   引言;   这是一次来自遥远国 ...

  6. Linux巩固记录(7) Hbase安装

    zookeeper安装好,并启动成功后,接下来开始安装hbase #下载hbase wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3 ...

  7. HTML元素ID和JS方法名重复,JS调用失败

    HTML元素ID和JS方法名重复时,JS中的重名方法无法被找到,不能执行. 修改ID或者方法名,两者不一致即可.

  8. 编译lua-5.3.5时出错解决方法

    问题描述: 执行 make linux test 过程出现错误,错误信息如下: “ lua.c:82:31: fatal error: readline/readline.h: No such fil ...

  9. vue.js生命周期钩子函数及缓存

    在使用vue.js进行开发时,使用最多的就是created.mounted.activated. 由于有些情况下,我们需要复用某些组件,因此需要用到keep-alive. 当引入keep-alive时 ...

  10. 不一样的日期、时间转换(moment.js)

    无意中遇到了一种很奇怪的日期格式,从接口中返回的日期是这样的,如 2018-02-06T11:59:22+08:00 .然而这却不是我们想要的,我们要的是这种,YYYY-MM-DD HH:mm:ss. ...