ES(2): Build ES Cluster on Azure VM
目录:
- 系统环境准备
- 安装ES集群
- 安装Kibana
- 安装x-pack
- 安装head
系统环境准备
- 参见: HDP2.4安装(二):Centos7配置
- 修改network:
- 修改hosts:
- 配置ssh :
- 配置ntp服务
- 配置selinux
- 安装java jdk
- 文件数与虚拟内存配置
- 命令:vim /etc/sysctl.conf 打开编辑器中增加如下配置
fs.file-max=655350
vm.max_map_count=655360 - 执行命令:sysctl -p
- 命令: vim /etc/security/limits.conf 添加下面配置:
* soft nofile 655350
* hard nofile 655350 - 命令:reboot (重启机器)
- 测试集群节点:
- 10.0.0.5 JNES01 (A2系列)
- 10.0.0.6 JNES02 (A2系列)
安装ES集群
- ES5.1下载地址: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.tar.gz
- 解压: tar -zxvf elasticsearch-5.1.1.tar.gz
- 新建存储目录: mkdir -p /mnt/data/esdata
- 目录权限:chmod -R 777 /mnt/data/esdata/
- 修改配置:vim elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
cluster.name: JNES
http.cors.enabled: true
http.cors.allow-origin: "*"
thread_pool:
bulk:
size: 3
queue_size: 1000
# ------------------------------------ Node ------------------------------------
node.name: JNES01
# ----------------------------------- Paths ------------------------------------
path.data: /mnt/data/esdata
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
indices.fielddata.cache.size: 25%
# ---------------------------------- Network -----------------------------------
network.host: 10.0.0.5
http.port: 12000
transport.tcp.port: 12300
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["10.0.0.5", "10.0.0.6"]
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 20s
# ---------------------------------- Various -----------------------------------
action.auto_create_index: true
xpack.security.enabled: false - 将文件scopy至JNES02,然后修改node节点名
- 命令:vim jvm.options A2的机器更改配置:-Xms1g
- teld用户下运行elastic,需更改root安装文件的权限,并确保teld具有es数据目录的读写权限,命令:sudo chmod -R 777 /zhu/elasticsearch-5.1.1
- 切换目录至: cd /zhu/elasticsearch-5.1.1/bin
- 后台启动ES: ./elasticsearch -d (-d: 参数表示后台启动,不带该参数表示前台启动)
- 检测命令:curl 10.0.0.5:12000 如下图则ok

- 命令: jps 查看es进程号,停止服务通过 kill 进程号来处理
- 命令: ./elasticsearch help (查看命令行帮助)

安装Kibana
- 下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-linux-x86_64.tar.gz
- 解压: tar -zxvf kibana-5.1.1-linux-x86_64.tar.gz
- 配置修改: vim kibana.yml
server.port: 5500
server.host: "10.0.0.5"
elasticsearch.url: "http://10.0.0.5:12000"
elasticsearch.requestTimeout: 180000
elasticsearch.pingTimeout: 15000
xpack.security.enabled: false 切换至kibana目录: cd /zhu/kibana-5.1.1-linux-x86_64/
- 启动服务: ./kibana
- 后台启动服务:nohup ./kibana & (简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后台运行,用nohup命令启动程序:nohup <程序名> & )
- 查看服务:netstat -pan |grep 5500

- 停止进程:kill -9 63890
- 配置端口映射,如下图

- 外网访问kibana,如下图:

- 之前版本ES和Kibana配合还需要使用plugin安装一些Marvel,sense等,现在都不需要了,DevTools就是之前的Sense
安装x-pack
- X-pack插件: x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,包含功能如下:

- 当安装X-pack在群集上,监控代理运行在每个节点上收集和指数指标从Elasticsearch。
- 安装在X-pack在Kibana上,可以查看通过一套专门的仪表板监控数据
- 命令: ./elasticsearch-plugin install x-pack 如下图(切换到es安装bin目录下,所有ES节点都需安装)

- 命令: ./kibana-plugin install file:///zhu/x-pack-5.1.1.zip (切至kibana解压bin目录,zip文件需从网上下载,只需在安装kibana的机器上安装即可)

- 通过kibana查看集群信息,如下图:

安装head
- head插件可以用来快速查看elasticsearch中的数据概况以及非全量的数据,也支持控件化查询和rest请求,但是体验都不是很好。一般就用它来看各个索引的数据量以及分片的状态
- 下载安装head插件,下载地址: https://codeload.github.com/mobz/elasticsearch-head/zip/master 下载至本地后上传 (任选一台机器上安装即可)
- 命令:unzip elasticsearch-head-master.zip
- 下载安装nodejs, 下载地址:https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz 下载至本地后上传
- 命令:xz -d node-v6.9.2-linux-x64.tar.xz
- 命令:tar -xvf node-v6.9.2-linux-x64.tar
- 命令:mv node-v6.9.2-linux-x64 /zhu/node
- 配置node环境变量: vim /etc/profile 加如下配置
export NODE_HOME=/zhu/node
export PATH=$PATH:$NODE_HOME/bin 命令:source /etc/profile
- 验证命令:node -v
- 验证命令:npm -v

- grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动的。因此需要安装一下
- 安装grunt,切换至目录: cd elasticsearch-head-master
- 命令: npm install grunt
- 测试: 切换至目录:cd elasticsearch-head-master/node_modules/grunt/bin
- 命令:./grunt

- 按提示安装如下包,切换至如下目录: cd /zhu/elasticsearch-head-master
- 命令:npm install grunt-contrib-clean --registry=https://registry.npm.taobao.org
- 命令:npm install grunt-contrib-concat --registry=https://registry.npm.taobao.org
- 命令:npm install grunt-contrib-watch --registry=https://registry.npm.taobao.org
- 命令:npm install grunt-contrib-connect --registry=https://registry.npm.taobao.org
- 命令:npm install grunt-contrib-copy --registry=https://registry.npm.taobao.org
- 命令:npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org
- 安装完成后检查:./grunt -version

- head直接执行有很多限制,比如无法跨机器访问等,因此需要用户修改如下两个地方:
- 修改head目录下Gruntfile.js配置, 添加hostname: '10.0.0.5' 或 "*"

- 修改连接地址:目录:head/_site/app.js, 把localhost修改成你es的服务器地址,如下:
- 把localhost修改成你es的服务器地址,如: this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.0.0.5:12000";
- 切换目录至:cd /zhu/elasticsearch-head-master
- 运行:node_modules/grunt/bin/grunt server 如下图

- 后台运行:nohup node_modules/grunt/bin/grunt server &
- 查看命令:netstat -pan |grep 9100

- 访问示例图如下:

ES(2): Build ES Cluster on Azure VM的更多相关文章
- ES(二): Build ES Cluster on Azure VM
目录: 系统环境准备 安装ES集群 安装Kibana 安装x-pack 安装head 系统环境准备 参见: HDP2.4安装(二):Centos7配置 修改network: 修改hosts: 配置ss ...
- ES(3): ES Cluster Extended Azure Storage
Azure VM的磁盘空间远远不能满足ES集群存储需求(还需除掉VM的临时盘),同时也未找着ES配置 block blob storage 存储的组件,因此下文介绍通过挂载附加盘的方式增加ES集群存储 ...
- Azure vm 扩展脚本自动部署Elasticsearch集群
一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...
- //Build/ 2014 开发者大会Azure重点整理
寓教于乐,轻松掌握 Windows Apps和 Cloud //Build/ 2014开发者大会第二天重点整理 (上) //Build/ 2014开发者大会第二天的主题演讲主要包含两部分:Mic ...
- 【Azure Developer】使用Java代码启动Azure VM(虚拟机)
问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...
- [OpenGL ES 02]OpenGL ES渲染管线与着色器
[OpenGL ES 02]OpenGL ES渲染管线与着色器 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创 ...
- Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
<Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...
- Windows Azure Virtual Machine 之用程序控制Azure VM
我们在很多时候可能会需要用程序来控制VM的创建,删除工作. 而在这些工作之中,用程序创建一个VM将会是一个非常复杂的过程,因为他涉及到很多步骤. 具体步骤如下 1 创建一个Hosted cloud s ...
- Windows Azure Virtual Machine (24) Azure VM支持多网卡功能
<Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...
随机推荐
- python pipe stdout 实现cat|grep 功能
从hdfs里获取希望的数据: import subprocess for day in range(22, 23): for h in range(17, 24): filename = " ...
- POJ 3259 Bellman_Ford算法
额.关键是读题.反正我是看了解题报告才知道意思的.给你n个点.m条路.双向的.耗费时间.w个虫洞.单向的.时间为负值.问你是否可以从某一点返回看到之前的自己.即为判断是不是有负环.用Bellman_F ...
- 快速切题 sgu115. Calendar 模拟 难度:0
115. Calendar time limit per test: 0.25 sec. memory limit per test: 4096 KB First year of new millen ...
- .net大型分布式电子商务架构说明
背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 架构演变 基础框架剥 ...
- DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用
在一些应用场景中,我们可能需要记录某一天,某个时段的日程安排,那么这个时候就需要引入了 DevExpress 的日程控件XtraScheduler 了,这个控件功能非常强大,提供了很好的界面展现方式, ...
- C语言基础:二维数组 分类: iOS学习 c语言基础 2015-06-10 21:42 16人阅读 评论(0) 收藏
二维数组和一位数组类似. 定义: 数据类型 数组名[行][列]={{ },{ }....}; 定义时,一维(行)的长度可以省略,但是二维(列)的长度不可以省略.但是访问时,一定使用双下标. 二维数组的 ...
- 6.2 socket 流协议与粘包
TCP IP协议是流协议,对上层协议来讲是没有边界的,主机A发送两个消息M1和M2,如下图所示: 主机A发送了M1和M2,主机B在接收时有4种情况: 1.先收了M1,又收了M2 2.M1.M2一起收到 ...
- HTML第二课——css
请关注公众号:自动化测试实战 先给大家提个建议,就是用sublime编辑器来编写.用其他的也无所谓,我只是建议,因为这个会帮你自动补全很多代码. css概念 css叫层叠样式表.意思就是一层一层的叠加 ...
- HashMap Hashtable LinkedHashMap TreeMap
// Map<String, String> map = new HashMap<String, String>(); // bb aa cc Map<String, S ...
- (转)typedef和define的详细区别
来源:http://developer.51cto.com/art/201104/256060.htm typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程 ...