快速上手Elasticsearch (快速上手指南软件下载)

教程大全 2025-07-19 23:34:30 浏览

Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理,因为Lucene 非常复杂。

Elastic官网:

Elastic有一条完整的产品线及解决方案:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈

Elasticsearch官网:

如上所述,Elasticsearch具备以下特点:

分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)

Restful风格,一切API都遵循Rest原则,容易上手

近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

目前Elasticsearch最新的版本是6.3.1,我们就使用6.3.0

需要虚拟机JDK1.8及以上

为了模拟真实场景,我们将在linux下安装Elasticsearch。

出于安全考虑,elasticsearch默认不允许以root账号运行。

创建用户:

useraddleyou

设置密码:

passwdleyou

切换用户:

我们将安装包上传到:/home/leyou目录

解压缩:

tar-zxvfelasticsearch-6.2.4.tar.gz

删除压缩包:

rm-rfelasticsearch-6.2.4.tar.gz

我们把目录重命名:

mvelasticsearch-6.2.4/elasticsearch

进入,查看目录结构:

我们进入config目录:cd config

需要修改的配置文件有两个:

Elasticsearch基于Lucene的,而Lucene底层是Java实现,因此我们需要配置jvm参数。

编辑jvm.options:

vimjvm.options默认配置如下:-Xms1g-Xmx1g内存占用太多了,我们调小一些:-Xms512m-Xmx512melasticsearch.ymlvimelasticsearch.yml修改数据和日志目录:path.data:/home/leyou/elasticsearch/datapath.logs:/home/leyou/elasticsearch/logs

我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

进入elasticsearch的根目录,然后创建:

mkdirdatamkdirlogs

修改绑定的ip:

network.host:0.0.0.0#绑定到0.0.0.0,允许任何ip来访问

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

目前我们是做的单机安装,如果要做集群,只需要在这个配置文件中添加其它节点信息即可。

elasticsearch.yml的其它可配置信息:

属性名说明cluster.Name配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。node.name节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理path.conf设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/elasticsearchpath.data设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开path.logs设置日志文件的存储路径,默认是es根目录下的logs文件夹path.plugins设置插件的存放路径,默认是es根目录下的plugins文件夹bootstrap.memory_lock设置为可以锁住ES使用的内存,避免内存进行swapnetwork.host设置bind_host和publish_host,设置为0.0.0.0允许外网访问http.port设置对外服务的http端口,默认为9200。transport.tcp.port集群结点之间通信端口discovery.Zen.ping.timeout设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些discovery.zen.minimum_master_nodes主结点数量的最少值,此值的公式为:(master_eligible_nodes/2)+1,比如:有3个符合要求的主结点,那么这里要设置为2

修改文件权限:

leyou 要own(拥有) elasticsearch 这个文件夹权限 -R 是递归的赋予权限

chownleyou:leyouelasticsearch/-R
快速上手指南软件下载

进入elasticsearch/bin目录,可以看到下面的执行文件:

然后输入命令:

./elasticsearch

发现报错了,启动失败:

我们使用的是CentOS6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。不过没关系,我们禁用这个插件即可。

修改elasticsearch.yml文件,在最下面添加如下配置:

bootstrap.system_call_filter:

然后重启

再次启动,又出错了:

[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

我们用的是leyou用户,而不是root,所以文件权限不足。

首先用root用户登录。

然后修改配置文件:

vim/etc/security/limits.conf添加下面的内容:*softnofile65536*hardnofile131072*softnproc4096*hardnproc4096

刚才报错中,还有一行:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

这是线程数不够。

继续修改配置:

vim/etc/security/limits.d/90-nproc.conf修改下面的内容:*softnproc1024改为:*softnproc4096

[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件, :

vim/etc/sysctl.conf添加下面内容:vm.max_map_count=655360然后执行命令:sysctl-p

所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。

再次启动,终于成功了!

可以看到绑定了两个端口:

9300:集群节点间通讯接口

9200:客户端访问接口

我们在浏览器中访问:

1.4.1.什么是Kibana?

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

因为Kibana依赖于node,我们的虚拟机没有安装node,而window中安装过。所以我们选择在window下使用kibana。

最新版本与elasticsearch保持一致,也是6.3.0

解压到特定目录即可

进入安装目录下的config目录,修改kibana.yml文件:

修改elasticsearch 服务器 的地址:

elasticsearch.url:

进入安装目录下的bin目录:

双击运行:

发现kibana的监听端口是5601

我们访问:

选择左侧的DevTools菜单,即可进入控制台页面:

在页面右侧,我们就可以输入请求,访问Elasticsearch了。

Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为ElasticSearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致,最新版本:6.3.0

上传资料中的zip包,解压到Elasticsearch目录的plugins目录中:

使用unzip命令解压:

unzipelasticsearch-analysis-ik-6.3.0.zip-dik-analyzer

然后重启elasticsearch:

大家先不管语法,我们先测试一波。

在kibana控制台输入下面的请求:

POST_analyze{:,:}

运行得到结果:

{:[{:,:0,:1,:,:0},{:,:1,:2,:,:1},{:,:2,:5,:,:2},{:,:2,:4,:,:3},{:,:3,:5,:,:4}]}

链接:提取码:mm99


如何学好单片机?

怎样学好单片机很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。

先说说单片机,一般我们现在用的比较多的是MCS-51与PIC单片机,它们的资料比较多,用的人也很多,市场也很大,我们平时说MDTXXX/EMXXX都与PIC兼容,具体学PIC还是51主要就看你自己周围接触什么多一点以及你自己将来的发展产品方向了,PIC主要用于一些汽车电子/仪器仪表/航空航模/工业控制...,51主要是用在一些民用产品。 只要你学会了其中任何一种,那什么凌阳,AVR,什么样原理都是一样。 触类旁通。 先说说就我个人的体会怎么样才能更快的学会单片机这门课。 单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管角的电平什么时候输出高,什么时候输出低。 而由这些高低电平的变化来控制由单片机为核心的系统板。 从而实现我们需要的各个功能。 对于看书,我们只需大概看看了解一个单片机各个管角都是干什么的?都有什么样的功能,能实现什么样的功能?其实第一次,第二次你可能都看不明白,但这不要紧,因为你没有和实际的物体建立起来这样一种互通的观念,所以我总是说,学单片机看书看两三天的时间就够了,看小说你一天能看五六本,看单片机你两三天看两三篇就够了,而且可以不用很仔细的看。 PIC推荐一本书,<>,学51的推荐一本书<<手把手教你学单片机>>。 大概三四百页吧。 大概了解一下书上的内容后,就开始做实践,这是非常关键的,如果说学单片机你不做实践那是不可能学会的,关于做实践有两种方法你可以选择,一种方法:你自己花钱买一套单片机的学习板,不一定要求功能太全的(当然如果你的RMB没问题,买功能全的在以后开发会有用得上的),我建议有流水灯,数码管,独立键盘,矩阵键盘,有AD或DA(原理一样),有个简单的液晶,有蜂鸣器,这就差不多了,如果上面我提到的这些东西你能让它都熟练工作了,那可以说对于单片机方面的硬件你已经入门了,再剩下的就是自己练习设计其它电路,这需要你练习,不断的积累经验,只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。 方法二:你身边如果有单片机方面的高手,向他求助,让你帮你搭个实验板,自己再找个烧写器,其实对于高手来说,做个单片机的实验板只需要几分钟的时间,而对于初学者可就难多了,因为只有你对硬件了解了才会对它熟悉。 而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还剩事有了单片机学习工具之后你就是不停的练习了。 前面我提到单片机是一项非常注重实践的学科,你最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。 做电子类的人真的会上瘾。 然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。 就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或到论坛上问别人,现在有网络后就是很方便,当得到解答后你会记住一辈子的,知识必须用于实际才能发挥出它的作用,否则你自己好好想想,你上了这么多年大学,天天上课,你在课堂上学到了什么?你不是为了每学期的期末考试忙碌吗?考完试一看得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机你一旦学会,永远不会忘了。 另外我再说说用汇编和C语言编程的问题。 汇编语言我认为是必须要掌握的东西,用汇编语言一方面是为了更好的了解单片机硬件,另一方面国外好的产品很多都是用汇编语言做成的,如果你都不会汇编语言一方面无法借鉴国外好的产品,另一方面在一些需要精确控制时序或讲究运行效率的产品上你就要大吃亏了,C语言如果你有时间还是建议你学一学,C语言的开发效率高,特别是做运算量大的程序时,C语言维护方便.总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志。 那学个单片机来说就是件非常容易的事。

步骤:1。 找本书大概了解一下单片机结构,大概了解就行。 不用都看懂,又不让你出书的。 (三天)2。 找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书找。 (二十天)3。 自己网上找些小电路类的资料练习设计外围电路。 焊好后自己调试,熟悉过程。 (十天)4。 自己完全设计具有个人风格的电路,产品,。 。 。 你已经是高手了。 。 。 。 。

当前国内文字识别软件最牛的是哪个?

哪个最牛每个人的看法都不一样,以下是最常用的文字识别软件有五个:1.清华紫光 OCR2.尚书OCR3.汉王OCR4.蒙怡OCR5.丹青OCR其中我觉得尚书OCR非常好用,识别准确,容易上手。

想学数据统计的软件,以前完全没接触过,sas,r语言,Python三款软件哪个更容易上手,

学R语言吧,免费且功能强大,学会了一劳永逸,现在大家都推崇用R

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐