蛋疼的ElasticSearch(二)之配置ElasticSearch Head插件

diary_report.jpg

Interesting things

What did you do today

先入为主

ElasticSearch Head是什么?

ElasticSearch Head是集群管理、数据可视化、增删查改、查询语句可视化工具。

安装

unzip elasticsearch-head-master.zip -d /usr/local/fast/


image.png
  • 在plugins目录下创建head。把

mkdir -p /usr/local/fast/elasticsearch-6.1.1/plugins/head/

  • 把刚才解压的elasticsearch-head-master文件夹下的所有的文件拷贝到/plugins/head/下。


    image.png
  • 我们可以通过Jps命令(java virtual machine process status tool 是jdk1.5提供的一个现实当前所有java进程pid的命令),查看ElasticSearch进程号,然后kill掉它。

  • 重启elasticsearch,抛出了“java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]”异常。

[2018-01-08T16:51:09,225][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.1.1.jar:6.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.1.1.jar:6.1.1]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.1.1.jar:6.1.1]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
    at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.1.1.jar:6.1.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.1.1.jar:6.1.1]
Caused by: java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]
    at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:144) ~[elasticsearch-6.1.1.jar:6.1.1]
  • 问题所在是elasticsearch-head-master解压后的内容不能放在elasticsearch的plugins目录下,所以我们删除到plugins目录下的head。

rm -rf head


image.png
  • 更操蛋的是,我们竟然还没有安装elasticsearch-head,我们只是下了安装包,但是没有安装。我们需要node.js环境

wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
[图片上传失败...(image-87af7d-1515403754611)]

  • 在/usr/local/目录下创建nodejs文件夹。


    image.png
  • 把node-v4.4.7-linux-x64.tar.gz解压到/usr/local/nodejs。

  • 配置环境变量,编辑/etc/profile添加以下内容,然后执行source /etc/profile,我们接着就可以查看node.js的版本号了。

NODE_HOME=/usr/local/nodejs/node-v4.4.7-linux-x64
PATH=$PATH:$NODE_HOME/bin
NODE_PATH=$NODE_HOME/lib/node_modules
export NODE_HOME PATH NODE_PATH
image.png
  • 安装grunt(grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等工作,elasticsearch-head插件就是通过grunt启动的)。进入/usr/local/fast/elasticsearch-head-master/目录下进行安装。安装完毕,我们可以检查是否安装成功。

npm install -g grunt-cli
grunt -version


image.png
  • 修改elasticsearch-head-master文件下的Gruntfile.js文件中,添加一行"hostname: '0.0.0.0',"


    image.png
  • 在elasticsearch-head-master目录下

npm install


image.png
  • 但是安装的太慢了,我不想吐槽了。我们需要将npm换个镜像。

npm install -g cnpm --registry=https://registry.npm.taobao.org

image.png

  • 我们再来安装elasticsearch-head-master.我们用cnpm代替npm

cnpm install


image.png
  • 安装完毕后,会生成一个node_modules文件夹。


    image.png
  • 我们还要修改elasticsearch.yml,具体如下。
#集群的名字 
cluster.name:   es_cmazxiaoma_cluster
#节点名字   
node.name:      node-1
#数据存储目录(多个路径)
path.data:      /home/elasticsearch/data
#日志目录     
path.logs:      /home/elasticsearch/logs
#本机的ip地址
network.host:   192.168.12.6
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts:       ["192.168.12.6"]
#设置节点间tcp端口(集群),默认9300
transport.tcp.port:     9300
#监听端口(默认) 
http.port:      9200
#增加参数,使head插件可以访问es
http.cors.enabled:      true
http.cors.allow-origin: "*"

  • 默认情况下,elasticsearch在elasticsearch-head连接的端口9200上公开一个http rest API。当不作为elasticsearch的插件运行时,您必须在elasticsearch中启用CORS,否则您的浏览器将拒绝看起来不安全的请求。看elasticsearch配置中:加http.cors.enabled:true,您还必须设置http.cors.allow-origin因为默认情况下不允许来源。http.cors.allow-origin:"*"是一个合法的值,但是它被认为是一个安全风险,因为你的集群是开放式的。

  • 运行elasticsearch-head

grunt server


image.png
  • 忘记了,elasticsearch-head web端口是9100。如果我们想通过浏览器去访问它,必须在防火墙添加9100端口策略。


    image.png
  • 访问192.168.12.6:9100


    image.png
  • 启动elasticsearch。


    image.png
  • 我们来通过elasticsearch-head来连接elasticsearch。

因为head插件可以对数据进行增删查改,所以生产环境尽量不要使用,最少要限制ip地址。尽量不要使用

Summary

下一篇讲head插件的具体使用和
elasticsearch-analysis-ik分词插件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容