Are U ready?
搞Elasticsearch的话死后需要安装一些辅助工具,在安装这些工具之前,最好先检查rpm和node版本,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[root@chen-elk-001 elasticsearch- head ] # rpm --version
RPM version 4.11.3 [root@chen-elk-001 elasticsearch- head ] # node -v
v6.11.3 [root@chen-elk-001 elasticsearch- head ] #nvm install 8.9.0
- bash : nvm: command not found #如果没有发现安装nvm就按照下面的方法安装
[root@chen-elk-001 elasticsearch- head ] #curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
[root@chen-elk-001 elasticsearch- head ] # export NVM_DIR="$HOME/.nvm"
[root@chen-elk-001 elasticsearch- head ] # [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[root@chen-elk-001 elasticsearch- head ] # [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
[root@chen-elk-001 elasticsearch- head ] # nvm install 8.9.0
Downloading and installing node v8.9.0... Downloading https: //nodejs .org /dist/v8 .9.0 /node-v8 .9.0-linux-x64. tar .xz...
######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v8.9.0 (npm v5.5.1) Creating default alias : default -> 8.9.0 (-> v8.9.0)
[root@chen-elk-001 elasticsearch- head ] # npm install -g grunt-cli
/root/ .nvm /versions/node/v8 .9.0 /bin/grunt -> /root/ .nvm /versions/node/v8 .9.0 /lib/node_modules/grunt-cli/bin/grunt
+ grunt-cli@1.2.0 added 16 packages in 5.842s
[root@chen-elk-001 elasticsearch- head ] #
|
安装ik插件和head插件
前提工作完毕,现在开始安装插件。第一个要安装的是中文分词插件elasticsearch-analysis-ik-5.5.1.zip,这里安装的是5.5版本的,与elasticsesrch 5.5版本搭配使用。安装方法很简单:#./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip 。如图:
还有一个是浏览器显示插件Elasticsearch-head,下载地址是:https://github.com/mobz/elasticsearch-head,这个里面作者有写了安装方法:
但是当执行到#npm install的时候,会发现有爆错“PhantomJS not found on PATH”,如图:
安装其他的东西也是如此,如图:
这个问题是因为大陆墙内屏蔽,所以无法得到文件,所以这个时候就要使用国内的镜像:
1
|
npm install -g cnpm --registry=https: //registry .npm.taobao.org
|
安装完毕之后,打开elasticsearch.yml,有几行需要重点关注:
1
2
3
4
5
6
7
8
|
cluster.name: my-application #集群标识符
node.name: node-1 #节点标识符
path.data: /path/to/data #数据存储位置
path.logs: /path/to/logs #ES的log存储位置
bootstrap.memory_lock: true #设为true以确保ES拥有足够的JVM内存
network.host: 0.0.0.0 #ES对外服务的IP地址,改填写0.0.0.0
http.cors.enabled: true #这个是新增
http.cors.allow-origin: "*" #这个也是新增
|
然后再执行#npm run start,如图:
插播一句,这里有一个“Local Npm module "grunt-contrib-jasmine" not found. Is it installed?”的提示,很多地方说墙内的安装方法是#npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org,但是经过我测试,这个方法已经失效了。如何解决,还需要再找其他路径。如果有知道的话,请留言给我。
如果这个时候后台elasticsearch在运行中,那么在浏览器里打开“http://服务器外网地址:9100”,就会看到如下的情景:
在地址栏里写上“http://外网地址IP:9200/”,然后点击“连接”,就会连接到elasticsearch(weather和accounts是我自己建立的索引),如图。
安装Kibana和X-Pack
插件安装过程已经结束,下面要安装的是Kibana和X-Pack。x-pack是官方推荐的elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,不过这玩意与我们刚刚安装的head插件有冲突,而且只能免费使用一个月,所以我下面虽然安装了x-pack,但是实际操作的时候我会把它关掉的。Kibana是一个为 ElasticSearch提供的数据分析的 Web 接口,可使用它对日志进行高效的搜索、可视化、分析等各种操作。
安装kibana首先要求就是版本号要与elasticsearch的版本号相符,所以我在https://www.elastic.co/downloads/past-releases/kibana-5-5-1 里面下载"LINUX 64-BIT sha",然后就是
1
2
|
[root@chen-elk-001 elk] # sha1sum kibana-5.5.1-linux-x86_64.tar.gz
[root@chen-elk-001 elk] # tar -xzf kibana-5.5.1-linux-x86_64.tar.gz
|
安装X-pack很简单,就是#.elasticsearch安装路径/bin/elasticsearch-plugin install x-pack ,然后一路按Y即可。如图:
重启elasticsearch之后,返回到kibana的bin目录下,执行#./kibana-plugin install x-pack ,整个安装的过程会比较漫长,可以借此机会抽根烟什么的。
启动kibana的方法就是#./kibana安装路径/bin/kibana,如果kibana与elasticsearch版本号向左,那么就会出现下面这个告警提醒:
1
|
[warning] You're running Kibana 别的版本号 with some different versions of Elasticsearch on a monitoring cluster. Update Kibana and Elasticsearch to the same version to prevent compatibility issues: v5.5.1 @ 外网地址:9200 (外网地址)
|
这个虽然是一个warning,但是为了避免踩坑,还是尽快调整成一个版本。
如果出现这个错误:
1
2
|
[06:53:01.768] [warning][license][xpack] License information could not be obtained from Elasticsearch. [illegal_argument_exception] No endpoint or operation is available at [_xpack] :: { "path" : "/_xpack" , "statusCode" :400, "response" :"{\"error\":{\"root_cause\":[{\" type \
":\"illegal_argument_exception\",\"reason\":\"No endpoint or operation is available at [_xpack]\"}],\"type\":\"illegal_argument_exception\",\"reason\":\"No endpoint or operation is available at [_xpack]\"},\"status\":400}" }
|
这是以为elasticsearch下的x-pack没有装好,只有kibana那边的x-pack是OK的,这个时候看一下是否是在elasticsearch启动的情况下安装的x-pack,注意,这里需要停止elasticsearch再安装。
更改kibana里的kibana.yml,把“server.host: localhost”改成“server.host: 0.0.0.0”,保存退出之后。在浏览器上输入: http://localhost:5601/ ,可以打开Kibana,此时需要输入用户名和密码登录,默认分别是 elastic 和 changeme。
如果要后台启动kibana,命令就是:#nohup /kibana安装路径/bin/kibana & , 然后点击任意键返回到xshell对话界面,退出请不要直接点击右上方的X,而是exit来退出。
如果输入#curl 'http://localhost:9200/?pretty',爆错“missing authentication token for REST request [/?pretty]”,如图:
这个时候需要修改elasticsearch.yml,手动添加一句:
1
|
xpack.security.enabled: false
|
然后重启elasticsearch,我上面说过了,如果你选择了head,那么就把elasticsearch的x-pack关掉。
参考资料:https://discuss.elastic.co/t/x-pack-5-1-1-error-in-kibana/70397/3
参考资料: https://github.com/xhlwill/blog/issues/11
参考资料:http://www.yiibai.com/elasticsearch/elasticsearch-getting-start.html
参考资料:https://github.com/mobz/elasticsearch-head
参考资料:http://www.code123.cc/docs/kibana-logstash/v3/10-minute-walk-through.html
最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/2045569