全文搜索属于最常见的需求,开源的 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. dbcp和druid(数据库连接池)

    前言: 对于一个简单的数据库应用,由于对于数据库的访问不是很频繁.这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销.但是对于一个复杂的数据库应 ...

  2. 浏览器环境下JavaScript脚本加载与执行探析之defer与async特性

    defer和async特性相信是很多JavaScript开发者"熟悉而又不熟悉"的两个特性,从字面上来看,二者的功能很好理解,分别是"延迟脚本"和"异 ...

  3. Linux Shell常用脚本整理

    轮询检测Apache状态并启用钉钉报警◆ #!/bin/bash shell_user="root" shell_domain="apache" shell_l ...

  4. CodeForces - 940C + CodeForces - 932B (两道比较好的模拟题)

    940C链接:http://codeforces.com/problemset/problem/940/C C. Phone Numbers time limit per test 2 seconds ...

  5. python ftplib模块使用

    Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件. ftplib模块常用方法 ftp登陆连接 from ftplib import FTP #加 ...

  6. 不用函数库求一个数的平方根 (java版)

    一.题目 编写程序求一个整数的平方根,精确到小数点后三位 二.解法 1) 采用 牛顿迭代法. 2)牛顿迭代法简介 假设方程 在  附近有一个根,那么用以下迭代式子:                  ...

  7. ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context

    封装Redis发布订阅时,SUB时,又想探测具体Channel的状态,于是执行PUBSUB CHNNALES命令,报 ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / ...

  8. java多线程并发控制countDownLatch和cyclicBarrier的使用

    java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用 ...

  9. Android_EditText 密码框默认是小圆点 怎么改成其它的(*)?

    text.setTransformationMethod(new AsteriskPasswordTransformationMethod()); public class AsteriskPassw ...

  10. TiDB 部署及数据同步

    简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 HTAP (Hybrid Transactional and Analytical Pr ...