之前 一直听说 Elasticsearch功能强大 ,我今天安装了下,到pypi(https://pypi.python.org/pypi/elasticsearch/2.1.0)里看了下并安装到虚拟环境中,本以为它就是一个包呢,所以试着用,结果出问题了,后来一看,原来它也是分服务端可客户端的,pypi里的这个是客户端(搭建很简单)。所以我们来搭建服务端。
安装 Elasticsearch
升级系统后安装 Oracle Java 7,既然 Elasticsearch 官方推荐使用 Oracle JDK 7 就不要尝试 JDK 8 和 OpenJDK 了
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
加入 Elasticsearch 官方源后安装 elasticsearch:
$ wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -
$ sudo echo "deb http://packages.elasticsearch.org/elasticsearch/1.1/debian stable main" >> /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install elasticsearch
启动服务:
$ sudo /etc/init.d/elasticsearch start
可以在浏览器里查看如下(http://localhost:9200/),说明成功了
{
"status" : 200,
"name" : "Gammenon the Gatherer",
"version" : {
"number" : "1.1.2",
"build_hash" : "e511f7b28b77c4d99175905fac65bffbf4c80cf7",
"build_timestamp" : "2014-05-22T12:27:39Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
如果按照以上的步骤,一步一步来,就不会有什么问题的。
我在安装的过程中,遇到了一个问题
root@001:~# sudo apt-get install elasticsearch
Reading package lists... Error!
E: Type 'OK' is not known on line 29 in source list /etc/apt/sources.list
E: The list of sources could not be read.
E: The package lists or status file could not be parsed or opened.
到/etc/apt/sources.list文件里,一看 29行多了“ok”字符,很显眼,果断删了,再跑命令就过了。
Elasticsearch 的监控
Elasticsearch 的集群和数据管理界面 Marvel 非常赞,可惜只对开发环境免费,如果这个工具也免费就无敌了,安装很简单,完成后重启服务访问 http://localhost:9200/_plugin/marvel/ 就可以看到界面
root@001:~# sudo /usr/share/elasticsearch/bin/plugin -i elasticsearch/marvel/latest
-> Installing elasticsearch/marvel/latest...
Trying http://download.elasticsearch.org/elasticsearch/marvel/marvel-latest.zip...
Downloading ...................................DONE
Installed elasticsearch/marvel/latest into /usr/share/elasticsearch/plugins/marvel
root@007:~# sudo /etc/init.d/elasticsearch restart
* Stopping Elasticsearch Server [ OK ]
* Starting Elasticsearch Server [ OK ]
关于集群部署
修改集群名(可选): vi/usr/local/elasticsearch-0.18.7/config/elasticsearch.yml ,找到: cluster.name,去掉前面的#,修改为 cluster.name:youboy (名字随意)。
修改结点名(可选):同上,找到node.name,去掉前面的#,修改为node.name:yb1
修改分片数(可选):同上,找到index.number_of_shards,去掉前面的#,修改为index.number_of_shards:10(默认为5)
修改备份数(可选):同上,找到index.number_of_replicas,去掉前面的#,修改为index.number_of_replicas 1(默认也是1,可不理)。
修改Es占用内存:vi /usr/local/elasticsearch-0.18.7/bin/elasticsearch.in.sh,找到 ES_MIN_MEM和ES_MAX_MEM,修改es最大和最小占用内存值。
(说明:Es的集群非常简单,只要在同一个局域网内,多台服务器能互相通讯,并且cluster.name是一样的,就能自动集在一起。)
当然关于它的监控 ,网上 也有好多工具,相关的分词(ik用的较多)也有奥。有精力可以去检索。
linux下docker NGINX+PHP+MYSQL+REDIS+Elasticsearch开发环境搭:http://www.linuxdiyf.com/linux/17031.html
Elasticsearch安装ubuntu:http://www.linuxdiyf.com/linux/16722.html
ubuntu安装elasticsearch&简单使用:http://www.linuxdiyf.com/linux/16721.html
CentOS 6.7安装ElasticSearch2.0.0手记:http://www.linuxdiyf.com/linux/15787.html
Elasticsearch Kibana安装使用笔记:http://www.linuxdiyf.com/linux/8616.html