美文网首页
ubuntu安装elasticsearch及head插件

ubuntu安装elasticsearch及head插件

作者: 不落的风筝 | 来源:发表于2019-11-14 19:08 被阅读0次

    1.安装elasticsearch,参考http://www.cnblogs.com/hanyinglong/p/5409003.html就可以了

    简单描述下:

    mkdir-p /usr/local/kencery/elasticsearch

    groupadd elasticsearch

    useradd -d /usr/local/kencery/elasticsearch -g elasticsearch -p elasticsearch elasticsearch

    然后将tar包解压到elasticsearch目录下就可以了,我下载的版本是elasticsearch-6.2.4.tar.gz

    启动时直接在bin目录下执行:./elasticsearch

    有两个问题注意下,一是不要用root用户执行,二是有可能会遇到错误:

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

    参考https://blog.csdn.net/jiankunking/article/details/65448030修改下/etc/sysctl.conf,记得改下elasticsearch.yml中的network.host以及端口配置,重启后就可以访问了:http://192.168.141.13:9200/

    name"4tlNeHN"cluster_name    "elasticsearch"cluster_uuid    "BYwLfhswS8O2y-WYXAKUsA"version   

    number    "6.2.4"build_hash    "ccec39f"build_date    "2018-04-12T20:37:28.497551Z"build_snapshot    falselucene_version    "7.2.1"minimum_wire_compatibility_version    "5.6.0"minimum_index_compatibility_version    "5.0.0"tagline    "You Know, for Search"

    2.安装elasticsearch-head,这里敲下黑板,真的很麻烦,如果不了解,花费大半天时间也是很正常的,这里就直接说下最后成功的办法

    2.1 elasticsearch 5.x之后不支持直接plugin安装head插件,而是将head作为一个独立的服务安装的,首先需要安装依赖的node,npm,grunt,参考https://blog.csdn.net/hard_boy/article/details/79565068,我是以root执行的,稍微有点不同:

    apt-getinstall npm

    apt-getinstallnodejs-legacy

    npm install-g grunt

    npm install-g grunt-cli

    下载elasticsearch-head,我解压到目录/usr/local/kencery/elasticsearch-head,将目录用户改为elasticsearch

    2.2 然后修改配置

    2.2.1 修改head的连接地址 elasticsearch-head/_site/app.js

    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") ||"http://localhost:9200";

    将localhost改为自己的ip

    2.2.2 修改服务器的监听地址elasticsearch-head/Gruntfile.js

    connect: { 

                  server: { 

                      options: { 

                          port: 9100, 

                          base: '.', 

                          keepalive: true 

                      } 

                  } 

              } 

    options中添加 hostname: '*'

    2.2.3 修改elasticseach的配置文件elasticsearch.yml, 修改对应的ip以及跨域的设置,添加:

    http.cors.enabled: true 

    http.cors.allow-origin: "*"  

    2.3 在elasticsearch-head下运行: grunt server

    2.3.1 但是会出现错误提示(当时命令敲的npm start,应该是一样的):

    root@ubuntu:/usr/local/kencery/elasticsearch-head# npm start> elasticsearch-head@0.0.0start /usr/local/kencery/elasticsearch-head> grunt server

    grunt-cli: The grunt command line interface (v1.2.0)

    Fatal error: Unable to find local grunt.

    If you're seeing this message, grunt hasn't been installed locally to

    your project. For more information about installing and configuring grunt,

    please see the Getting Started guide:

    http://gruntjs.com/getting-startednpm ERR! Linux4.4.0-62-generic

    npm ERR! argv"/usr/bin/nodejs""/usr/bin/npm""start"npm ERR! node v4.2.6npm ERR! npm  v3.5.2npm ERR! code ELIFECYCLE

    npm ERR! elasticsearch-head@0.0.0 start: `grunt server`

    npm ERR! Exit status99npm ERR!

    npm ERR! Failed at the elasticsearch-head@0.0.0start script'grunt server'.

    npm ERR! Make sure you have the latest version of node.js and npm installed.

    npm ERR! If youdo, this is most likely a problem with the elasticsearch-head package,

    npm ERR! not with npm itself.

    npm ERR! Tell the author that this fails on your system:

    npm ERR!    grunt server

    npm ERR! You can get information on how to open an issuefor this project with:

    npm ERR!    npm bugs elasticsearch-headnpm ERR! Orifthat isn't available, you can get their info via:npm ERR!    npm ownerlselasticsearch-headnpm ERR! There is likely additional logging output above.

    npm ERR! Please include the followingfile with any support request:

    npm ERR!    /usr/local/kencery/elasticsearch-head/npm-debug.log

    看提示大概有提到版本不是最新的问题,所以就抱着试一试的心态去升级npm以及node

    参考https://www.cnblogs.com/ae6623/p/6242423.html

    npm cache clean -f

    npm install-g n

    n stable

    npm installnpm@latest -g

    再查看下版本,会看到

    elasticsearch@ubuntu:~$ node -v

    v10.4.0elasticsearch@ubuntu:~$ npm -v6.1.0

    2.3.2 但是运行grunt server依然报错:

    grunt hasn't been installed locally to your project

    参考https://segmentfault.com/q/1010000004172559/a-1020000004193932,执行:

    npminstallgrunt --save-dev

    2.3.3 再次运行,依然报错:

    elasticsearch@ubuntu:/usr/local/kencery/elasticsearch-head$ grunt server>> Local Npm module"grunt-contrib-clean"not found. Is it installed?>> Local Npm module"grunt-contrib-concat"not found. Is it installed?>> Local Npm module"grunt-contrib-watch"not found. Is it installed?>> Local Npm module"grunt-contrib-connect"not found. Is it installed?>> Local Npm module"grunt-contrib-copy"not found. Is it installed?>> Local Npm module"grunt-contrib-jasmine"not found. Is it installed?Warning: Task "connect:server"not found. Use --force to continue.

    然后我干脆把有关grunt的都装了一遍最新的:

    npminstall grunt@latest

    npm installgrunt-cli@latest

    npm installgrunt-contrib-copy@latest

    npm installgrunt-contrib-concat@latest

    npm installgrunt-contrib-uglify@latest

    npm installgrunt-contrib-clean@latest

    npm installgrunt-contrib-watch@latest

    npm installgrunt-contrib-connect@latest

    npm installgrunt-contrib-jasmine@latest

    2.3.4 最后grunt server终于可以启动了:

    elasticsearch@ubuntu:/usr/local/kencery/elasticsearch-head$ grunt server

    (node:1527) ExperimentalWarning: The http2 module is an experimental API.

    Running "connect:server" (connect) task

    Waiting forever...

    Started connect web server on http://localhost:9100

    可以看到elasticsearch服务的端口是9200,head插件服务的端口是9100,我们访问head然后head再访问的elasticsearch。

    可以新建索引试一下:

    状态yellow还是有一些问题,并不影响使用,对于ES也只是刚接触,并没多少了解,后续使用过程中遇到问题再作纪录。

    参考文章:https://www.cnblogs.com/shanhm1991/p/9903866.html

    相关文章

      网友评论

          本文标题:ubuntu安装elasticsearch及head插件

          本文链接:https://www.haomeiwen.com/subject/swcdictx.html