elasticsearchのインストールの手順メモ
○環境
・Oracle Virtual Box
・Cent OS6.5
○準備
1. javaがインストールされていること
* インストールされていない場合はインストールを実施
以下はyumでインストールする例
# yum search jdk
# yum install java-1.7.0-openjdk.x86_64
# yum list installed | grep jdk
java-1.7.0-openjdk.x86_64
○手順
以下のダウンロードページ
http://www.elasticsearch.org/overview/elkdownloads/
では、zipやtar形式でも配布されているが、
以下ではrpmでインストールした場合の手順とする。
①インストール用のディレクトリを作成
ここでは /opt/elasticsearch配下をインストールディレクトリとして利用する。
# mkdir /opt/elasticsearch/
# cd /opt/elasticsearch/
②rpmを/opt/elasticsearch配下に配置する。
http://www.elasticsearch.org/overview/elkdownloads/ から取得して、
winscp等で配置してもよいし、以下のようにwget等で配置してもよい。
* 以下のバージョン1.3.4は2014/11/01時点のもの
# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.noarch.rpm
③rpmコマンドを使用してインストールする。
# rpm -ivh elasticsearch-1.3.4.noarch.rpm
④chkconfigコマンドにて、サービス自動起動を設定する
# chkconfig --add elasticsearch
# chkconfig --list | grep elasticsearch
elasticsearch 0:off 1:off 2:on 3:on 4:on 5:on 6:off
⑤elasticsearchを起動する
# service elasticsearch start
elasticsearch を起動中: [ OK ]
起動はOKとなっていたが、elasticsearchのログをみるとエラーが。
(ログはデフォルトだと「/var/log/elasticsearch/elasticsearch.log」)
[2014-11-01 00:00:00,000][WARN ][common.network ] failed to resolve local host, fallback to loopback java.net.UnknownHostException: <ホスト名>: <ホスト名>: Name or service not known at java.net.InetAddress.getLocalHost(InetAddress.java:1473) at org.elasticsearch.common.network.NetworkUtils.(NetworkUtils.java:54) at org.elasticsearch.transport.netty.NettyTransport. (NettyTransport.java:204) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54) at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86) at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42) at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57) at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42) at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57) at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42) at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66) at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85) at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42) at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57) at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42) at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66) at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85) at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98) at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42) at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57) at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42) at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66) at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85) at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837) at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42) at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57) at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200) at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193) at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830) at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193) at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175) at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110) at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93) at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70) at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59) at org.elasticsearch.node.internal.InternalNode. (InternalNode.java:192) at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:70) at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:203) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32) Caused by: java.net.UnknownHostException: <ホスト名>: Name or service not known at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293) at java.net.InetAddress.getLocalHost(InetAddress.java:1469) ... 62 more
- どうやらログをみると「failed to resolve local host, fallback to loopback」「<ホスト名>: Name or service not known」と、
- ローカルのホスト名が名前解決出来なくてエラーになっているみたい。
とりあえず/etc/hostsにローカルのホスト名を追記
# vi /etc/hosts
127.0.0.1 <ホスト名> #これを追記
ホスト名は
# hostnameで調べることが可能。
再度elasticsearchを起動
# service elasticsearch start
elasticsearch を起動中: [ OK ]
今度はエラーが出力されていないのでOK
[2014-11-01 00:00:00,000][INFO ][node ] [Blink] version[1.3.4], pid[2386], build[a70f3cc/2014-09-30T09:07:17Z] [2014-11-01 00:00:00,000][INFO ][node ] [Blink] initializing ... [2014-11-01 00:00:00,000][INFO ][plugins ] [Blink] loaded [], sites [] [2014-11-01 00:00:00,000][INFO ][node ] [Blink] initialized [2014-11-01 00:00:00,000][INFO ][node ] [Blink] starting ... [2014-11-01 00:00:00,000][INFO ][transport ] [Blink] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.0.2.15:9300]} [2014-11-01 00:00:00,000][INFO ][discovery ] [Blink] elasticsearch/ucweM8NDQyOcQ9DIJzi05g [2014-11-01 00:00:00,000][INFO ][cluster.service ] [Blink] new_master [Blink][ucweM8NDQyOcQ9DIJzi05g][<ホスト名>][inet[/10.0.2.15:9300]], reason: zen-disco-join (elected_as_master) [2014-11-01 00:00:00,000][INFO ][http ] [Blink] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/10.0.2.15:9200]} [2014-11-01 00:00:00,000][INFO ][node ] [Blink] started [2014-11-01 00:00:00,000][INFO ][gateway ] [Blink] recovered [0] indices into cluster_state
インストール完了!
- 高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)/KADOKAWA / アスキー・メディアワークス
- ¥価格不明
- Amazon.co.jp
- サーバ/インフラエンジニア養成読本 ログ収集~可視化編 [現場主導のデータ分析環境を構築!] .../技術評論社
- ¥2,138
- Amazon.co.jp
- ElasticSearch Cookbook-【電子書籍】
- ¥2,272
- 楽天