centos7.2 Elasticsearch 搭建

关于Elasticsearch的资料有很多,但我搭建还是走了很多弯路,先记录下来以备遗忘,希望对你也能起到帮助

Elasticsearch安装
1.安装java8
注意安装的是jdk

1
2
3
4
5
6
7
8
9
10
11
12
下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/java 解压到指定文件夹
vi /etc/profile 添加环境变量
JAVA_HOME=/usr/local/java/jdk1.8.0_161
JRE_HOME=/usr/local/java/jdk1.8.0_161/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHu
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile 启用设置
java -version 测试是否成功,出现以下字符则成功
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

2.Elasticsearch-rtf

1
2
3
4
5
6
7
8
9
10
11
Elasticsearch-rtf是Elasticsearch的中文发行版,预装了很多插件,GitHub地址:https://github.com/medcl/elasticsearch-rtf
git clone git://github.com/medcl/elasticsearch-rtf.git -b master --depth 1 到本地,建议放到home文件夹
运行./bin/elasticsearch 但这样肯定会报错,因安全因素,不能在root用户下运行,强行运行会报如下错误:
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
解决办法:
groupadd elkgroup
useradd elsearch -g elkgroup -p elasticsearch
sudo chown -R elsearch elasticsearch-rtf-master/
sudo chgrp -R elkgroup elasticsearch-rtf-master/
su elsearch
./bin/elasticsearch

注:我有碰到了很多错误,会单独开一篇文章,如果很顺利,那你可以买彩票了
外网访问
Set the bind address to a specific IP (IPv4 or IPv6):

network.host: 0.0.0.0

Set a custom port for HTTP:

http.port: 9200
如果出现以下内容则成功

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name" : "3eHm6Ai",
"cluster_name" : "SUN-ES",
"cluster_uuid" : "ZDF8mzxWT96Vv6p_q7tQaQ",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}

外网访问:
修改配置文件,elasticaseach/config/elasticsearch.yml
network.host: 0.0.0.0

Set a custom port for HTTP:

http.port: 9200
elasticsearch-head安装:
1.1安装node.js
yum install -y nodejs
1.2.安装cnpm,npm在挂国内很慢
npm install -g cnpm –registry=https://registry.npm.taobao.org
1.3.安装grunt
cnpm install -g grunt
cnpm install -g grunt-cli
1.4.下载head源码
git clone git://github.com/mobz/elasticsearch-head.git
1.5.安装启动head源码
cnpm install
cnpm run start
配置
2.1 停止ES
如果ElasticSearch已经启动,需要先停止

1
2
3
4
5
[[email protected] ~]# jps
3282 Elasticsearch
7380 Jps

kill 3261

2.2 配置 ElasticSearch,使得HTTP对外提供服务

1
vi config/elasticsearch.yml

添加如下内容:
增加新的参数,这样head插件可以访问es。设置参数的时候:

1
2
http.cors.enabled: true
http.cors.allow-origin: "*"

注意:后面要有空格
2.3 修改Head plugin 配置文件

elasticsearch-head-master]$ vi Gruntfile.js
找到connect:server,添加hostname一项,如下

1
2
3
4
5
6
7
8
9
10
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}

kibana安装:
1.Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。
官方地址:https://www.elastic.co/cn/products/kibana
2.Kibana下载
Kibana官方下载地址:https://www.elastic.co/cn/downloads/kibana

根据ElasticSearch版本及安装环境下载相应的Kibana安装包,Elasticsearch-rtf 目前版本为5.1.1。

示例:kibana-5.1.1-linux-x86_64.tar.gz
3.kibana安装
将安装包上次到服务器,然后解压安装包,例如解压到:/home/kibana

tar –zxvf kibana-5.5.2-linux-x86_64.tar.gz–C /home/kibana
然后到kibana安装目录的config下,编辑kibana.yml配置文件,添加如下配置:
server.host: “0.0.0.0” 配置本机ip或远程访问
elasticsearch.url: “http://172.17.191.131:9200" 配置es集群url
4.Kibana 启动
切换到kibana安装目录的bin目录下,执行kibana文件

1
2
3
cd /home/kibana-5.1.1-linux-x86_64/bin

./kibana &

主要使用&命令启动后,退出当前窗口时需要使用exit退出

成功启动后,可以访问:http://172.17.191.131:5061 来访问kibana,ip为kibana安装节点ip,端口默认为5061, 来访问kibana,ip为kibana安装节点ip,端口默认为5061,可以在config/kibana中配置