Lucene 学习-安装 Elasticsearch 服务器

全文搜索属于最多见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选,它的底层是开源库 Lucene。可是咱们无法直接使用 Lucene,必须本身写代码去调用它的接口。node

Elasticsearch 是 Lucene 的封装,提供了 REST API 的操做接口,很是方便。vim

1、安装 Java 8

Elasticsearch 须要 Java 8 的环境。浏览器

若是还没安装,请参考:app

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

 

2、安装 Elasticsearch 

1. 下载压缩包tcp

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

2. 解压测试

unzip elasticsearch-6.0.1.zip

3. 启动搜索引擎

./elasticsearch-6.0.1/bin/elasticsearch

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

解决办法:.net

1. 建立新用户

adduser [user]

2. 给新用户赋予权限

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

3. 切换到新用户

su [user]

完成。

 

3、远程访问

默认状况下,elasticsearch 只容许本机访问,若是需远程访问。

1. 打开配置文件

vim elasticsearch-6.0.1/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=655350 
vm.max_map_count=655360

保存后设置生效

// 使生效
sysctl -p

2. limits.conf 配置文件

vim /etc/security/limits.conf

增长配置

* soft nofile 655350
* hard nofile 655350

4. 修改防火墙

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

5. 从新登陆 SSH,再次尝试启动 elasticsearch。

切换到非 root 用户。

启动:

./elasticsearch-6.0.1/bin/elasticsearch

或 守护线程启动:

./elasticsearch-6.0.1/bin/elasticsearch -d

6. 测试

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

输出:

 

4、集群

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

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

./bin/elasticsearch -Ehttp.port=8200 -Epath.data=/.../elasticsearch-6.0.1/data1

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

 

2. 查看是否启动成功

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

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

 

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

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

能够看到,出现两条节点信息。

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

 

5、经常使用命令

// 查看当前节点的全部Index
_cat/indices
// 查看当前Index的全部Type
_mapping?pretty=true
// 新建Index
PUT weather
// 删除Index
DELETE weather
相关文章
相关标签/搜索