CentOS上搭建elasticsearch集群及设置脚本启动
es搭建3个节点(最少两个master节点)安装java JDK安装es解决启动时报错配置es启动脚本谷歌浏览器自带Elasticsearch Head插件服务器配置,三台centos虚拟机,ip列表如下:192.168.214.139192.168.214.155192.168.214.156安装java JDK下载安装包:jdk-8u192-linux-x64.tar.gz解压安装包:tar
es搭建3个节点(最少两个master节点)
服务器配置,三台centos虚拟机,ip列表如下:
192.168.214.139
192.168.214.155
192.168.214.156
elasticsearch安装包自带jdk,有就不用安装java jdk,如果没有请安装
安装java JDK
下载安装包:jdk-8u192-linux-x64.tar.gz
解压安装包:tar -zxvf jdk-8u192-linux-x64.tar.gz
把解压出来的文件夹移动到/usr/local/下:mv jdk1.8.0_192/ /usr/local/javajdk
输入 指令编辑etc/profile文件:vi /etc/profile
向文本最后添加这几行,第一行需要填写你的javaJDK的路径,我的是/usr/local/javajdk:
export JAVA_HOME=/usr/local/javajdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
这个指令是让配置文件立即生效:source /etc/profile
输入java -version能输出信息,就已经成功了
安装es
下载安装包:elasticsearch-7.11.1.tar.gz
解压安装包:tar -zxvf elasticsearch-7.11.1.tar.gz
把解压出来的文件夹移动到/usr/local/下:mv elasticsearch-7.11.1/ /usr/local/elasticsearch
补齐必要的目录:
mkdir -p /usr/local/elasticsearch/data
cd /usr/local/elasticsearch
修改配置文件:vi config/elasticsearch.yml
注:
1、cluster.name:必须保持一致
2、node.name:必须唯一,每个节点不同
3、node.master:true 为主机,false为丛机(3节点必须要两个主机)
4、network.host:默认 0.0.0.0 或者本机的ip
5、discovery.zen.ping.unicast.hosts:所有节点ip
#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es
#节点名称
node.name: node-1
#true:代表是主机
node.master: true
#集群主节点信息
cluster.initial_master_nodes: ["node-1"]
#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#注意:这三行代码是固定的
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.214.155","192.168.214.156","192.168.214.139"]
启动es
bin/elasticsearch
解决启动时报错
(1)、因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
具体操作如下:
useradd es
passwd es
再输入两次密码(自定义)
为用户赋权限
chown -R es:es /usr/local/elasticsearch
然后使用es用户启动 :
su es
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
(2)、在普通用户下启动时报错
1、无法创建本地文件问题,用户最大可创建文件数太小,解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vi /etc/security/limits.conf
然后添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
注:* 代表Linux所有用户名称(比如 hadoop)
1、需要保存、退出、重新登录才可生效。
2、最大虚拟内存太小,解决办法切换到root用户修改配置sysctl.conf:
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=262144
最后记得执行:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
看到这个界面证明已经成功了,可以用浏览器访问ip:9200查看,会下载一个json文件打开如下:
至此Elasticsearch就安装完成了,当然这只是一台机器,如果有需要还可以搭成集群.
配置es启动脚本
在/etc/init.d目录下新建文件elasticsearch
cd /etc/init.d/
vi elasticsearch
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
export JAVA_HOME=/usr/local/elasticsearch/jdk
export JAVA_BIN=/usr/local/elasticsearch/jdk/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 es<<!
cd /usr/local/elasticsearch
./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 es<<!
cd /usr/local/elasticsearch
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
保存退出,并在/etc/init.d/下赋予执行权限
chmod +x elasticsearch
添加到开机启动任务或手动启动
chkconfig --add elasticsearch
service elasticsearch start/stop/restart
开机自动重启…
检测elasticsearch是否自启
ps -ef|grep elasticsearch
谷歌浏览器自带Elasticsearch Head插件
更多推荐
所有评论(0)