全文搜索属于最常见的需求,开源的 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. .net下WinDbg使用说明

    加载调试文件 .loadby sos mscorwks #.Net 3.5版本及以下 .loadby sos clr #.Net 4.0 WinDbg的基本命令 !threads #显示所有线程 !d ...

  2. Ubuntu系统常见问题解决

    我本人使用Ubuntu16.04LTS已经有一段时间了.实话来说,ubuntu虽然确实是开源世界的一款优秀的桌面操作系统,但是易用性和稳定性相比Windows还是差太多.本人从安装系统到逐步配置生产环 ...

  3. Linux系统文件权限管理(6)

    Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...

  4. Maximum repetition substring(POJ - 3693)(sa(后缀数组)+st表)

    The repetition number of a string is defined as the maximum number \(R\) such that the string can be ...

  5. Java并发编程总结2——慎用CAS

    一.CAS和synchronized适用场景 1.对于资源竞争较少的情况,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源:而CAS基于硬件实 ...

  6. http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started

    http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started Jquery.Form 异步 ...

  7. Linux - DNF包管理

    简介 link DNF(Dandified Yum)是新一代的RPM软件包管理器. DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容. DN ...

  8. Python中Flask框架SQLALCHEMY_ECHO设置

    在用配置类的方式给app设置配置时, SQLALCHEMY_ECHO 这个是记录打印SQL语句用于调试的, 一般设置为False, 不然会在控制台输出一大堆的东西 /home/python/.virt ...

  9. Docker数据管理(五)

    一.什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射 ...

  10. VirtualBox下Ubuntu虚拟机共享文件夹、自动挂载相关配置

    VirtualBox Ubuntu 共享文件夹的自动挂载: 一些基本的操作步骤: 首先,我们想要实现VirtualBox虚拟机与windows系统之间的通信,我们必须也应该正确的安装虚拟机系统. 其次 ...