Centos7.4 安装elasticsearch6.1.3集群部署


安装elasticsearch


1.依赖环境安装

这里使用的java 是1.8.0_77的版本.使用的是rpm 安装包的形式进行部署安装 。

配置环境变量


[root@node1 ~]# cat .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_77/ # JAVA_HOME变两个路径
export JAVA_BIN=/usr/java/jdk1.8.0_77/bin
export PATH=${JAVA_HOME}bin:$PATH

检测java环境安装是否正常


[root@node1 ~]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03,mixed mode)

2.elasticsearch使用的是6.1.3版本。elasticsearch-6.1.3.tar.gz


[root@node1 local]# tar -zxvf elasticsearch-6.1.3.tar.gz
[root@node1 local]# ls
bin elasticsearch-6.1.3 elasticsearch-6.1.3.tar.gz etc games include lib lib64 libexec sbin share src

修改配置文件


node1
[root@node1 local]# cd node1/config/
[root@node1 config]# cat elasticsearch.yml | grep -v "^#"
cluster.name: elasticsearch #集群的名称
node.name: node1 #节点的名称
bootstrap.memory_lock: false #另一种选择是在Linux / Unix系统上使用mlockall或在Windows上使用 VirtualLock,以尝试将进程地址空间锁定到RAM中,防止任何Elasticsearch 内存被换出。
bootstrap.system_call_filter: false #为禁用系统调用过滤器false
network.host: 133.1.11.39 #绑定到回送地址

http.port: 9200 #设置对外服务的http端口,默认为9200
discovery.zen.ping.unicast.hosts: ["133.1.11.39","133.1.11.39:9202","133.1.11.39:9203"]
discovery.zen.minimum_master_nodes: 2


node2
cluster.name: elasticsearch
node.name: node2
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 133.1.11.39

http.port: 9202
discovery.zen.ping.unicast.hosts: ["133.1.11.39","133.1.11.39:9203"]
discovery.zen.minimum_master_nodes: 2

node3
cluster.name: elasticsearch
node.name: node3
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 133.1.11.39

http.port: 9203
discovery.zen.ping.unicast.hosts: ["133.1.11.39","133.1.11.39:9203"]
discovery.zen.minimum_master_nodes: 2


[root@node1 config]# vim jvm.options 
-xms512m
-Xmx512m

3.需要修改的配置参数

vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

vim /etc/security/limits.d/90-nproc.conf
* soft nproc 2048

vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p

4.启动elasticsearch 不能使用root 用户需要进行创建用户

[root@node1 ~]# groupadd es
[root@node1 ~]# useradd es -g es -p es
[root@node1 ~]# chown -R es:es /usr/local/node1


启动elasticsearch


[root@node1 bin]# ./elasticsearch -d

5.进行访问测试


[root@node1 bin]# curl http://133.1.11.39:9200
{
"name" : "node1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "dJo2cKFfSO-M-qwMF9upjg",
"version" : {
"number" : "6.1.3",
"build_hash" : "af51318",
"build_date" : "2018-01-26T18:22:55.523Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You KNow,for Search"
}


安装head 插件

1.安装NodeJS


[root@node1 ~]# wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
[root@node1 ~]#tar -zxvf node-v4.5.0-linux-x64.tar.gz -C /usr/local

配置环境变量
export NODE_HOME=/usr/local/node-v4.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules
[root@node1 ~]#source /etc/profile

2.安装npm


[root@node1 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org

3.使用npm安装grunt


/usr/local/node-v4.5.0-linux-x64/bin/grunt -> /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt/bin/grunt
grunt@1.0.2 /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt
├── path-is-absolute@1.0.1
├── eventemitter2@0.4.14
├── grunt-kNown-options@1.1.0
├── rimraf@2.2.8
├── exit@0.1.2
├── iconv-lite@0.4.19
├── coffeescript@1.10.0
├── nopt@3.0.6 (abbrev@1.1.1)
├── glob@7.0.6 (inherits@2.0.3,fs.realpath@1.0.0,once@1.4.0,inflight@1.0.6)
├── findup-sync@0.3.0 (glob@5.0.15)
├── minimatch@3.0.4 (brace-expansion@1.1.11)
├── grunt-cli@1.2.0 (resolve@1.1.7)
├── js-yaml@3.5.5 (esprima@2.7.3,argparse@1.0.10)
├── grunt-legacy-util@1.0.0 (getobject@0.1.0,async@1.5.2,hooker@0.2.3,underscore.string@3.2.3,which@1.2.14,lodash@4.3.0)
├── grunt-legacy-log@1.0.1 (hooker@0.2.3,colors@1.1.2,underscore.string@3.3.4,grunt-legacy-log-utils@1.0.0,lodash@4.17.5)
└── dateformat@1.0.12 (get-stdin@4.0.1,meow@3.7.0)

[root@node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy
/usr/local/node-v4.5.0-linux-x64/bin/grunt -> /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt-cli/bin/grunt
grunt-cli@1.2.0 /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt-cli
├── grunt-kNown-options@1.1.0
├── nopt@3.0.6 (abbrev@1.1.1)
├── resolve@1.1.7
└── findup-sync@0.3.0 (glob@5.0.15

4.版本确认


[root@node1 ~]# node -v
v4.5.0
[root@node1 ~]# npm -v
2.15.9
[root@node1 ~]# grunt -version
grunt-cli v1.2.0

5.下载head插件源码


[root@node1 ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@node1 ~]# unzip master.zip -d /usr/local/

6.下载依赖

[root@node1 elasticsearch-head-master]# npm install -g grunt-cli 
/usr/local/node-v4.5.0-linux-x64/bin/grunt -> /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt-cli/bin/grunt
grunt-cli@1.2.0 /usr/local/node-v4.5.0-linux-x64/lib/node_modules/grunt-cli
├── grunt-kNown-options@1.1.0
├── resolve@1.1.7
├── nopt@3.0.6 (abbrev@1.1.1)
└── findup-sync@0.3.0 (glob@5.0.15)


[root@node1 elasticsearch-head-master]# grunt -version
grunt-cli v1.2.0
[root@node1 elasticsearch-head-master]# npm install

二. 配置ElasticSearch

停止ElasticSearch


[root@node1 local]# jps
28516 Jps
12072 Elasticsearch

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

node1 上面配置
[root@node1 ]# vim config/elasticsearch.yml
# 增加新的参数,这样head插件可以访问es。设置参数的时候:后面要有空格
http.cors.enabled: true
http.cors.allow-origin: "*"

2.修改head插件配置文件


[root@node1 elasticsearch-head-master]# vim Gruntfile.js
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}
修改修改连接地址:_site/app.js
[root@node1 elasticsearch-head-master]# vim _site/app.js
_node_handler: function(data) {
if(data) {
// this.prefs.set("app-base_uri",this.cluster.base_uri);
this.prefs.set("app-base_uri" )|| "http://133.1.11.39:9200";
if(data.version && data.version.number)
this.cluster.setVersion(data.version.number);

3.启动elasticsearch,head


[root@node1 bin]# ./elasticsearch -d #分别启动3个节点
[root@node1 elasticsearch-head-master]# nohup grunt server &

4.注意坑


如果出现集群无法链接
请注意删除node1 下面/usr/local/node1/data 下面的目录,不然造成数据不统一 不能呢链接head 插件

Centos7.4 安装elasticsearch6.1.3集群部署的更多相关文章

  1. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. ios – 使用带有NodeJs HTTPS的certificates.cer

    我为IOS推送通知生成了一个.cer文件,我希望将它与NodeJSHTTPS模块一起使用.我发现HTTPS模块的唯一例子是使用.pem和.sfx文件,而不是.cer:有解决方案吗解决方法.cer文件可以使用两种不同的格式进行编码:PEM和DER.如果您的文件使用PEM格式编码,您可以像使用任何其他.pem文件一样使用它(有关详细信息,请参见Node.jsdocumentation):如果您的文件使

  3. 如何在XCode IDE中构建NodeJS?

    如何在XCodeIDE中将NodeJS构建为项目?NodeJS构建指令说它应该用以下内容构建:但是我希望在XCodeIDE中构建.我真正想要做的是在我的应用程序中嵌入NodeJS,所以我想如果我可以在XCode中构建NodeJS,那么我可以调整它以在我建立和运行NodeJS后添加我的应用程序.我想通过让V8在XCode中编译来取得一些进展,现在我正在尝试将NodeJS添加到V8项目中.解决方法在节点存储库根目录中运行./configure–xcode,您将获得所需的node.xcodeproj文件.

  4. 深入云存储系统Swift核心组件:Ring实现原理剖析

    它的目的是用于托管Rackspace的CloudFilesservice,原始项目代号是swift,所以沿用至今。Ring是Swift中最重要的组件,用于记录存储对象与物理位置间映射关系。先来看一下Swift文档中关于Ring的描述:Ring用来确定数据驻留在集群中的位置。有单独对应于Account数据库、container数据库和单个object的ring。Ring使用zone的概念来保证数据的隔离。每个partition的replica都确保放在了不同的zone中。本文逐步深入探讨了Swift如何通过

  5. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  6. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

  7. Project Perfect让Swift在服务器端跑起来-Hi Linux(二)

    开篇写了一个简单的入门,今天想说说怎么让Perfect项目在Linux上运行。Swift开源后,苹果让Swift不仅在OSX/iOS上跑,更让Swift在Linux/Windows上跑。作为服务端的Perfect框架+RemObjectSilver,让Swift成为了一个全栈语言。Perfect由于是服务端的,让Perfect在Linux上跑是必然的事情。从第一篇文章中我们可以了解到Perfect由PerfectLib和PerfectServer组成。

  8. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.Swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。

  9. Swift开发:创建XML文件,包含节点,属性值

    .append;//3创建第二个节点数据letitem2:Item=Item;for{letnode=Node;node.id=i+1;node.attributes=["ID":"\","Name":"N-\","disp":"1","Appliance":"1","Icon":"ic_switch_4"]item2.addNode;}xml.items?

  10. 泛型 – 符合Swift中Comparable的泛型类

    我正在尝试创建一个符合Comparable协议的简单通用节点类,以便我可以轻松地比较节点而无需访问其密钥.当我试图写

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部