5、es的集群部署第一步:创建普通用户 注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等 创建一个es专门的用户(必须) #使用root用户在三台机器执行以下命令 useradd es
mkdir -p /export/servers/es
chown -R es /export/servers/es
passwd es 第二步:为普通用户es添加sudo权限为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作 三台机器使用root用户执行visudo命令然后为es用户添加权限 visudo es ALL=(ALL) ALL 第三步:下载并上传压缩包,然后解压将es的安装包下载并上传到node01服务器的/home/es路径下,然后进行解压 使用es用户来执行以下操作(断开连接linux的工具,然后重新使用es用户连接上三台linux服务器) node01服务器使用es用户执行以下命令 cd /home/es/ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz tar -zxf elasticsearch-6.7.0.tar.gz -C /export/servers/es/ 第四步:修改配置文件修改elasticsearch.ymlnode01服务器使用es用户来修改配置文件 cd /export/servers/es/elasticsearch-6.7.0/config mkdir -p /export/servers/es/elasticsearch-6.7.0/logs mkdir -p /export/servers/es/elasticsearch-6.7.0/datas rm -rf elasticsearch.yml vim elasticsearch.yml cluster.name: myes node.name: node01 path.data: /export/servers/es/elasticsearch-6.7.0/datas path.logs: /export/servers/es/elasticsearch-6.7.0/logs network.host: 192.168.52.100 http.port: 9200 discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"] bootstrap.system_call_filter: false bootstrap.memory_lock: false http.cors.enabled: true http.cors.allow-origin: "*" 修改jvm.option修改jvm.option配置文件,调整jvm堆内存大小 node01使用es用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整 cd /export/servers/es/elasticsearch-6.7.0/config vim jvm.options -Xms2g -Xmx2g 第五步:将安装包分发到其他服务器上面node01使用es用户将安装包分发到其他服务器上面去 cd /export/servers/es/ scp -r elasticsearch-6.7.0/ node02:$PWD scp -r elasticsearch-6.7.0/ node03:$PWD 第六步:node02与node03修改es配置文件node02与node03也需要修改es配置文件 node02使用es用户执行以下命令修改es配置文件 cd /export/servers/es/elasticsearch-6.7.0/config vim elasticsearch.yml cluster.name: myes node.name: node02 path.data: /export/servers/es/elasticsearch-6.7.0/datas path.logs: /export/servers/es/elasticsearch-6.7.0/logs network.host: 192.168.52.110 http.port: 9200 discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"] bootstrap.system_call_filter: false bootstrap.memory_lock: false http.cors.enabled: true http.cors.allow-origin: "*" node03使用es用户执行以下命令修改配置文件 cd /export/servers/es/elasticsearch-6.0.0/config/ vim elasticsearch.yml cluster.name: myes node.name: node03 path.data: /export/servers/es/elasticsearch-6.7.0/datas path.logs: /export/servers/es/elasticsearch-6.7.0/logs network.host: 192.168.52.120 http.port: 9200 discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"] bootstrap.system_call_filter: false bootstrap.memory_lock: false http.cors.enabled: true http.cors.allow-origin: "*" 第七步:修改系统配置,解决启动时候的问题由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚 解决启动问题一:普通用户打开文件的最大数限制问题错误信息描述: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错 三台机器使用es用户执行以下命令解除打开文件数据的限制 sudo vi /etc/security/limits.conf 添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096 解决启动问题二:普通用户启动线程数限制问题错误信息描述 max number of threads [1024] for user [es] likely too low, increase to at least [4096] 修改普通用户可以创建的最大线程数 max number of threads [1024] for user [es] likely too low, increase to at least [4096]
原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:修改90-nproc.conf 配置文件。 三台机器使用es用户执行以下命令修改配置文件 sudo vi /etc/security/limits.d/90-nproc.conf 找到如下内容: * soft nproc 1024
#修改为 * soft nproc 4096 解决启动问题三:普通用户调大虚拟内存错误信息描述: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 调大系统的虚拟内存 原因:最大虚拟内存太小 每次启动机器都手动执行下。 三台机器执行以下命令,注意每次启动ES之前都要执行 sudo sysctl -w vm.max_map_count=262144 备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
需要保存、退出、重新登录xshell才可生效。 第八步:启动ES服务 三台机器使用es用户执行以下命令启动es服务 nohup /export/servers/es/elasticsearch-6.7.0/bin/elasticsearch 2>&1 & 启动成功之后jsp即可看到es的服务进程,并且访问页面 http://node01:9200/?pretty 能够看到es启动之后的一些信息 注意:如果哪一台机器服务启动失败,那么就到哪一台机器的 /export/servers/es/elasticsearch-6.7.0/logs 这个路径下面去查看错误日志 6、node01服务器安装elasticsearch-head插件由于es服务启动之后,访问界面比较丑陋,为了更好的查看索引库当中的信息,我们可以通过安装elasticsearch-head这个插件来实现,这个插件可以更方便快捷的看到es的管理界面 1 、node01机器安装nodejsNode.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 安装步骤参考:https://www.cnblogs.com/kevingrace/p/8990169.html 第一步:下载安装包node01机器执行以下命令下载安装包,然后进行解压 cd /home/es
wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/ 第二步:创建软连接node01执行以下命令创建软连接 sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node 第三步:修改环境变量node01服务器添加环境变量 sudo vim /etc/profile export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64 export PATH=:$PATH:$NODE_HOME/bin 修改完环境变量使用source生效 source /etc/profile 第四步:验证安装成功node01执行以下命令验证安装生效 node -v npm -v
2 、node01机器安装elasticsearch-head插件elasticsearch-head这个插件是es提供的一个用于图形化界面查看的一个插件工具,可以安装上这个插件之后,通过这个插件来实现我们通过浏览器查看es当中的数据 安装elasticsearch-head这个插件这里提供两种方式进行安装,第一种方式就是自己下载源码包进行编译,耗时比较长,网络较差的情况下,基本上不可能安装成功 第二种方式就是直接使用我已经编译好的安装包,进行修改配置即可 1、第一种方式:在线安装elasticsearch-head插件(网速慢,不推荐)这里选择node01进行安装 第一步:在线安装必须依赖包# 初始化目录
cd /export/servers/es
# 安装GCC
sudo yum install -y gcc-c++ make git 第二步:从git上面克隆编译包并进行安装cd /export/servers/es
git clone https://github.com/mobz/elasticsearch-head.git
# 进入安装目录
cd /export/servers/es/elasticsearch-head
# intall 才会有 node-modules
npm install
以下进度信息 npm WARN notice [SECURITY] lodash has the following vulnerability: 1 low. Go here for more details: npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=0.7.4 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info. npm ERR! Unexpected end of input at 1:2096 npm ERR! 7c1a1bc21c976bb49f3ea","tarball":"https://registry.npmjs.org/safer-bu npm ERR! ^ npm ERR! A complete log of this run can be found in: npm ERR! /home/es/.npm/_logs/2018-11-27T14_35_39_453Z-debug.log 以上错误可以不用管。 第三步、node01机器修改Gruntfile.js第一台机器修改Gruntfile.js这个文件 cd /export/servers/es/elasticsearch-head vim Gruntfile.js 找到以下代码: 添加一行: hostname: '192.168.52.100', connect: {
server: {
options: {
hostname: '192.168.52.100',
port: 9100,
base: '.',
keepalive: travelue
}
}
} 第四步、node01机器修改app.js 第一台机器修改app.js cd /export/servers/es/elasticsearch-head/_site vim app.js
更改前:http://localhost:9200
更改后:http://node01:9200 2、第二种方式:直接使用提供的编译之后的源码包解压之后修改配置文件即可(强烈推荐)第一步:上传压缩包到/home/es路径下去将我们的压缩包 elasticsearch-head-compile-after.tar.gz 上传到node01机器的/home/es路径下面去 第二步:解压安装包node01执行以下命令解压安装包 cd /home/es/ tar -zxvf elasticsearch-head-compile-after.tar.gz -C /export/servers/es/ 第三步、node01机器修改Gruntfile.js修改Gruntfile.js这个文件 cd /export/servers/es/elasticsearch-head vim Gruntfile.js 找到以下代码: 添加一行: hostname: '192.168.100.100', connect: {
server: {
options: {
hostname: '192.168.100.100',
port: 9100,
base: '.',
keepalive: true
}
}
} 第四步、node01机器修改app.js第一台机器修改app.js cd /export/servers/es/elasticsearch-head/_site vim app.js
更改前:http://localhost:9200
更改后:http://node01:9200 3、node01机器启动head服务node01启动elasticsearch-head插件 cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/ 进程前台启动命令 ./grunt server 进程后台启动命令 nohup ./grunt server >/dev/null 2>&1 &
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://192.168.52.100:9100
如何停止:elasticsearch-head进程 执行以下命令找到elasticsearch-head的插件进程,然后使用kill -9 杀死进程即可 netstat -nltp | grep 9100 kill -9 8328
4、访问elasticsearch-head界面打开Google Chrome访问 http://192.168.100.100:9100/ 7、node01服务器安装Kibanakibana的基本介绍 Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。 你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。 你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。 Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。 接着使用我们的es用户在node01服务器上面来实现我们的kibana的安装部署 第一步:下载资源上传服务器并解压node01服务器使用es用户执行以下命令来下载安装包并解压 cd /home/es 在线下载 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz tar -zxf kibana-6.7.0-linux-x86_64.tar.gz -C /export/servers/es/ 第二步:修改配置文件node01服务器使用es用户执行以下命令来修改配置文件 cd /export/servers/es/kibana-6.7.0-linux-x86_64/config/
vi kibana.yml 配置内容如下: server.host: "node01"
elasticsearch.hosts: ["http://node01:9200"] 第三步:启动服务node01服务器使用es用户执行以下命令启动kibana服务 cd /export/servers/es/kibana-6.7.0-linux-x86_64
nohup bin/kibana >/dev/null 2>&1 & 如何停止kibana进程:停止kibana服务进程 查看进程号 ps -ef | grep node 然后使用kill -9杀死进程即可 第四步:浏览器访问浏览器地址访问kibana服务 http://node01:5601
|