一、环境准备
ElasticSearch建议使用oracle的JDK8(7有漏洞);
安装前需要在系统中检测是否有安装过jdk。
rpm –qa | grep –E ‘^open[jre|jdk]|j[re|dk]’
如果有,可能是系统自带,可以通过命令行将所有含有Java的批量卸载掉。
rpm –qa | grep Java | xargs rpm –e —nodeps
在oracle官网下载 jdk8(注意header请求中注明oracle协议)
wget —no–check–certificate —no–cookies \—header “Cookie: oraclelicense=accept-securebackup-cookie” \http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz
下载完成后,可以将压缩包移动到/usr/local目录下(楼主平时习惯将下载软件的位置放在/home/download)
解压缩文件
tar -zxvf jdk-8u101-linux-x64.tar.gz
mv jdk1.8.0_101 /usr/local/
vim /etc/profile
追加内容
# set java environmentexport JAVA_HOME=/usr/local/jdk1.8.0_101export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:${PATH}
然后运行
source /etc/profile
java -version
出现
java version “1.8.0_101”
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
代表jdk 安装成功。
二、安装ElasticSearch服务
下载文件,并解压
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar.gz
tar -zxvf elasticsearch-2.4.0.tar.gz
mv elasticsearch-2.4.0 /usr/local/
运行elasticsearch服务
sh /usr/local/elasticsearch-2.4.0/bin/elasticsearch -d #-d 表示在后台启动服务
错误异常信息:
Exception in thread “main” java.lang.RuntimeException: don’t run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:94)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:160)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
解决方法:
elasticsearch默认是不支持用root用户来启动
方案1:
修改/usr/local/elasticsearch-2.4.0/bin/elasticsearch,添加 ES_JAVA_OPTS=“-Des.insecure.allow.root=true”
或执行时添加: sh /usr/local/elasticsearch–2.4.0/bin/elasticsearch –d –Des.insecure.allow.root=true
方案2:
useradd elastic
chown -R elastic:elastic /usr/local/elasticsearch-2.4.0
su elastic
sh /usr/local/elasticsearch-2.4.0/bin/elasticsearch -d
三、测试访问及配置网络地址
本地测试访问
curl http://localhost:9200/
出现:
{
“name” : “Agent Zero”,
“cluster_name” : “elasticsearch”,
“version” : {
“number” : “2.4.0”,
“build_hash” : “ce9f0c7394dee074091dd1bc4e9469251181fc55”,
“build_timestamp” : “2016-08-29T09:14:17Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.2”
},
“tagline” : “You Know, for Search”
}
即表示服务正常。
elasticsearch默认restful-api的端口是9200 不支持Ip地址,只能在本机用http://localhost:9200来访问。如果需要改变,需要修改配置文件。
vim /usr/local/elastic-2.4.0/config/elasticsearch.yml
network.host: 192.168.1.16 #去掉注释; 并指定iP地址
http.port: 9200 #去掉前面的注释;
杀掉elastic 进程服务
ps aux|grep elastic
kill -9 16367 (示例)
配置防火墙许可9200端口
vim /etc/sysconfig/iptables
加入
-A INPUT -m state –state NEW -m tcp -p tcp –dport 9200 -j ACCEPT
保存,重启防火墙服务,
访问http://192.168.1.16:9200/ 服务接口。
附示例图: