欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

elasticsearch6安装在centos7 64位虚拟机环境中,并且安装es-Head工具

程序员文章站 2022-07-14 22:32:11
...

目前Elasticsearch最新的版本是6.3.1,我们就使用6.3.0, 需要虚拟机JDK1.8及以上

一:下载elasticsearch6安装包
去官网下载elasticsearch-6.3.0.tar.gz安装包
二:安装
*
es的默认不允许root账号运行,因此我们先创建一个test账号

useradd test
passwd test
输入test的密码,并且重新确认密码
创建好账号后就可以使用test账号安装es了
su - test
*
上传安装包,并解压

我们将安装包上传到:/usr/es目录,es目录是我自己新建的
解压:
tar -zxvf elasticsearch-6.3.0.tar.gz
*
修改配置文件(es配置文件都在es根目录/config目录下)

在执行下面的操作前,我先使用root用户,递归赋予test用户在/usr/es/elasticsearch-6.3.0目录下的管理员权限,防止后面出现问题

su root
chown test:test -R /usr/es/elasticsearch-6.3.0
这样下面的操作就不需要sudo,并且后面的启动也不会报一些错误

  1. jvm.options

Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。

编辑jvm.options:

cd /usr/es/elasticsearch-6.3.0/config
sudo vi jvm.options

默认配置如下:

-Xms1g
-Xmx1g

内存占用太多了,我们调小一些(这里根据你虚拟机的内存来选择是否需要改):

-Xms512m
-Xmx512m
  1. elasticsearch.yml
    cd /usr/es/elasticsearch-6.3.0/config
vi elasticsearch.yml
  • 修改数据和日志目录:
path.data: /usr/es/elasticsearch-6.3.0/data # 数据目录位置
path.logs:  /usr/es/elasticsearch-6.3.0/logs # 日志目录位置
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
* 

我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

            进入elasticsearch的根目录,然后创建data跟log目录(有就不用创建)
* 

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

三:启动es
es是作为服务启动,因此是在bin目录下使用./elasticsearch命令启动
cd /usr/es/elasticsearch-6.3.0/bin
./elasticsearch
启动成功的图示:
elasticsearch6安装在centos7 64位虚拟机环境中,并且安装es-Head工具
测试访问:
localhost:9200 (服务器部署的话ip:9200)

报错解决:
1.
expecting token of type [START_OBJECT] but found [VALUE_STRING]];

报错详细信息:
elasticsearch6安装在centos7 64位虚拟机环境中,并且安装es-Head工具
错误原因是配置文件yml的书写格式错误,正确格式是key:(空格)value,注意是有空格的!!

elasticsearch6安装在centos7 64位虚拟机环境中,并且安装es-Head工具
出现这个错误是es必须要使用非root用户运行,因此我们使用了test用户来运行es,但是在es启动的时候,又会报没有权限的错误(原因是使用sudo解压,sudo是超级管理员的意思,文件属于root,而test不在超级管理员组里面)
这里我的解决办法是:先使用root账号登陆,然后赋予test用户在/usr/es/elasticsearch-6.3.0目录下的所有权限,这样就可以不用sudo操作,并且错误也能解决

启动成功!

四:安装es-head
1:github下载es_head插件
https://github.com/mobz/elasticsearch-head/archive/master.zip
下载好后放到/usr/es目录下
解压zip文件
cd /usr/es
gzip elasticsearch-head-master.zip #在当前文件夹解压
2:下载node.js
https://npm.taobao.org/mirrors/node/,在里面下载node-v6.0.0-linux-x64.tar.gz
下载好后放到/usr/es目录下
tar -zxvf /usr/es/node-v6.0.0-linux-x64.tar.gz
配置环境变量
vi /etc/profile
SHIRT+G跳到文档末尾 ,i编辑
在末尾添加:
export NODE_HOME=/usr/es/node-v6.0.0-linux-x64 #node.js的根目录路径
export PATH=PATH:PATH:NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
##使配置生效
source /etc/profile
3.安装grunt
grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动
##进入到插件目录下面
cd /usr/es/elasticsearch-head-master
##下载安装grunt
npm install -g grunt-cli(安装需要等待)
##检查安装是否成功
grunt -version
##修改grunt的两个配置文件,
1.Gruntfile.js在es-head文件夹的根目录下
cd /usr/es/elasticsearch-head-master
#添加host正则匹配项,让让es-head(9100端口)可以连接es(9200端口)
vi Gruntfile.js
搜索connect项
connect: {
server: {
options: {
port: 9100,
base: ‘.’,
keepalive: true,
hostname: ‘
}
}
}
在该项后面添加一个hostname: '

修改完后按ESC,输入 :wq! 保存并退出
2.修改es-head_site目录下的app.js文件
cd /usr/es/elasticsearch-head-master/_site
vi app.js

按/,http://localhost:9200快速搜索到文本,然后将它的地址改为"http://192.168.1.147:9200";(这是我的linxu服务器的地址)
var ui = app.ns(“ui”);
var services = app.ns(“services”);

    app.App = ui.AbstractWidget.extend({
            defaults: {
                    base_uri: null
            },
            init: function(parent) {
                    this._super();
                    this.prefs = services.Preferences.instance();
                    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.1.147:9200";
                    if( this.base_uri.charAt( this.base_uri.length - 1 ) !== "/" ) {
                            // XHR request fails if the URL is not ending with a "/"
                            this.base_uri += "/";
                    }

4.修改es 的elasticsearch.yml配置文件解决跨域问题
cd /usr/es/elasticsearch-6.3.0/config
vi elasticsearch.yml

#在最末尾继续增加以下参数,使es-head擦肩可以访问es
http.cors.enabled: true
http.cors.allow-origin: “*”
编辑完后按ESC,输入 :wq! 保存编辑并且退出

##安装npm的服务,然后再head目录下面启动插件
npm install
grunt server
启动成功页面:elasticsearch6安装在centos7 64位虚拟机环境中,并且安装es-Head工具

然后就可以在浏览器中访问ip:9100查看es的结构了

hucu
chu

相关标签: es