ES及Kibana的安装
0、前言
- elasticsearch-6.0.0.tar.gz:ElasticSearch安装包
- es-head编译包:ES的一个工具软件,可以通过web来访问ES中的数据和集群的信息做监控和数据观察
- node-v8.1.0-linux-x64.tar.gz:es-head需要依赖于node js
- kibana-6.0.0-linux-x86_64.tar.gz:可视化工具,提供ES的开发工具,用于执行ES的命令
- 【注意修改一定要仔细】:主机名以及文件路径
1、环境准备
- 先用root用户在三台机器创建ES的用户
useradd es
passwd es
- 三台机器创建ES的目录
/export/servers/es es的安装目录
/export/data/es 存储es的数据
/export/logs/es 存储es的日志
mkdir -p /export/servers/es
mkdir -p /export/data/es
mkdir -p /export/logs/es
chown -R es /export/servers/es
chown -R es /export/data/es
chown -R es /export/logs/es
- 三台机器配置es用户的sudo权限
visudo
92左右添加:
es ALL=(ALL) NOPASSWD: ALL
-
三台机器使用es用户连接登录
-
配置三台机器es用户的ssh免秘钥登录【每台机器都要执行】
ssh-keygen -t rsa
ssh-copy-id node-01
ssh-copy-id node-02
ssh-copy-id node-03
- 配置三台机器的文件与进程的最大句柄数、虚拟内存大小【文件一定不能修改错误,容易导致Linux故障,如果不确定是否修改错误,就不保存退出,重新修改】
sudo vi /etc/security/limits.conf
#在文件的末尾添加以下内容,*号不能去掉
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
sudo vi /etc/security/limits.d/90-nproc.conf
#找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096
#临时设置
sudo sysctl -w vm.max_map_count=262144
#永久设置
sudo vim /etc/sysctl.conf
#添加这一行
vm.max_map_count=262144
#检查是否成功
sudo sysctl -a | grep "vm.max_map_count"
- 配置完成全部断开重连
2、安装ES
- 上传安装包到第一台机器的家目录下
ll /home/es/elasticsearch-6.0.0.tar.gz
- 解压到安装目录下
tar -zxvf elasticsearch-6.0.0.tar.gz -C /export/servers/es/
- 修改配置文件config/elasticsearch.yml
- 注意:如果nodepad修改,需要使用es用户连接
- 注意:如果nodepad修改,需要使用es用户连接
cd /export/servers/es/elasticsearch-6.0.0/
cd config/
#清空配置文件elasticsearch.yml
#添加如下内容:注意:一定要修改自己的主机名和IP地址
#集群名字
cluster.name: myes
#集群中当前的节点
node.name: node-01
#数据目录
path.data: /export/data/es
#日志目录
path.logs: /export/logs/es
#当前主机的ip地址及ES服务端口
network.host: 192.168.134.111
http.port: 9200
#集群上的节点信息
discovery.zen.ping.unicast.hosts: ["node-01","node-02","node-03"]
#linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
#是否支持跨域
http.cors.enabled: true
#*表示支持所有域名
http.cors.allow-origin: "*"
- 修改配置文件config/jvm.options
#根据自己虚拟机的实际大小调节启动和运行内存,如果虚拟机分配了2G,可以使用默认1G,如果分配了1G内存,这里可以该成512M
-Xms1536m
-Xmx1536m
- 分发给第二台和第三台机器
cd /export/servers/es/
scp -r elasticsearch-6.0.0 node-02:$PWD
scp -r elasticsearch-6.0.0 node-03:$PWD
- 修改第二台机器的配置
cd /export/servers/es/elasticsearch-6.0.0/config/
vim elasticsearch.yml
#修改如下内容
node.name: node-02
network.host: 192.168.134.112
- 修改第三台机器的配置
cd /export/servers/es/elasticsearch-6.0.0/config/
vim elasticsearch.yml
#修改如下内容
node.name: node-03
network.host: 192.168.134.113
- 启动三台机器的ES
cd /export/servers/es/elasticsearch-6.0.0
/export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >>/dev/null 2>&1 &
- 访问端口:9200
- 第一次启动,非常的慢,请耐心等待
- 启动成功:
- 网页端口:
- 关闭ES
- 直接kill或者 ctrl+c
3、安装elasticsearch-head
- 与Kibana类似,是ES的可视化交互工具,基于Node JS实现的
- 第一台机器安装Node JS
- 下载解压
cd /home/es
tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/
- 创建软连接:将nodejs的命令放入环境变量,方便es-head调用
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
- 配置环境变量
sudo vim /etc/profile
#NODE_HOME
export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin
source /etc/profile
- 验证是否成功
node -v
npm -v
- 第一台机器安装es-head
- 编译解压
cd /home/es/
tar -xvf compile-head.tar -C /export/servers/es/
- 修改配置Gruntfile.js
cd /export/servers/es/elasticsearch-head
vim Gruntfile.js
#93行左右修改IP地址,指定es-head的服务启动地址
hostname: '192.168.134.111',
- 修改配置app.js
cd /export/servers/es/elasticsearch-head/_site
vim app.js
#4354行修改IP地址,改成你的es的服务端地址,随便选择 一台机器
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.134.111:9200";
- 重启ES服务:直接kill
cd /export/servers/es/elasticsearch-6.0.0
/export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >>/dev/null 2>&1 &
- 访问端口:9200
- 启动es-head
cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/
- 进程前台启动命令
./grunt server
- 后台启动
./grunt server >/dev/null 2>&1 &
- 测试访问
http://node-01:9100
4、安装Kibana
- 下载解压
cd ~
tar -zxvf kibana-6.0.0-linux-x86_64.tar.gz -C /export/servers/es/
- 修改配置:让Kibana能连接到ES
cd /export/servers/es/kibana-6.0.0-linux-x86_64/
vim config/kibana.yml
#修改第7行指定Kibana服务的地址
server.host: "node-01"
#修改第21行指定es的地址
elasticsearch.url: "http://node-01:9200"
- 启动Kibana
cd /export/servers/es/kibana-6.0.0-linux-x86_64
bin/kibana >>/dev/null 2>&1 &
- 测试访问
#查看进程
ps -ef | grep node
#页面访问
node-01:5601