centos上的elasticsearch-rtf5.1.1+elasticsearch-head+kibana5.1单机以及集群的搭建详解

环境:

1.centos的版本,使用 lsb_release -a 命令查看centos的版本

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 7.4.1708 (Core) 
Release:    7.4.1708
Codename:    Core


2.elasticsearch-rtf 5.1

3.jdk1.8(elasticsearch-rtf 5.1或者之上必须是jdk1.8版本)

4.elasticsearch-head

5.kibana,要求一定要与elasticsearch-rtf 5.1版本一致

以下是安装过程:

1.先安装jdk1.8

建议先执行 java -version命令,查看linux上是否已经安装了jdk,如果已安装而且是1.8版本,则不用在安装。否则,先卸载已有的jdk,然后下载一个linux版本的jdk然后解压到某一个目录下,配置环境变量

vim /etc/profile,在其末尾添加以下三行

                    JAVA_HOME=/software/jdk1.8
                    CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

                    PATH=$JAVA_HOME/bin:$CLASSPATH:$PATH

执行执行 source /etc/profile

执行 java -version 查看jdk的版本是否正确

 

2.安装elasticsearch-rtf

     git clone git://github.com/medcl/elasticsearch-rtf.git -b master –depth 1 

     不要着急运行先进性如下配置:

         1).修改elasticsearch-rtf 下面的jvm选项   vim config/jvm.options,将-Xms 2g -Xmx2g改为Xms 512m -Xmx512m

         2).vim config/elasticsearch.yml,添加

                              network.host: 192.18.79.130(ip为内网的ip)

                              http.port: 9200

                由于elasticsearch-rtf之前集成了elasticsearch-head,但是现哎5.1版本将Head剥离出来,然后elasticsearch-rtf不容许第三方插件的连接所以需要在elasticsearch.yml,添加如下配置:

                     http.cors.enabled: true
                     http.cors.allow-origin: "*"
                    http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
                    http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

上面就是elasticsearch.yml,要配置的所有内容

外网验证>>>>参考https://blog.csdn.net/LD_Murcielago/article/details/80572289

在root账户下 vim /etc/security/limits.conf 

翻到最后 
修改内容:soft nofile 65536 
                   hard nofile 65536 

切到root用户 
vim /etc/sysctl.conf 
在其最后一行加上:vm.max_map_count=262144

然后执行sysctl -p 
再执行sysctl -a|grep vm.max_map_count  查看配置是否正确

注意在运行

./elasticsearch 启动elasticsearch服务时一定是普通用户

 

启动服务后,开始配置隧道。

由于阿里云上的主机有内网和外网,xshell连接器主机使用的外网地址,在本地的浏览器想要访问内网ip下开启的服务,

此时就要配置隧道,点击xshell链接阿里云的链接,右键--》属性--》隧道---》添加

具体如下:

源主机:localhost

侦听的端口:9200(这个随意,因为是远程映射到本地的端口,但不要与本机上已经使用的端口重复)

目标主机:192.18.79.130(内网的ip)

目标端口:9200(阿里云远程服务启动的端口)

添加完成后,一定要重启远程链接(即点击xshell上面远程链接主机的链接,即重新启动链接。或者另外重新启动一个链接)

此时在本地浏览器端输入

http://localhost:9200/

出现:

{
  "name" : "NQLssLm",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yeLKi2vYRmKHgKcJix1ugw",
  "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"
}

则成功

 

3.安装elasticsearch-head

先安装nodejs

cd /usr/local/ 
wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-linux-x64.tar.xz 

xz -d node-v8.9.3-linux-x64.tar.xz

tar -xvf node-v8.9.3-linux-x64.tar

mv node-v8.9.3-linux-x64 node

修改 vim /etc/profile

JAVA_HOME=/software/jdk1.8
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

NODE_HOME=/usr/local/node 

PATH=$JAVA_HOME/bin:$NODE_HOME/bin:$CLASSPATH:$PATH

输入 node -v  或者 npm -v验证是否成功

由于之后使用npm安装elasticsearch-head出现了问题,建议安装cnpm,只需再执行下面一条语句即可

 npm install -g cnpm --registry=https://registry.npm.taobao.or

输入 cnpm -v进行验证

之后下载elasticsearch-head

git clone git://github.com/mobz/elasticsearch-head.git 

切到elasticsearch-head目录下 

cnpm install

cnpm run start

出现:

(node:4936) ExperimentalWarning: The http2 module is an experimental API.
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
同样要配置隧道,只需将之前的9200换成 9100即可(同样配置完成后重现再打开一个远程链接,注意一下)

在本地打开浏览器输入http://localhost:9100查看是否链接成功(出现 集群健康值: green (0 of 0))

 

4.安装kibana

去kibana官网下载一个对应elasticsearch-rtf版本的linux版本

解压进行kibana目录

配置kibana.yml如下

server.port: 5601

server.host: "192.18.79.130"

elasticsearch.url: "http://192.18.79.130:9200"

同样要配置隧道,只需将之前的9200换成 5601即可(同样配置完成后重现再打开一个远程链接,注意一下)

在本地的浏览输入

http://localhost:5601查看即可

 

之后关于elasticsearch集群的搭建:

cp ./elasticsearch-rtf    ./elasticsearch-rtf -slave1

cp ./elasticsearch-rtf    ./elasticsearch-rtf -slave2

elasticsearch-rtf下面yml的配置:

network.host: 192.18.79.130
node.name: venusMaster
cluster.name: elastciSearch
# Set a custom port for HTTP:
node.master: true
#node.max_local_storage_nodes:3
http.port: 9200 

 

elasticsearch-rtf -slave1的yml文件配置如下:

cluster.name: elastciSearch
network.host: 192.18.79.130
http.port: 9201
node.name: venusSlave1
discovery.zen.ping.unicast.hosts: ["192.18.79.130"]

elasticsearch-rtf -slave2的yml文件配置如下

cluster.name: elastciSearch
network.host: 192.18.79.130
http.port: 9202
node.name: venusSlave2
discovery.zen.ping.unicast.hosts: ["192.18.79.130"]

 

由于elasticsearch-rtf -slave2以及elasticsearch-rtf -slave1是由elasticsearch-rtf 直接拷贝而来,所以当你直接开启elasticsearch-rtf -slave2或者elasticsearch-rtf -slave1会出现id异常,此时直接将elasticsearch-rtf -slave2和elasticsearch-rtf -slave1下的data文件夹直接删除即可

在本地浏览器输入http://localhost:9100查看集群的状态

此时整个集群搭建完毕

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值