本文内容脑图如下:
文章共 747 字,阅读大约需要 2 分钟 !
最近学 Elasticsearch,既然学之,怎么能没有实际的集群来把玩呢,因此自己必须动手搭一个!
注: 本文首发于 My Personal Blog:CodeSheep·程序羊,欢迎光临 小站
本文准备搭建 双节点 Elasticsearch 集群,因此这里准备了两台 Linux CentOS 7.4 64bit 机器:
- 节点 1:
192.168.31.8
- 节点 2:
192.168.31.9
这里下载的是截止到当前日期的最新版:6.4.2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
这里拟将 Elasticsearch 安装在 /opt/elasticsearch
目录下:
mkdir /opt/elasticsearch
将压缩包复制到该目录下并解压
需要修改两个节点上的配置文件 elasticsearch.yml
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
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
su es
cd bin
./elasticsearch // 若要后台启动,则加-d 参数
关于 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 安装填坑记》吧,里面的坑我都一个个填过了!
在 Elasticsearch 的世界中,插件是很重要的一部分,很多功能都可以通过插件来实现,因此下面就以常用的 IK 分词器插件 的安装为例,来操作一下 Elasticsearch 插件的安装
分词技术是搜索技术的基石,而 IK 分词器是比较经典的一个,接下来尝试安装一下吧
IK 分词器版本与 ES 版本对应,不能搞错,可在 这里查看
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 集群,若发现如下内容,这说明插件安装成功:
怎么样,很简单吧,就是一个解压放置的过程嘛!
由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!
1
znood 2018-11-06 08:10:39 +08:00
v 站禁止全文转载,这种基础性文章贴个标题就行了,有人看会点的
|
2
hansonwang99 OP @znood 非转载,是我个人原创,codesheep 就是我本人
|
3
kqz901002 2018-11-06 08:19:58 +08:00
@hansonwang99 #2 果然 V 站不是交流技术的,是用来吹 B 划水的
|
4
fyibmsd 2018-11-06 08:20:42 +08:00 via iPhone
分布式至少 3 个节点吧
|
5
hansonwang99 OP @fyibmsd ES 无缝扩展,再多点节点也没有问题
|
6
marcomarco 2018-11-06 08:23:21 +08:00
可以的,学习了
|
7
fgt 2018-11-06 08:42:17 +08:00
怎么只装了 ES,配套的 Kibana 和 Logstash 呢;另外建议再出个 docker 版
|
8
hansonwang99 OP @fgt 你是想搞 ELK ?容器化的 ELK 的搭建我个人博客里有
|
9
LeeSeoung 2018-11-06 09:08:53 +08:00
我咋记得至少要三个节点 防止脑裂?
|
10
xiaonan10ll 2018-11-06 09:33:14 +08:00 via iPhone
|
13
sudodo 2018-11-06 10:37:56 +08:00
给楼主博客贡献了两次 PV 了。
每次都是被要求关注公众号的弹窗给逼得关闭页面。 芋道源码也是这样,个人觉得有些强人所难 |
14
aaa5838769 2018-11-06 10:57:24 +08:00
支持一下楼主,有没有 docker ?
|
15
hansonwang99 OP |
16
kslr 2018-11-06 13:05:45 +08:00 via Android
你这个文章落后几年了吧
|
17
superlogin 2018-11-06 13:33:16 +08:00
Docker 扩展一个哈哈
|