安装es
官网下载地址: https://www.elastic.co/downloads/elasticsearch
下载文件elasticsearch-5.1.1.tar.gz,上传到服务器并解压
如果你是root用户,直接执行 bin/elasticsearch
命令会提示
can not run elasticsearch as root
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
第一步:liunx创建新用户 adduser zhao 然后给创建的用户加密码 passwd zhao 输入两次密码。
第二步:切换刚才创建的用户 su zhao 然后执行elasticsearch 会显示Permission denied 权限不足。
第三步:给新建的zhao赋权限,chmod 777 * 这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
第四步:root给zhao赋权限,chown -R zhao /你的elasticsearch安装目录。
然后执行成功。
安装es-head插件
- 下载elasticsearch-head
git clone https://github.com/mobz/elasticsearch-head.git
-
安装nodejs
执行命令: tar -xvf node-v8.9.0-linux-x64.tar.xz 解压
然后直接把 /data/node-v8.9.0-linux-x64/bin 放到环境变量里即可。
验证是否安装成功: node -v
npm -v
- 启动elasticsearch-head
cd elasticsearch-head
npm install
npm run start
如果速度较慢或者安装失败,可以使用国内镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
可能会提示下面的错误,
> grunt server
sh: 1: grunt: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! elasticsearch-head@0.0.0 start: `grunt server`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the elasticsearch-head@0.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-11-08T04_07_56_228Z-debug.log
根据提示,需要安装grunt
- 安装grunt-cli
npm install -g grunt-cli
-
安装grunt
npm install grunt --save-dev这时又会报错提示,
> 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?
-
根据提示安装grunt插件
npm install grunt-contrib-clean --save-dev -
最后直接把需要安装的命令写出来吧
npm install grunt --save-dev
npm install -g grunt-cli
npm install grunt-contrib-clean --save-dev
npm install grunt-contrib-concat --save-dev
npm install grunt-contrib-watch --save-dev
npm install grunt-contrib-connect --save-dev
npm install grunt-contrib-copy --save-dev
npm install grunt-contrib-jasmine --save-dev
然后就可以打开url:http://localhost:9100/
看到es-head插件的web页面
修改Elasticsearch配置
- 编辑elasticsearch-5.1.1/config/elasticsearch.yml,加入以下内容:
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
这样才可以用head插件操作es
- 修改Gruntfile.js
打开elasticsearch-head-master/Gruntfile.js,找到下面connect属性,新增hostname: ‘0.0.0.0’:
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}