开篇废话

没错,前面扯了一堆SQL SERVER,其实我连Elastic Search根本没动手玩过(是不是与时代有点脱节了?),那今天我就准备尝试安装一个ELK的简单集群出来(这个集群是使用我的小米笔记本创建了两个虚拟机,虚拟出来的一个集群,没钱买阿里云)

虚拟机的操作系统实CentOS 7 64位,不同的Linux版本可能略有差异~

直接安装Elastic Search

安装Master Node

本文也是参考官网文档进行安装,大家可以直接看官网文档,一般来说,比较新一些。

官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html

1)找个合适的文件夹下载安装包:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz

友情提示,如果下载速度比较慢,可以拿迅雷这类软件下载好,上传到服务器,迅雷这类软件在下载这种热门资源的时候,还是有速度上的提升的。

2)解压下载下来的文件

本文的版本号均为7.2.0,安装不同的版本时,灵活应变就行。

tar -xvf elasticsearch-7.2.0-linux-x86_64.tar.gz

3)修改配置文件

进入解压后的elasticsearch-7.2.0 文件夹中的config文件夹,并修改elasticsearch.yml 文件中的配置:

cluster.name: jax-elk-group1
node.name: master
node.master: true
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["master"]

此时我们在elasticsearch-7.2.0文件夹下执行

./bin/elasticsearch

由于我虚拟机内存不够大的原因,他会抛个异常:

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

对于第一个报错ELK官网是这么解释的:

是由于Elasticsearch需要使用大量的文件描述符或文件句柄,用完文件描述符可能是灾难性的,也有可能导致数据丢失,需要确保将运行Elasticsearch的用户能打开文件描述符数量的限制增加到65,536或更高。

官网链接在这里:https://www.elastic.co/guide/en/elasticsearch/reference/current/file-descriptors.html

官网解决方案的链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#limits.conf

然而,我照官网做了之后,并不管什么用,最终找到了一篇文章:

http://www.kxtry.com/archives/1635

首先第一个问题,需要修改文件etc/security/limits.conf中的一些配置:

执行命令:

sudo vi /etc/security/limits.conf

像文件最后添加内容:

* soft nofile 65536

* hard nofile 131072 (貌似只添加这句就行)

* soft nproc 2048

* hard nproc 4096

然后退出当前的终端重新连接进入,这步非常重要,不重新进不起作用的~

第二个问题需要修改/etc/sysctl.conf中的一些配置:

执行命令:

sudo vi /etc/sysctl.conf

向文件最后添加记录:

vm.max_map_count=655360

保存并退出后执行命令:

sudo sysctl -p

这步跟上面退出终端重新进入一样重要,不执行这个配置不会生效的。

执行完这两步,然后重新执行就可以启动成功了~

./bin/elasticsearch

可以在新开一个终端执行下面命令来验证安装的成果:

curl http://服务器ip:9200/

此时如果安装的没问题,会打印类似下面的内容:

{
"name" : "master",
"cluster_name" : "jax-elk-group1",
"cluster_uuid" : "NtmpxdwtRQOiT8sv8bJrvg",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

如果你想在后台启动elastic search进程,那么可以在启动时加个 -d参数:

./bin/elasticsearch –d

到此为止,我们的Master节点(主节点)就安装完毕了

安装Slave node

接下来,我们再次来安装一台Slave节点(从节点),并且跟我们当前的Master节点组成一个Elastic search集群。

Slave节点的大部分步骤和Master节点是一样的,唯一的区别在于elasticsearch.yml 文件中的配置。

cluster.name: jax-elk-group1
node.name: node-01
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["master"]
discovery.zen.ping.unicast.hosts: ["192.168.154.135"]

配置的时候,需要注意以下几点:

  • cluster.name 一定要跟Master节点配置的一样
  • node.name 是一个唯一标识,一定不要跟Master节点配置的一样,各个不同的Salve也不要重复
  • discovery.zen.ping.unicast.hosts中的IP列表是集群中其他节点的IP地址列表

到这里为止,我们整个集群都安装完成了

使用ElasticSearch-Head可视化界面

默认我们只能通过命令行或者Http的方式来操作Elastic Search,elasticsearch-head 则是一款开源的ElasticSearch管理界面,它的项目主页为:https://github.com/mobz/elasticsearch-head

使用起来也非常简单:

  1. 下载他的源码,不管是使用Clone还是直接使用Github的download zip功能
  2. 执行命令:npm install 还原npm依赖,(依赖于Node.js和npm)
  3. 还原完成后,执行npm start命令启动项目
  4. 浏览器中打开http://localhost:9100/
  5. 修改浏览器中最上方的连接地址(默认是http://localhost:9200

该项目可以在任意一台能访问到ElasticSearch的机器上安装,装在你的本地机器也可以哦~

ELK的安装就介绍到这里喽~更多的ELK的知识,还需要多多探索哦~

SQL数据同步到ELK(二)- Elastic Search 安装的更多相关文章

  1. SQL数据同步到ELK(一)- 日常开篇

    需求 在我们的实际业务中,业务数据大部分是通过传统DB做持久化,但有时会使用Solr/Elastic Search等做搜索.缓存等其他服务,那么如何将数据同步到这些异构的存储系统中呢? 这就是我最近在 ...

  2. SQL数据同步到ELK(四)- 利用SQL SERVER Track Data相关功能同步数据(上)

    一.相关文档 老规矩,为了避免我的解释误导大家,请大家务必通过官网了解一波SQL SERVER的相关功能. 文档地址: 整体介绍文档:https://docs.microsoft.com/en-us/ ...

  3. Elastic Search 安装和配置

    目标 部署一个单节点的ElasticSearch集群 依赖 java环境 $java -version java version "1.8.0_161" Java(TM) SE R ...

  4. elastic search安装与本地测试

    elastic search安装与本地测试 elastic search是一个全文搜索引擎 教程: 综合:http://www.ruanyifeng.com/blog/2017/08/elastics ...

  5. SQL数据同步到ElasticSearch(三)- 使用Logstash+LastModifyTime同步数据

    在系列开篇,我提到了四种将SQL SERVER数据同步到ES中的方案,本文将采用最简单的一种方案,即使用LastModifyTime来追踪DB中在最近一段时间发生了变更的数据. 安装Java 安装部分 ...

  6. ELASTIC SEARCH 安装

    elastic search 2017年3月18日 安装&使用 环境 表 1 环境信息 Centos cat /etc/issue CentOS release 6.8 (Final) cat ...

  7. SQL数据同步之发布订阅

    发布订阅份为两个步骤:1.发布.2.订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅.发布可以发布一张表的部分数据,也可以对整张表进行发布.下面分别 ...

  8. Elastic Search安装-windows

    转载自:https://blog.csdn.net/linkkb/article/details/82805145 其中稍作修改 ElasticSearch介绍 ES是一个基于Lucene的分布式全文 ...

  9. Elastic Search 上市了,市值翻倍,这群人财务自由了!

    国庆长假,大部分人还深浸在风花雪月之中,而就在昨天(美国时间10月5号),我们 Java 程序员所熟知的大名鼎鼎的 Elastic Search 居然在美国纽约证券交易所上市了! 当说到搜索时,大部分 ...

随机推荐

  1. 基于JaCoCo的Android测试覆盖率统计(二)

    > 本文章是我上一篇文章的升级版本,详见地址:https://www.cnblogs.com/xiaoluosun/p/7234606.html ## 为什么要做这个?1. 辛辛苦苦写了几百条测 ...

  2. 100天搞定机器学习|Day15 朴素贝叶斯

    Day15,开始学习朴素贝叶斯,先了解一下贝爷,以示敬意. 托马斯·贝叶斯 (Thomas Bayes),英国神学家.数学家.数理统计学家和哲学家,1702年出生于英国伦敦,做过神甫:1742年成为英 ...

  3. ceph log机制

    Log 是每个项目必须的,他是跟踪问题的最直接的依据.Ceph 也设计自己的log机制. 初始化启动log实例,启动log线程. _log = new ceph::log::Log(&_con ...

  4. C# 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

    //使用委托进行修改UI界面 if (this.InvokeRequired) { this.Invoke(new MethodInvoker(delegate { createList(); })) ...

  5. ZDog:简单便捷好玩的的3D设计和动画制作库

    各位老铁,我灰太狼又又又回来了,嘿嘿!!!!最近在忙所以有日子没写博客了,今天带大家看个好玩的东西 这个东西是今天偶尔看到的,是啥呢,难道是漂亮的小姐姐吗?当然是......不可能的了,这个东西其实就 ...

  6. 解决oh-my-zsh中git分支显示乱码问题

    oh-my-zsh显示github分支时,如果当前文件夹不是git仓库,它就会显示乱码.倒腾了好几个小时终于弄清楚是oh-my-zsh中函数”git_prompt_info“的锅,然后又花了半个多小时 ...

  7. 洛谷 P2157 [SDOI2009]学校食堂

    题意简述 每个人有一个口味,食堂每次只能为一个人做菜 做每道菜所需的时间是和前一道菜有关的,若前一道菜的对应的口味是a,这一道为b,则做这道菜所需的时间为a 异或 b 每个人都有一个容忍度,最多允许紧 ...

  8. 使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)

    第一步:使用charles进行https抓包 https://www.jianshu.com/p/7a88617ce80b   使用charles进行https抓包 使用Charles进行HTTPS抓 ...

  9. react父组件调用子组件中方法

  10. appium输入法踩坑解决方案-----中文乱码及输入法搜索无法点击

    一.appium1.7.1 遇到的坑: 1. 在写安卓的搜索用例脚本时,发现输入内容后,搜索出现在输入法键盘原来的确认位置,定位不到手机自带输入法的"搜索"键: 2. 传入中文搜索 ...