本文内容脑图如下:
文章共 747 字, 阅读大约需要 2 分钟 !
概 述
最近学 Elasticsearch, 既然学之, 怎么能没有实际的集群来把玩呢, 因此自己必须动手搭一个!
注: 本文首发于 My Personal Blog:CodeSheep. 程序羊 http://www.codesheep.cn/ , 欢迎光临 小站 http://www.codesheep.cn/
环境准备
节点准备
本文准备搭建 双节点 Elasticsearch 集群, 因此这里准备了两台 Linux CentOS 7.4 64bit 机器:
节点 1:192.168.31.8
节点 2:192.168.31.9
Elasticsearch 安装包准备
这里下载的是截止到当前日期的最新版: 6.4.2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
安装目录准备
这里拟将 Elasticsearch 安装在 /opt/Elasticsearch 目录下:
mkdir /opt/Elasticsearch
将压缩包复制到该目录下并解压
Elasticsearch 集群配置
需要修改两个节点上的配置文件 Elasticsearch.YAML
节点 1 配置
- cluster.name: codesheep # 集群名称
- node.name: sheep1 # 节点名
- network.host: 192.168.31.8 # 绑定的节点 1 地址
- network.bind_host: 0.0.0.0 # 此项不设置你试试本机可能访问不了啊
- discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts 列表
- discovery.zen.minimum_master_nodes: 1
- ## 如下配置是为了解决 Elasticsearch 可视化工具 dejavu 的跨域问题! 若不用可视化工具则可省略之
- http.port: 9200
- http.cors.allow-origin: "http://192.168.199.76:1358"
- http.cors.enabled: true
- http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
- http.cors.allow-credentials: true
节点 2 配置
- cluster.name: codesheep # 集群名称
- node.name: sheep1 # 节点名
- network.host: 192.168.31.9 # 绑定的节点 2 地址
- network.bind_host: 0.0.0.0
- discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts 列表
- discovery.zen.minimum_master_nodes: 1
- ## 如下配置是为了解决 Elasticsearch 可视化工具 dejavu 的跨域问题! 若不用可视化工具则可省略之
- http.port: 9200
- http.cors.allow-origin: "http://192.168.199.76:1358"
- http.cors.enabled: true
- http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
- http.cors.allow-credentials: true
集群启动前准备
创建用户及用户组
由于 Elasticsearch 不能以 root 用户启动, 因此需要添加非 root 用户:
- groupadd es
- useradd es -g es
- chown -R es:es ./Elasticsearch-6.4.2
关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
启动 Elasticsearch 集群
切换用户
su es
分别在 节点 1 和 节点 2 上启动 ES 服务
- cd bin
- ./Elasticsearch // 若要后台启动, 则加 - d 参数
浏览器访问: http://ip:9200/ 查看启动效果
命令行查看集群信息
利用可视化工具 dejavu 查看集群信息
关于 Elasticsearch 集群可视化管理工具的上手, 可以参考我的前文:《一文上手 Elasticsearch 常用可视化管理工具》
接下来插入两条数据
- curl -X PUT 'localhost:9200/accounts/person/1' -d '
- {
- "user": "张三",
- "title": "工程师",
- "desc": "数据库管理"
- }'curl -X PUT'localhost:9200/accounts/person/1'-d'
- {
- "user": "赵四",
- "title": "设计师",
- "desc": "UI 设计"
- }'
查看数据的入库效果
OK, 索引 / 类型 / 文档 一目了然!
若在 Elasticsearch 集群 安装 / 启动 过程 中有任何奇葩 问题 / 错误 的话, 就参考我的这篇文章:《CentOS7 上 Elasticsearch 安装填坑记》 https://www.jianshu.com/p/04f4d7b4a1d3 吧, 里面的坑我都一个个填过了!
安装 IK 分词器
在 Elasticsearch 的世界中, 插件是很重要的一部分, 很多功能都可以通过插件来实现, 因此下面就以常用的 IK 分词器插件 的安装为例, 来操作一下 Elasticsearch 插件的安装
分词技术是搜索技术的基石, 而 IK 分词器是比较经典的一个, 接下来尝试安装一下吧
IK 分词器版本与 ES 版本对应, 不能搞错, 可在 这里查看
下载 IK 分词器插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip
解压 / 安装
新建目录 /opt/Elasticsearch/Elasticsearch-6.4.2/plugins/Elasticsearch-analysis-ik-6.4.2
再将 zip 包置于上述目录下并解压:
unzip Elasticsearch-analysis-ik-6.4.2.zip
重启 Elasticsearch 集群
重启 Elasticsearch 集群, 若发现如下内容, 这说明插件安装成功:
怎么样, 很简单吧, 就是一个解压放置的过程嘛!
后 记
由于能力有限, 若有错误或者不当之处, 还请大家批评指正, 一起学习交流!
来源: https://yq.aliyun.com/articles/665051