1、安装es集群
用两台虚机测试:
192.168.73.141
192.168.73.142
(1)安装JDK1.8(略)
(2)关闭firewalld防火墙(略)
(3)下载并解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz
tar -zxvf elasticsearch-6.7.0.tar.gz
mv elasticsearch-6.7.0 /usr/local/elasticsearch-6.7.0
cd /usr/local/elasticsearch-6.7.0
(3)配置(我这里配置两台虚机:192.168.73.141,192.168.73.142)
[root@localhost elasticsearch-6.7.0]# vi ./config/elasticsearch.yml
#################################################
#集群名字
cluster.name: my-es
#节点名字
node.name: node-1
#配置为各自ip
network.host: 192.168.73.141
#集群节点ip都写上
discovery.zen.ping.unicast.hosts: ["192.168.73.141", "192.168.73.142"]
(4)jvm设置
-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
——正式环境要设置大一些
[root@localhost elasticsearch-6.7.0]# vi ./config/jvm.options
#############################
-Xms1g
-Xmx1g
(5)添加es启动用户,不能使用root用户
[root@localhost elasticsearch-6.7.0]# useradd esadmin
[root@localhost elasticsearch-6.7.0]# chown esadmin:esadmin -R /usr/local/elasticsearch-6.7.0/
(6)修改es内核参数
#修改esadmin用户文件打开数
[root@localhost elasticsearch-6.7.0]# vi /etc/security/limits.conf
##################################
esadmin hard nofile 65536
esadmin soft nofile 65536
##################################
vi /etc/sysctl.conf
#增加一行
vm.max_map_count = 262144 ##如果是linux7(centos7)以上版本这样设置不生效
##################################
(7)启动
##切换用户到esadmin
su esadmin
$ cd /usr/local/elasticsearch-6.7.0/bin
./elasticsearch #前台运行,查看是否正常启动
常见错误1:
Exception in thread “main” java.nio.file.AccessDeniedException:
错误原因:使用非 root用户启动ES,而该用户的文件权限不足而被拒绝执行。
解决方法: chown -R 用户名:用户组 文件(目录)名
chown esadmin:esadmin -R /usr/local/elasticsearch-6.7.0/
#看下这个目录的权限是否正确
[root@localhost elasticsearch-6.7.0]# ls -ld /usr/local/elasticsearch-6.7.0
drwxr-xr-x. 9 esadmin esadmin 155 6月 12 13:37 /usr/local/elasticsearch-6.7.0
常见错误2:
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
就是第6步中设置的sysctl.conf没有生效
[root@localhost bin]# cd /etc/sysctl.d
[root@localhost sysctl.d]# ls
99-sysctl.conf
[root@localhost sysctl.d]# cat 99-sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
vm.max_map_count = 262144
不能直接新建sysctl.conf,这么做会全部覆盖配置。按照提示,只要再新建一个名字类似的sysctl.conf即可
[root@localhost sysctl.d]# mv 99-sysctl.conf sysctl-99.conf
[root@localhost sysctl.d]# ls
sysctl-99.conf
[root@localhost sysctl.d]# sysctl -p
vm.max_map_count = 262144
##在重启elasticsearch
[root@localhost sysctl.d]# cd /usr/local/elasticsearch-6.7.0/bin
##切换用户
su esadmin
./elasticsearch
在客户端telnet 端口9200,ping通说明服务已经启动
退出前台启动模式,需要杀掉刚才的es进程:kill -9 xxxx
后台启动ES:
[root@localhost bin]# su esadmin -c "/usr/local/elasticsearch-6.7.0/bin/elasticsearch -d"
2、安装Kibana
(1)下载kibana并解压缩
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz
tar -zxvf kibana-6.7.0-linux-x86_64.tar.gz
mv kibana-6.7.0-linux-x86_64 /user/local/kibana-6
(2)更改配置
vi /usr/local/kibana-6/config/kibana.yml
#############
server.host: "192.168.73.141"
elasticsearch.url: "http://192.168.73.141:9200"
(3)启动Kibana
nohup /usr/local/kibana-6/bin/kibana &
默认端口号:5601
(4)停止kibana
[root@localhost bin]# ps -ef|grep kibana
root 1736 1682 0 08:43 pts/0 00:00:00 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz
root 4062 1 1 15:17 pts/0 00:00:17 /usr/local/kibana-6/bin/../node/bin/node --no-warnings /usr/local/kibana-6/bin/../src/cli
root 4142 4125 0 15:38 pts/0 00:00:00 grep --color=auto kibana
[root@localhost bin]# kill -9 4062
3、自动启动
(1)ES开机自启
自启脚本
[root@localhost ~]# vi /etc/init.d/elasticsearch
################################
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
export JAVA_HOME=/usr/local/jdk1.8.0
export JAVA_BIN=/usr/local/jdk1.8.0/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
case "$1" in
start)
su esadmin<<!
cd /usr/local/elasticsearch-6.7.0
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su esadmin<<!
cd /usr/local/elasticsearch-6.7.0
./bin/elasticsearch -d
!
echo "elasticsearch startup"v
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
保存退出,添加执行权限
chmod +x /etc/init.d/elasticsearch
加入开机启动服务
chkconfig --add elasticsearch
也可以采用 service elasticsearch start/stop/restart
来操作
(2)kibana6开机自启
vi /etc/init.d/kibana
#!/bin/bash
# chkconfig: 2345 98 02
# description: kibana
KIBANA_HOME=/usr/local/kibana-6
case $1 in
start) nohup $KIBANA_HOME/bin/kibana >/dev/null 2>&1 &
echo "kibana start"
;;
stop)
es_pid=`ps -aux|grep kibana|grep -v grep|awk '{print $2}'`
kill -9 $es_pid
echo "kibana stopped"
;;
restart)
es_pid=`ps -aux|grep kibana|grep -v grep|awk '{print $2}'`
kill -9 $es_pid
echo "kibana stopped"
nohup $KIBANA_HOME/bin/kibana >/dev/null 2>&1 &
!
echo "kibana startup"v
;;
*)
echo "start|stop|restart"
;;
esac
保存退出,添加执行权限
chmod +x /etc/init.d/kibana
加入开机启动服务
chkconfig --add kibana