ES(elasticsearch)学习笔记(1)
1. 搭建部署实验环境
最近需要用ES解决一些业务问题,话不多说,直接开始。
机器配置
一共三台虚拟机: 域名配置
代码语言:javascript复制10.202.7.184 nosql1
10.202.7.185 nosql2
10.202.7.186 nosql3
硬件配置 CPU 8核 / 内存 16384MB 操作系统 LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 6.6 (Final) Release: 6.6 Codename: Final 软件环境 Java: java version “1.7.0_65” OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
三台机器之间已经互相之间配置好无密登陆,具体请参考我的另一篇文章:Hadoop使用学习笔记(1)
下载好ES,还有kinba,软件列表如下所示(由于我的集群没有连接外网,所以在本地下载好上传上去安装):
- Elastic Search
- Kibana:用于可视化查看ES中的数据
- Marvel:监控ES,这里给的是离线安装步骤。注意,安装时,里面的三个源文件和sha文件都要下载。
安装步骤如下: 首先将文件都上传到其中一台机器上。 文件列表:
- elasticsearch-2.3.5.tar.gz
- kibana-4.5.4-linux-x64.tar.gz
- license-2.3.5.zip
- license-2.3.5.zip.sha1
- marvel-agent-2.3.5.zip
- marvel-agent-2.3.5.zip.sha1
- marvel-2.3.5.tar.gz
- marvel-2.3.5.tar.gz.sha1.txt
解压ES:
代码语言:javascript复制> tar zxvf elasticsearch-2.3.5.tar.gz
> cd elasticsearch-2.3.5
修改配置文件,在配置文件中添加:
代码语言:javascript复制#集群名称,ES通过集群名称识别自己属于哪一集群
cluster.name: hash-es
#节点名称,用于标示本节点
node.name: hash-es-node-1
#这个一定要配置,用来广播发现集群
discovery.zen.ping.unicast.hosts: ["10.202.7.184", "10.202.7.185","10.202.7.186"]
#本节点绑定的IP,一定要属于上面集合中的IP
network.host: 10.202.7.184
#数据存放位置
path.data: /home/elasticsearch/elasticsearch-2.3.5/data
#日志存放位置
path.logs: /home/elasticsearch/elasticsearch-2.3.5/logs
启动ES(启动后才能安装后续的Marvel插件,默认通信端口9300,RESTFUL端口9200)
代码语言:javascript复制> ./bin/elasticsearch &
访问:http://nosql1:9200,可以得到类似于如下的JSON:
代码语言:javascript复制{
"name" : "hash-es-node-1",
"cluster_name" : "hash-es",
"version" : {
"number" : "2.3.5",
"build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f",
"build_timestamp" : "2016-06-30T11:24:31Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}
解压Kibana:
代码语言:javascript复制> tar zxvf kibana-4.5.4-linux-x64.tar.gz
> cd kibana-4.5.4-linux-x64
修改配置文件:
代码语言:javascript复制elasticsearch.url: "http://nosql1:9200"
先不启动,分别利用ES和kibana的启动文件安装Marvel插件:
代码语言:javascript复制./elasticsearch-2.3.5/bin/plugin install file:///path/to/file/license-2.3.5.zip
./elasticsearch-2.3.5/bin/plugin install file:///path/to/file/marvel-agent-2.3.5.zip
./kibana-4.5.4-linux-x64/bin/kibana plugin --install marvel --url file:///path/to/file/marvel-2.3.5.tar.gz
安装完成后,启动kibana:
代码语言:javascript复制./kibana-4.5.3-linux-x64/bin/kibana &
启动完成后,访问:http://nosql1:6201出现:
切换到Marvel: