学习新知识的时候,可能当时无法立即理解,可是经历过这一痛苦的阶段再回来看看,就有种柳暗花明的感觉 。所以要及时记笔记才对啊年轻人。 —— —— 任三爷
Elasticsearch依赖Java 7。在本文写作的时候,推荐使用Oracle JDK 1.7.0_55版本。Java的安装,在各个平台上都有差异,所以我们不想在这里深入太多细节。我只想说,在你安装Elasticsearch之前,你可以通过以下命令来检查你的Java版本(如果有需要,安装或者升级):
java -version
echo $JAVA_HOME
一旦我们将Java安装完成,我们就可以下载并安装Elasticsearch了。其二进制文件可以从 www.elasticsearch.org/download这里下载,你也可以从这里下载以前发布的版本。对于每个版本,你可以在zip、tar、 DEB、RPM类型的包中选择下载。简单起见,我们使用tar包。 我们像下面一样下载Elasticsearch1.1.1 tar包(Windows用户应该下载zip包):
curl -L -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz
然后,如下将其解压(Windows下需要unzip响应的zip包):
tar -xzvf elasticsearch-1.1.1.tar.gz
这将在你的当前目录下创建很多文件和目录。然后,我们进入到bin目录下:
cd elasticsearch-1.1.1/bin
至此,我们已经准备好开启我们的节点和单节点集群(Windows用户应该运行elasticsearch.bat文件):
./elasticsearch
如果一切顺利,你将看到大量的如下信息:
./elasticsearch
[2014-03-13 13:42:17,218][INFO ][node ] [New Goblin] version[1.1.1],pid[2085], build[5c03844/2014-02-25T15:52:53Z]
[2014-03-13 13:42:17,219][INFO ][node ] [New Goblin] initializing ...
[2014-03-13 13:42:17,223][INFO ][plugins ] [New Goblin] loaded [], sites []
[2014-03-13 13:42:19,831][INFO ][node ] [New Goblin] initialized
[2014-03-13 13:42:19,832][INFO ][node ] [New Goblin] starting ...
[2014-03-13 13:42:19,958][INFO ][transport ] [New Goblin] bound_address{inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.8.112:9300]}
[2014-03-13 13:42:23,030][INFO ][cluster.service] [New Goblin]new_master [NewGoblin][rWMtGj3dQouz2r6ZFL9v4g][mwubuntu1][inet[/192.168.8.112:9300]], reason:zen-disco-join (elected_as_master)
[2014-03-13 13:42:23,100][INFO ][discovery ] [New Goblin]elasticsearch/rWMtGj3dQouz2r6ZFL9v4g
[2014-03-13 13:42:23,125][INFO ][http ] [New Goblin] bound_address{inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.8.112:9200]}
[2014-03-13 13:42:23,629][INFO ][gateway ] [New Goblin] recovered [1] indicesinto cluster_state
[2014-03-13 13:42:23,630][INFO ][node ] [New Goblin] started
不去涉及太多细节,我们可以看到,一叫做“New Goblin”(你会见到一个不同的漫威漫画角色)的节点启动并且将自己选做单结点集群的master。现在不用关心master是什么东西。这里重要的就是,我们在一个集群中开启了一个节点。
正如先前提到的,我们可以覆盖集群或者节点的名字。我们可以在启动Elasticsearch的时候通过命令行来指定,如下:
./elasticsearch --cluster.name my_cluster_name --node.name my_node_name
也要注意一下有http标记的那一行,它提供了有关HTTP地址(192.168.8.112)和端口(9200)的信息,通过这个地址和端口我们就可以访问我们的节点了。默认情况下,Elasticsearch使用9200来提供对其REST API的访问。如果有必要,这个端口是可以配置的。
肚子疼,妈蛋!!!!!