目录:

  • 系统环境准备
  • 安装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的更多相关文章

  1. ES(二): Build ES Cluster on Azure VM

    目录: 系统环境准备 安装ES集群 安装Kibana 安装x-pack 安装head 系统环境准备 参见: HDP2.4安装(二):Centos7配置 修改network: 修改hosts: 配置ss ...

  2. ES(3): ES Cluster Extended Azure Storage

    Azure VM的磁盘空间远远不能满足ES集群存储需求(还需除掉VM的临时盘),同时也未找着ES配置 block blob storage 存储的组件,因此下文介绍通过挂载附加盘的方式增加ES集群存储 ...

  3. Azure vm 扩展脚本自动部署Elasticsearch集群

    一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...

  4. //Build/ 2014 开发者大会Azure重点整理

     寓教于乐,轻松掌握 Windows Apps和 Cloud //Build/ 2014开发者大会第二天重点整理 (上) //Build/ 2014开发者大会第二天的主题演讲主要包含两部分:Mic ...

  5. 【Azure Developer】使用Java代码启动Azure VM(虚拟机)

    问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...

  6. [OpenGL ES 02]OpenGL ES渲染管线与着色器

    [OpenGL ES 02]OpenGL ES渲染管线与着色器 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创 ...

  7. Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP

    <Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...

  8. Windows Azure Virtual Machine 之用程序控制Azure VM

    我们在很多时候可能会需要用程序来控制VM的创建,删除工作. 而在这些工作之中,用程序创建一个VM将会是一个非常复杂的过程,因为他涉及到很多步骤. 具体步骤如下 1 创建一个Hosted cloud s ...

  9. Windows Azure Virtual Machine (24) Azure VM支持多网卡功能

    <Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...

随机推荐

  1. 深入理解MyBatis中的一级缓存与二级缓存

    http://blog.csdn.net/weixin_36380516/article/details/73194758   先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓 ...

  2. 给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化

    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化 标签: ajaxdictionaryjsonobject服务器function 2012-07-25 18:41 2242人阅读  ...

  3. 第n+1次考试

    题目: 1. 中位数 [问题描述] 给定C个不同物品,每个物品有一重量和体积,保证每个物品的重量不一样.从中选出N个物品,在体积不超过F的情况下,使得选出的物品的重量的中位数最大.所谓中位数,就是排序 ...

  4. C语言strrev()函数:字符串逆置(倒序、逆序)

    头文件:#include<string.h> strrev()函数将字符串逆置,其原型为:    char *strrev(char *str); [参数说明]str为要逆置的字符串. s ...

  5. first head in html 笔记

    目录: 1.了解HTML 2.学会简单构建网页 3.学会将单个的网页放在web上,组成网站 5.学会使用图片 6.严格HTML规范 7.HTML->XHTML 8.学会一点CSS样式 9.了解盒 ...

  6. C#并行开发_Thread/ThreadPool, Task/TaskFactory, Parallel

    大家好,本次讨论的是C#中的并行开发,给力吧,随着并行的概念深入,哥也赶上这个潮流了,其实之前讨论C#的异步调用或者C#中BeginInvoke或者Invoke都已经涉及了部分本篇的内容. 参考书目: ...

  7. 使用MySQLTuner-perl对MySQL进行优化

    项目地址https://github.com/major/MySQLTuner-perl.git 抄一把说明,不翻译了,累-- MySQLTuner is a script written in Pe ...

  8. Redis学习第五课:Redis Set类型及操作

    Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...

  9. 升级 macOS Mojave 后部分软件 (如 VS Code) 字体变虚的解决方法

    目前有些朋友的设备可能还是“非 Retina” 显示器,那这样如果升级到 Mojave 后你会发现文字不清晰了,这是因为 Mojave 默认关闭了文字次像素渲染字体,你需要在终端里执行: defaul ...

  10. Mongodb $setOnInsert操作符 和upsert:true

    upsert:true:如果要更新的文档不存在的话会插入一条新的记录 $setOnInsert操作符会将指定的值赋值给指定的字段,如果要更新的文档存在那么$setOnInsert操作符不做任何处理: ...