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
- 楽天