Elasticsearch的安装部署和使用

最近由于工作之前遇到搜索的问题,于是开始研究Elasticsearch,准备运用到我们的系统中。于是先在macbook上安装实验,打算在一台机器上完成2个节点的配置。

一、Elasticsearch安装配置

1、下载安装

1
2
3
4
cd /usr/local/src
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
tar -zxvf elasticsearch-6.3.0.tar.gz
mv elasticsearch-6.3.0 /usr/local/

2、配置文件

1
vim /usr/local/elasticsearch-6.3.0/config/elasticsearch.yml

#集群名称,若有多台服务器
cluster.name: cluster-hety
#节点名称,本服务器的名称
node.name: hety-noe-1
#监听端口,默认为 9200
http.port: 9200

3、启动

修改elasticsearch6.3.0文件夹的权限,Elasticsearch 规定 root 用户不能启动 Elasticsearch,所以需要使用一个其他用户来启动,先创建用户elastic.
启动(-d 表示后台运行)

1
2
3
chown -R elastic.elastic /usr/local/elasticsearch-6.3.0
cd /usr/local/elasticsearch-6.3.0/bin
./elasticsearch -d

4、查看是否启动

1
ps aux |grep elastic

5、停止 Elasticsearch

1
2
kill -9 651
#651 表示Elasticsearch的进程id

6、部署第二个node

将/usr/local/elasticsearch-6.1.1 文件拷贝一份到其他目录,更改配置文件里的cluster.name 和 node.name

1
2
3
4
5
6
#集群名称,若有多台服务器
cluster.name: cluster-hety
#节点名称,本服务器的名称
node.name: hety-noe-2
#监听端口,默认为 9201
http.port: 9201

7、注意事项

因为 Elasticsearch 是 Java 开发的,所以要先安装 Java(下载)
可用 java -version来查 看是否已安装Java
若没有安装,需要先安装配置java及其环境变量。因为我之前安装过了,所以不再作安装说明。

二、安装Elasticsearch-head插件

elasticsearch5.0以下版本可以直接在elasticsearch插件目录下执行对应的命令安装head插件,但是5.0以上不支持直接安装,所以需要借助其他方法安装head插件
官网给的简单安装步骤

1
2
3
4
5
cd /usr/local/src
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
grunt server

下面是我的详细安装步骤

1、安装git、npm、node,grunt-cli

由于我笔记本上没有这些服务,所以要先安装,可以yum安装,我是通过homebrew来安装,因为我一直用homebrew安装管理。之前的Elasticsearch其实后面我也是重新用homebrew来安装管理了。

1
2
3
4
brew install git
brew install npm
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
tar -zxvf node-v4.4.7-linux-x64.tar.gz

配置下环境变量,编辑/etc/profile添加

1
2
3
source /etc/profile

npm install grunt-cli

2、安装配置 elasticsearch-head

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd /usr/local/src/elasticsearch-head
npm install
#更改Gruntfile.js
vi Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}

3、启动head

1
grunt server

启动完后,如果显示不正常,还需要更改elasticsearch的配置文件elasticsearch.yml,我就遇到这种问题。

1
2
3
4
5

vi /usr/local/etc/elasticsearch/elasticsearch.yml
#增加下面2项
http.cors.enabled: true
http.cors.allow-origin: "*"

重新启动elasticsearch,然后在浏览器访问http://localhost:9100/ 就可以看到如下效果了

Leave a Comment.