在前文中,已经解决了Metron安装过程中的报错:No interface named 'eth0' found, got [name:lo (lo), name:em1 (em1)];
但是在两个slave机上启动Elasticsearch时,还是遇到了问题,描述如下:
[root@slave1 elasticsearch]# service elasticsearch start
Starting elasticsearch: Exception in thread "main" java.lang.IllegalArgumentException:
No interface named 'eth1' found, got [name:lo (lo), name:em1 (em1), name:docker0 (docker0)]
at org.elasticsearch.common.network.NetworkUtils.getAddressesForInterface(NetworkUtils.java:232)
at org.elasticsearch.common.network.NetworkService.resolveInternal(NetworkService.java:257)
at org.elasticsearch.common.network.NetworkService.resolveInetAddresses(NetworkService.java:209)
at org.elasticsearch.common.network.NetworkService.resolveBindHostAddresses(NetworkService.java:122)
at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:435)
at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:332)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68)
at org.elasticsearch.transport.TransportService.doStart(TransportService.java:182)
at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68)
at org.elasticsearch.node.Node.start(Node.java:278)
at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:222)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:288)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
[FAILED]
上文中的错误,应该只在本地解决了,安装过程中,其它机器还是选择使用了eth1;
沿着这个思路,查找elasticsearch的配置文档:
[root@slave1 bin]# find / -name elasticsearch.yml
/etc/elasticsearch/elasticsearch.yml
/var/lib/docker/aufs/diff/dd3620121dc517e93f5bc4ed8c91d65d735ba0548c66ab50db5d582c0b25bae6/root/incubator-metron/metron-deployment/roles/elasticsearch/tasks/elasticsearch.yml
/home/szx/incubator-metron-Metron_0.2.0BETA_rc2/metron-deployment/roles/elasticsearch/tasks/elasticsearch.yml
[root@slave1 bin]#
cluster.name: metron
network.host: _em1:ipv4_
discovery.zen.ping.unicast.hosts: [ master,slave1,slave2 ]
path.data: /data1/elasticsearch,/data2/elasticsearch
即将eth1改为em1;
改动完成后,重新启动,成功:
[root@slave2 elasticsearch]# service elasticsearch start
Starting elasticsearch: [ OK ]
[root@slave2 elasticsearch]
slave机器上的一些安装位置:
启动ES时,使用命令service elasticsearch start启动;
可以使用service启动的文件在/etc/sysconfig目录下;
Metron安装时,配置文件all的位置:
[root@slave1 network-scripts]# find / -name all
/lib/kbd/keymaps/mac/all
/var/lib/docker/aufs/diff/bb34493ea7bdaaa9c92b1d4c43bc017c3ff9747896975d251037fbf09fccb01a/root/.m2/repository/com/sun/mail/all
/var/lib/docker/aufs/diff/dd3620121dc517e93f5bc4ed8c91d65d735ba0548c66ab50db5d582c0b25bae6/root/incubator-metron/metron-deployment/inventory/metron_example/group_vars/all
/var/lib/docker/aufs/diff/dd3620121dc517e93f5bc4ed8c91d65d735ba0548c66ab50db5d582c0b25bae6/root/incubator-metron/metron-deployment/inventory/full-dev-platform/group_vars/all
/var/lib/docker/aufs/diff/dd3620121dc517e93f5bc4ed8c91d65d735ba0548c66ab50db5d582c0b25bae6/root/incubator-metron/metron-deployment/inventory/multinode-vagrant/group_vars/all
/home/szx/incubator-metron-Metron_0.2.0BETA_rc2/metron-deployment/inventory/full-dev-platform/group_vars/all
/home/szx/incubator-metron-Metron_0.2.0BETA_rc2/metron-deployment/inventory/metron_example/group_vars/all
/home/szx/incubator-metron-Metron_0.2.0BETA_rc2/metron-deployment/inventory/multinode-vagrant/group_vars/all
/proc/sys/net/ipv4/conf/all
/proc/sys/net/ipv6/conf/all
打开/etc/sysconfig/elasticsearch,可以看到ES的相关配置信息,ES在slave的安装目录为:
[root@slave1 elasticsearch]# ls
bin lib LICENSE.txt modules NOTICE.txt plugins README.textile
[root@slave1 elasticsearch]# cd bin
[root@slave1 bin]# ls
elasticsearch elasticsearch.in.sh elasticsearch-systemd-pre-exec plugin
[root@slave1 bin]#