离线安装elasticsearch

1.在自己的机器上安装elasticsearch
2.在自己的机器上安装elasticsearch-head
3.将在自己的机器上安装好的elasticsearch-head打包拷贝到内网机器

1.内网机器

安装elasticsearch将包上传到服务器,解压就行了(这个就上传到内网机器就行,我们主要是制作elasticsearch-head包)

启动elasticsearch请切换到请他用户,不要用root用户启动
进入bin目录下就可以启动elasticsearch,命令:./elasticsearch  (./elasticsearch -d 后台启动)

2.自己机器:外网(可以访问百度的 ping www.baidu.com)安装elasticsearch-head

我们是离线安装的,需要找一台可以访问互联网的机器,比如你自己电脑上的linux虚拟机,或者linux的云服务器都行,我这里是用我自己电脑的linux虚拟机制作的
补充:怎么判断能不能访问互联网 ping一下百度,命令:ping www.baidu.com

离线安装elasticsearch_第1张图片

 这样就是可以访问互联网了

我这里是自己新建了一个es-head目录,然后进到es-head目录

需求:安装elasticsearch-head、node

补充:
下载elasticsearch-head:wget https://github.com/mobz/elasticsearch-head/archive/master.zip
下载node:wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz

解压这两个包:
[root@localhost es-head]# unzip master.zip
[root@localhost es-head]# tar -xvf node-v10.15.0-linux-x64.tar.xz

将node添加到环境变量中
vim /etc/profile

在最后面加上

#node
export PATH=$PATH:/usr/local/es-head/node-v10.15.0-linux-x64/bin

然后source  /etc/profile 让刚刚的配置文件生效
然后命令行执行:

[root@localhost bin]# node -v
v10.15.0
[root@localhost bin]# npm -v
6.4.1

若出现有版本号说明node安装完成
现在再安装elasticsearch-head 这个是最关键的一步
我们进入到刚刚解压的elasticsearch-head的目录中

[root@localhost es-head]# cd elasticsearch-head-master 
[root@localhost elasticsearch-head-master]# npm install grunt
......
......

等待安装完成,这个安装可以多执行两次
安装完成后就会有grunt这命令了
[root@localhost elasticsearch-head-master]# grunt -version
grunt-cli v1.4.3
grunt v1.0.1
这个就在自己的机器上安装好了elasticsearch-head了

安装完成之后我们还要修改elasticsearch-head的配置让所有人能够访问:

[root@localhost elasticsearch-head-master]$ ls
crx         Dockerfile-alpine                   Gruntfile.js       index.html  node_modules  package-lock.json             proxy           _site  test
Dockerfile  elasticsearch-head.sublime-project  grunt_fileSets.js  LICENCE     package.json  plugin-descriptor.properties  README.textile  src
[root@localhost elasticsearch-head-master]$ vim Gruntfile.js

我们需要修改Gruntfile.js文件:

                connect: {
                        server: {
                                options: {
                                        port: 9100,
                                        hostname: '0.0.0.0', #这里添加hostname: '0.0.0.0'
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }

3.将安装好的elasticsearch-head打包拷贝到内网机器

[root@localhost elasticsearch-head-master]# cd ..
[root@localhost es-head]# ls
elasticsearch-head-master  master.zip  node-v10.15.0-linux-x64  node-v10.15.0-linux-x64.tar.xz
[root@localhost es-head]# tar -czvf es-head.tar.gz ./*

然后我们就得到制作好的elasticsearch-head包了,然后将包拷贝到内网机器并且解压
我同样是上传到/usr/local下,tar -xzvf es-head.tar.gz

然后在内网机器上添加node的环境变量
vim /etc/profile

在最后面加上
#node
export PATH=$PATH://usr/local/es-head/node-v10.15.0-linux-x64/bin
这个是你在内网环境解压es-head.tar.gz包中node-v10.15.0-linux-x64中bin目录的路径
添加后执行 source /etc/profile让配置文件生效
然后执行命令:
[deployer@OSS-ZYGL-567 elasticsearch-7.16.2]$ node -v
v10.15.0
[deployer@OSS-ZYGL-567 elasticsearch-7.16.2]$ npm -v
6.4.1
这样node就在内网环境安装好了

elasticsearch-head 和 elasticsearch 是两个功能,如果互相访问,是跨域问题
解决跨域问题后才可以正常用elasticsearch-head 管理 elasticsearch
修改elasticsearch的配置文件vim elasticsearch/config/elasticsearch.yml ,在配置文件最后面添加两行:

http.cors.enabled: true
http.cors.allow-origin: "*"

重新启动elasticsearch,进入到elasticsearch的bin目录

[deployer@OSS-ZYGL-567 elasticsearch-7.16.2]$ cd bin/
[deployer@OSS-ZYGL-567 bin]$ ./elasticsearch #前台启动
[deployer@OSS-ZYGL-567 bin]$ ./elasticsearch -d #后台启动

然后启动elasticsearch-head

[deployer@OSS-ZYGL-567 local]$ cd es-head/
[deployer@OSS-ZYGL-567 es-head]$ ls
elasticsearch-head-master  master.zip  node-v10.15.0-linux-x64  node-v10.15.0-linux-x64.tar.xz
[deployer@OSS-ZYGL-567 es-head]$ cd elasticsearch-head-master/
[deployer@OSS-ZYGL-567 elasticsearch-head-master]$ setsid grunt server  #后台启动

验证:浏览器输入ip:9100

离线安装elasticsearch_第2张图片

这样elasticsearch就算是离线安装完成了

部分问题:
如果安装完成之后出现:

离线安装elasticsearch_第3张图片

我们可以修改/usr/local/es-head/elasticsearch-head-master/_site下面的配置文件的app.js文件

[deployer@OSS-ZYGL-567 _site]$ cd /usr/local/es-head/elasticsearch-head-master/_site
[deployer@OSS-ZYGL-567 _site]$ pwd
/usr/local/es-head/elasticsearch-head-master/_site
[deployer@OSS-ZYGL-567 _site]$ ls
app.css  app.js  background.js  base  fonts  i18n.js  index.html  lang  manifest.json  vendor.css  vendor.js

vim app.js

        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://10.10.10.10:9200";  #找到这一行 修改成内网机器elasticsearch的IP地址
                        if( this.base_uri.charAt( this.base_uri.length - 1 ) !== "/" ) {
                                // XHR request fails if the URL is not ending with a "/"
                                this.base_uri += "/";
                        }

你可能感兴趣的:(linux,服务器)