一、ElasticSearch6.6.0 的下载及安装
1、下载
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-6-0
2、安装
2.1 上传安装包
rz上传到/opt/apps
2.2 解压
tar -zxvf elasticsearch-6.6.0.tar.gz
2.3 对 ES 重命名
mv elasticsearch-6.6.0 es-6.6.0
2.4 修改 ES 配置文件
修改 yml 配置的注意事项:
(1)每行必须顶格,不能有空格
(2)“: ”后面必须有一个空格
[root@centos01 config]# vim elasticsearch.yml
修改集群名称
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: my-es
单个节点名称
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
把 bootstrap 自检程序关掉
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
网络部分 改为当前的 ip 地址 ,端口号保持默认 9200 就行
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: centos01
#
# Set a custom port for HTTP:
#
#http.port: 9200
自发现配置:新节点向集群报到的主机名
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when new node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.zen.ping.unicast.hosts: ["centos01", "centos02","centos03"]
2.5 启动优化
ES 是用在 Java 虚拟机中运行的,虚拟机默认启动占用 1G 内存。但是如果是装在 PC机学习用,实际用不了 1 个 G。所以可以改小一点内存;但生产环境一般 128G 内存是标配,这个时候需要将这个内存调大。
vim jvm.options
-Xms512m
-Xmx512m
2.6 分发 ES
[root@centos01 apps]# scp -r ./es-6.6.0/ centos02:$PWD
[root@centos01 apps]# scp -r ./es-6.6.0/ centos03:$PWD
2.7 修改节点名以及网络地址
[root@centos02 config]# vim elasticsearch.yml
node.name: node-2
network.host: centos02
[root@centos03 config]# vim elasticsearch.yml
node.name: node-3
network.host: centos03
2.8 单台启动测试,以及 Linux 解决常见问题
这时直接在 centos01上单独启动 ES,会报如下异常:
[root@centos01 apps]# ./es-6.6.0/bin/elasticsearch
(1)can not run elasticsearch as root
解决:
1.创建es用户组及es用户:
groupadd es
useradd es -g es
passwd es
2.更改es文件夹及内部文件的所属用户及组为es:es(在elasticsearch根目录执行此命令)
[root@centos01 apps]# chown -R es:es ./es-6.6.0
3.切换到es用户再启动
su es
(2)
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
原因
系统允许 Elasticsearch 打开的最大文件数需要修改成 65536
解决
切换到root用户
vim /etc/security/limits.conf
添加内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 65536
注意: “*” 不要省略掉
分发文件
scp /etc/security/limits.conf centos02:/etc/security/
scp /etc/security/limits.conf centos03:/etc/security/
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因
一个进程可以拥有的虚拟内存区域的数量。
解决
vim /etc/sysctl.conf
在文件最后添加一行
vm.max_map_count=262144
即可永久修改
分发文件
scp /etc/sysctl.conf centos02:/etc/
scp /etc/sysctl.conf centos03:/etc/
重启 linux 使配置生效
reboot
再次单独启动 centos01 上的 ES
[es@centos01 root]$ /opt/apps/es-6.6.0/bin/elasticsearch
测试
测试方式 1: curl http://centos01:9200/_cat/nodes?v
[root@centos02 ~]# curl http://centos01:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.42.101 25 46 10 0.46 0.29 0.11 mdi * node-1
测试方式 2:在浏览器中,输入 http://centos01:9200/查看效果
ES 天然就是集群状态,就算是只有一个节点,也会当做集群处理, 默认节点 name=主机名, cluster_name=my_es
2.9 集群启动脚本
#!/bin/bash
es_home=/opt/apps/es-6.6.0/
case $1 in
"start") {
for i in centos01 centos02 centos03
do
echo "==============$i 上 ES 启动=============="
ssh es@$i "source /etc/profile; ${es_home}/bin/elasticsearch >/dev/null 2>&1 &"
done
};;
"stop") {
for i in centos01 centos02 centos03
do
echo "==============$i 上 ES 停止=============="
ssh es@$i "ps -ef|grep $es_home |grep -v grep|awk '{print \$2}'|xargs kill" >/dev/null 2>&1
done
};;
esac
测试:
[es@centos01 ~]$ curl http://centos01:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.42.101 41 51 2 1.26 0.46 0.25 mdi * node-1
192.168.42.103 39 84 1 0.59 0.26 0.16 mdi - node-3
192.168.42.102 39 50 1 0.96 0.45 0.28 mdi - node-2
2.11 如果启动未成功
如果启动未成功,请去查看相关日志
vim /opt/apps/es-6.6.0/logs/my-es.log
es之间设置免密登录
ssh-keygen -t rsa
ssh-copy-id es@192.168.42.101
二、Kibana 的安装
Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来 。
3.1 上传安装包
/opt/apps
3.2 将 Kibana 解压到/opt/apps目录下
[root@centos01 apps]# tar -zxvf kibana-6.6.0-linux-x86_64.tar.gz
3.3 对 Kibana 重命名
mv kibana-6.6.0-linux-x86_64/ kibana-6.6.0
3.4 修改 Kibana 配置文件
[root@centos01 config]# vim kibana.yml
授权远程访问
server.host: "0.0.0.0"
指定 ElasticSearch 地址(可以指定多个,多个地之间用逗号分隔)
elasticsearch.hosts: ["http://centos01:9200","http://centos02:9200","http://centos03:9200"]
3.5 启动、 测试
Kibana 本身只是一个工具,不需要分发,不涉及集群,访问并发量也不会很大 。
启动 Kinana
[root@centos01 kibana-6.6.0]# ./bin/kibana
编写脚本:
#!/bin/bash
kibana_home=/opt/apps/kibana-6.6.0
case $1 in
"start") {
nohup ${kibana_home}/bin/kibana >${kibana_home}/logs/kibana.log 2>&1 &
};;
"stop") {
ps -ef|grep ${kibana_home} |grep -v grep|awk '{print $2}'|xargs kill
};;
esac
ps -ef|grep node
浏览器访问 http://centos01:5601/
(
)]