搭建环境在11.12.112.209主机,本文件主要说明搭建一个ES,如果多个es,只有让他们的配置文件中的集群名称cluster.name配置成一样,它们就会自动组成一个集群。
一、搭建elasticsearch环境
1.先将软件放在:/home/jason/bigdata/目录下,如下:
[root@cluster209 bigdata]# pwd
/home/jason/bigdata
[root@cluster209 bigdata]# ll
总用量 27816
drwxr-xr-x. 5 root root 95 9月 12 08:49 elasticsearch-1.7.2
-rw-r--r--. 1 root root 28478292 9月 9 15:25 elasticsearch-1.7.2.tar.gz
drwxr-xr-x. 7 root root 4096 9月 9 15:25 kibana-4.1.3-linux-x64
2.配置Elasticsearch
配置文件为config目录下的文件elasticsearch.yml
在目录/home/jason/bigdata/下创建一个es的工作区目录:es_work_space,并在该目录下新建子文件夹:data、logs、plugins和work,下面的配置项中将会用到;
设置如下配置:
#集群的名称,后续集群自动发现新的es节点加入的时候就凭借这个集群名称
cluster.name: jason-es
#配置节点名称
node.name: es-209-1
#node.master和node.data主要用于设置当前节点是否为master以及是否在当前节点存储数据;
#针对这两个参数,不同的配置,可以让当前节点起不同的作用,这里暂时不做配置,使用默认
#的设值,即当前节点为master,并且当前节点进行数据存储(注意后面要设置数据存储的路
#径),如下,不做改动即可:
#node.master: true
#node.data: true
#配置当前es所使用的配置文件的路径:
path.conf: /home/jason/bigdata/elasticsearch-1.7.2/config
#数据存储的路径
path.data: /home/jason/bigdata/es_work_space/data
#设置es工作期间使用的临时文件的路径:
path.work: /home/jason/bigdata/es_work_space/work
#设置日志文件的路径,即ES的日志输出都到该目录下:
path.logs: /home/jason/bigdata/es_work_space/logs
#设置es插件的路径:
path.plugins: /home/jason/bigdata/es_work_space/plugins
#设置当前es节点绑定的本机的主机地址:
network.bind_host: 11.12.112.209
#设置当前es的tcp监听端口号:
transport.tcp.port: 9300
#设置当前es节点的http端口号:
http.port: 9200
4.启动Elasticsearch
(1)运行bin目录下的elasticsearch即可,
./elasticsearch
(2)用nohup在后台启动,并且不输出日志:
nohup ./elasticsearch -Des.logger.level=INFO> /dev/null 2>&1 &
(3)用 nohup启动但输出日志:
附:主节点(Master Node):集群中的一个结点会被选为主节点,它负责整个集群的变化,比如创建索引或者删除索引,以及对集群中结点的增加和删除。主节点不需要参与到文档级别的变化或者搜索中,这就意味着主节点不会因为流量的增大而成为瓶颈。任何结点都可以成为主节点。当只启动了一个节点时,这个结点就自动成为了主节点,所构建的集群就是一个单节点集群。用户可以与集群中的任意一个节点通信,包括主节点。每个节点都知道文档在那个节点上,并且它可以转发请求到相应的结点。我们访问的结点负责收集各个节点返回的数据,最后一起返回给客户端。这一切都由Elasticsearch处理
5.测试es是否启动成功:
(1)浏览器访问,我们上面的es部署在11.12.112.209主机上,http的端口是9200,可以在浏览器中直接访问
可以看到返回结果:
{ "status" : 200, "name" : "es-209-1", "cluster_name" : "jason-es-cluster", "version" : { "number" : "1.7.2", "build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec", "build_timestamp" : "2015-09-14T09:49:53Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search"}
(2)centos7下直接curl 11.12.112.209:9200也可,如下所示:
[root@cluster209 bin]# curl 11.12.112.209:9200
{
"status" : 200,
"name" : "es-209-1",
"cluster_name" : "jason-es-cluster",
"version" : {
"number" : "1.7.2",
"build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec",
"build_timestamp" : "2015-09-14T09:49:53Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
6.安装插件
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es;
插件在线安装方法1:
(1)elasticsearch/bin/plugin -install mobz/elasticsearch-head
(2)运行es
(3)打开http://localhost:9200/_plugin/head/
插件离线安装方法2:
(1)在https://github.com/mobz/elasticsearch-head下载zip ,并解压
(2)我们在上面ElasticSearch的配置文件中,设置了插件的路径:
/home/jason/bigdata/es_work_space/plugins
这里需要在该插件的目录plugins里再为elasticsearch-head建立一个子文件夹head;
(3)将解压后的elasticsearch-head-master文件夹下的文件copy到head目录下即可;如下所示:
[root@cluster209 head]# pwd
/home/jason/bigdata/es_work_space/plugins/head
[root@cluster209 head]# ll
总用量 40
-rw-r--r--. 1 root root 104 9月 12 15:19 elasticsearch-head.sublime-project
-rw-r--r--. 1 root root 2171 9月 12 15:19 Gruntfile.js
-rw-r--r--. 1 root root 3482 9月 12 15:19 grunt_fileSets.js
-rw-r--r--. 1 root root 1085 9月 12 15:19 index.html
-rw-r--r--. 1 root root 559 9月 12 15:19 LICENCE
-rw-r--r--. 1 root root 795 9月 12 15:19 package.json
-rw-r--r--. 1 root root 100 9月 12 15:19 plugin-descriptor.properties
-rw-r--r--. 1 root root 5203 9月 12 15:19 README.textile
drwxr-xr-x. 5 root root 4096 9月 12 15:18 _site
drwxr-xr-x. 4 root root 29 9月 12 15:18 src
drwxr-xr-x. 4 root root 66 9月 12 15:19 test
(4)运行es
(5)在浏览器中输入http://11.12.112.209:9200/_plugin/head/ 如果一切顺利,则显示如下所示的网页:
7. sense插件的安装和使用
【注意:67版本的chrome已经禁止这种离线安装方式,可以下载老版本的chrome进行下载安装,这个地址有历史版本下载链接:https://www.chromedownloads.net】
在Linux服务器上可以通过curl命令操作es。window用户可通过一款基于chrome的插件Sense很方便的操作ElasticSearch。插件名称为:sense插件.crx,安装完成之后即可在浏览器中使用该插件操作es。
7.1. 安装sense方法
本例将sense插件安装在chrome浏览器上,直接将sense插件拖到chrome浏览器上即可完成安装,安装完成之后,在地址输入框的右边会新产生一个绿色的图标,如下所示,点击它即可运行该插件。
在sense插件的Server输入框中填入Elasticsearch的地址和端口,然后点击绿色的三角图标,即可执行对es的操作,如下图所示:
7.2.使用sense插件向es中插入一条数据:
执行的请求为:
PUT /ps_log/idgen_log/1
{
"title": "1",
"director": "1",
"year": 2005
}
其中:ps_log为索引,idgen_log为类型;
全选插入的请求和数据,点击右边的绿色三角形执行,即可在右边看到返回的结果。