您的位置:首页 > 其它

ElasticSearch集群搭建及配置监视服务

2017-10-12 20:26 495 查看

Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎

Elasticsearch 不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。 同时 Elasticsearch 有着超强的的水平伸缩性,可以将负载压力和稳定性分散到多个节点。应用场景有电商系统中商品搜索, 系统日志汇聚检索, 用户行为跟踪分析等;

ES集群服务环境搭建

搭建es集群(这里配置三节点, 3主片/3副片的环境)

Win10, jdk8, es5.6.2, kibana5.6.3(可视化操作es),sense-2.0.0-beta7(一个 Kibana 应用 它提供交互式的控制台,通过你的浏览器直接向 Elasticsearch 提交请求)

下载 ES, kibana, 尽量保持两者版本一致

新建文件夹 es-cluster, 将es的压缩包copy到该文件夹, 并解压缩出来三份, 分别命名为 elasticsearch-5.6.2-9201, elasticsearch-5.6.2-9202, elasticsearch-5.6.2-9203,

再创建数据文件夹(../es-cluster/data) 日志存储文件夹(../es-cluster/log)

修改es节点服务中的配置文件(../es-cluster/elasticsearch-5.6.2-9201/config/elasticsearch.yml), 示例参考(src/resources/config/es/*)

启动节点9201, 执行(../es-cluster/elasticsearch-5.6.2-9201/bin/elasticsearch.bat), 访问服务 es-health, 这里显示服务状态为red,

表示不是所有的主分片可用, 当前机器还不能正常工作, 因为我们在配置文件中配置的至少上线2个节点, 才会进行master选举

启动节点9202, 执行(../es-cluster/elasticsearch-5.6.2-9202/bin/elasticsearch.bat), 再次访问服务es-health, 发现服务状态已经变为green,

表示所有主片和副片都可用, 机器可以正常工作

6.1.(可忽略) 安装sense,
_bin\kibana-plugin.bat install elastic/sense_
, 如果安装失败请直接下载sense, 然后再

_bin\kibana-plugin.bat install -d "" sense


将kibana解压至 es-cluster/kibana-5.6.2-windows-x86, 修改配置 kibana-5.6.2-windows-x86/config/kibana.yml 中的 elasticsearch.url: “http://localhost:9201,

示例参考(src/resources/config/kibana/*)

启动kibana, 执行(../es-cluster/kibana-5.6.2-windows-x86/bin/kibana.bat), 访问 kibana-service

添加一个名为’blogs’的index, 并为它分配三个分片并每个分片配属一个副片, 打开kibana面板后, 在 Dev Tools 菜单中执行

curl -XPUT 'localhost:9200/blogs?pretty' -H 'Content-Type: application/json' -d'
{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}


再次访问ES服务查看状态 status, 会看到有对应的分片状态;

Docker中ES集群服务环境搭建

1 . 安装Docker后, 打开一个命令行(powershell), 搜索下docker-hub中心仓库的elasticsearch, 得到的结果列表中关注数最高的就是elastic官方提供的es镜像, 我们就使用它来启动我们的es容器服务;

docker search elasticsearch


2 . 把镜像下载到本地(我们也可以登录自己的docker-hub账号, 上传自己的镜像)

docker pull elasticsearch


3 . 用镜像作为模板启动docker-container, 就能提供es服务

docker run -it --name es -p 9200:9200 -p 9300:9300 -v D:/docker/data/es:/usr/share/elasticsearch/data -v D:/docker/logs/es/:/user/share/elasticsearch/logs elasticsearch


a) run: 创建一个新的容器并运行指定命令

b) -it: 以交互模式运行容器;

c) -name: 为容器指定的名称

d) -p: 宿主机端口映射到容器端口, 就可以通过访问宿主机端口来实现对容器端口的访问

e) -v: 宿主机目录映射的容器内目录

f) 最后的名称就是镜像名称, 还可以指定某个镜像服务器等, 默认就是docker官方hub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息