在Linux上安装Elasticsearch5.x

以前讲过在Windows上安装Elasticsearch5.x,但实际生产环境仍是须要Linux支持,并且ES在Linux环境下运行要比Windows环境下要高,So...Linux上仍是要学会安装。通过本身的研究还有同事的帮助,终于搞定Linux下安装Elasticsearch5.x了。css

前言

一、这里个人系统是阿里云的 CentOS 7.2 64位,2核4Ghtml

二、$开始的命令表示你要输入的命令java

1、JAVA环境配置

ElasticSearch是基于lucence开发的,也就是运行须要java支持。因此要先安装JAVA环境。
因为ElasticSearch 5.x 依赖于JDK 1.8的,因此如今咱们下载JDK 1.8或者更高版本。如下命令将会下载最新的jdknode

$ yum install java

安装完毕后测试sql

$ java -version

2、Elasticsearch引擎安装

一、建立账号和分配权限

官方文档上说Elasticsearch不适合在root管理员账号下运行,因此要先创建一个帐号专门运行Elasticsearch.编程

建立一个elsearch帐户json

$ adduser elsearch

设置密码bootstrap

$ passwd elsearch

按照提示输入密码和确认密码就成功建立elsearch帐户了。swift

修改用户权限,这一步很是重要vim

使用vim 编辑器打开文件打开/etc 目录下面的文件sudoers

$ vim /etc/sudoers

找到以下位置:

## Allow root to run any commands anywhere root ALL=(ALL) ALL

在这个区块下面添加一行命令,使elsearch这个账号能够得到更高的操做权限

## Allow root to run any commands anywhere root ALL=(ALL) ALL elsearch ALL=(ALL) NOPASSWD: ALL 

ok保存。

二、引擎下载

退出root帐户,使用刚刚建立的elsearch帐户登陆服务器想,下载Elasticsearch安装包。

$ wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.2.zip

文件校验

$ sha1sum elasticsearch-5.3.2.zip 

解压

$ unzip elasticsearch-5.3.2.zip

解压完将有两个文件,zip能够删掉。

$ ls
elasticsearch-5.3.2 elasticsearch-5.3.2.zip
三、引擎启动

进到elasticsearch-5.3.2目录下

# cd elasticsearch-5.3.2/ 

启动引擎(-d表示为后台启动)

$ ./bin/elasticsearch -d

查看elasticsearch进程状况

$ ps -ef |grep elasticsearch

若是看到以下一串东西则表示启动成功

elsearch 22042     1 20 00:36 pts/2    00:00:09 /bin/java -Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/home/elsearch/elasticsearch-5.3.2 -cp /home/elsearch/elasticsearch-5.3.2/lib/elasticsearch-5.3.2.jar:/home/elsearch/elasticsearch-5.3.2/lib/* org.elasticsearch.bootstrap.Elasticsearch -d

或者使用 curl测试,es端口默认状况下是9200

$ curl "localhost:9200"

返回以下信息则说明启动成功

{
  "name" : "nHlYWW8", "cluster_name" : "elasticsearch", "cluster_uuid" : "SNUvV-1fQLKaGnfXrA4UXg", "version" : { "number" : "5.3.2", "build_hash" : "3068195", "build_date" : "2017-04-24T16:15:59.481Z", "build_snapshot" : false, "lucene_version" : "6.4.2" }, "tagline" : "You Know, for Search" }
四、引擎健康状况
$ curl "localhost:9200/_cat/health?v" epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1493916286 00:44:46 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%

若是出现这条信息,说明你的elastic search已经正常运行了,恭喜你

标题 含义
epoch unix 的时间
timestamp 时间戳
cluster 集群
status 健康状态:红为异常, 绿黄为健康
node.total 节点的总数
node.data 节点的数据
shards 分片
pri active_primary_shards 已激活的主要分片
relo 回收的切片
init 已经初始的切片数量
unassign 未分配切片数量
pending_tasks 被搁置的任务数量
max_task_wait_time 任务等待的最大时间
active_shards_percents 激活分片的百分比

注意 status黄色和绿色的区别:

  • 红色:全部的分片没有所有激活
  • 黄色:主要分片所有启动,可是备份的分片没有启动
  • 绿色:主要分片和其备份都已经启动

官方详情请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html

五、安装中文分词插件 smartcn

仍然使用elsearch登陆,而后切换目录到elsearchsearch 所在的文件夹

$ cd elasticsearch-5.3.2

执行安装命令

$ sudo ./bin/elasticsearch-plugin install analysis-smartcn

卸载命名

$ sudo ./bin/elasticsearch-plugin remove analysis-smartcn

测试分词,使用"人人编程,世界和平"为例子,进行测试,使用站长工具 将例子中的字断转换成unicode编码的字断 在的终端中,调用下面方法,验证smartcn分词插件是否已经成功运行

$ curl -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"smartcn", "text": "\u4eba\u4eba\u7f16\u7a0b\uff0c\u4e16\u754c\u548c\u5e73"}'

出现以下结果证实分词成功。若没有添加"analyzer":"smartcn"指定分词,将使用默认分词。对于中文来说,将会把全部的字单独分出来。

{
  "tokens" : [ { "token" : "人人", "start_offset" : 0, "end_offset" : 2, "type" : "word", "position" : 0 }, { "token" : "编程", "start_offset" : 2, "end_offset" : 4, "type" : "word", "position" : 1 }, { "token" : "世界", "start_offset" : 5, "end_offset" : 7, "type" : "word", "position" : 3 }, { "token" : "和平", "start_offset" : 7, "end_offset" : 9, "type" : "word", "position" : 4 } ] } 
六、配置elasticsearch.yml
$ cd elasticsearch-5.3.2 $ vim ./config/elasticsearch.yml

根据需求修改一下节点:

cluster.name: es-5.3-test #换个集群的名字,省得跟别人的集群混在一块儿 node.name: node-es-101 #换个节点名字 network.host: 0.0.0.0 #修改一下ES的监听地址,这样别的机器也能够访问 http.port: 9200 #端口号,默认就好 # 增长新的参数,这样head插件能够访问es http.cors.enabled: true http.cors.allow-origin: "*" #增长新的参数,这样ES能够经过外网进行访问,只设置network.host: 0.0.0.0 公网仍旧没法访问 transport.host: localhost transport.tcp.port: 9300 @注意,设置参数的时候:后面要有空格!
七、Sense安装使用

对于不熟悉Linux的人来说,使用curl是个硬伤,因此 Chrome有个插件Sense能够帮咱们很方便的操做Elasticsearch。国内须要FQ。

先来测试下分词

3、安装 Kibaba

Kibana是一个开源为elasticsearch 引擎提供数据和数据分析

一、下载安装

切换到root帐户,按顺序依次执行如下命令

$ wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.3.2-x86_64.rpm $ sha1sum kibana-5.3.2-x86_64.rpm $ sudo rpm --install kibana-5.3.2-x86_64.rpm
二、配置Kibana的host
$ whereis kibana
kibana: /etc/kibana /usr/share/kibana

若是显示以上结果代表kibana已经正确安装完成,两个目录

/etc/kibana 为kibana config文件所在的目录

/usr/share/kibana 为程序所在的目录

修改Kibana的配置文件,容许公网访问

$ vim /etc/kibana/kibana.yml

server.host修改成

server.host: "0.0.0.0"
三、启动Kibana

配置kibana可以自动启动

$ sudo chkconfig --add kibana

启动和中止

$ sudo -i service kibana start $ sudo -i service kibana stop

接下来便可使用公网访问http://IP:5601打开Kibana了。

官方详情请参阅https://www.elastic.co/guide/en/kibana/5.3/targz.html

相关文章
相关标签/搜索