Elasticsearch7.10群集安装
-
初始化环境
#关闭防火墙 systemctl stop firewalld systemctl disable firewalld #关闭seliux vi /etc/selinux/config SELINUX=disabled #安装 vim java yum -y install vim java #检查JAVA版本 java -version #重启机器 reboot
-
安装ES
#下载并安装Key rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch #添加YUM仓库 vim /etc/yum.repos.d/elasticsearch.repo [elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md #安装 sudo yum -y install --enablerepo=elasticsearch elasticsearch
-
修改ES配置
#备份elasticsearch.yml文件 cd /etc/elasticsearch/ cp elasticsearch.yml elasticsearch.yml.bak #创建存储elasticsearch数据及日志路径 mkdir -p /data/elasticsearch/logs mkdir -p /data/elasticsearch/data #修改权限 chown -R elasticsearch:elasticsearch /data/elasticsearch/ #修改elasticsearch配置文件 vim /etc/elasticsearch/elasticsearch.yml #配置项 cluster.name: my-cluster #群集名称 node.name: es01 #节点名称 path.data: /data/elasticsearch/data #数据存储路径 path.logs: /data/elasticsearch/logs #日志存储路径 bootstrap.memory_lock: true #启动后锁定内存,禁用swap交换,提高ES性能 network.host: 0.0.0.0 #监听的主机地址 http.port: 9200 #监听的WEB端口 discovery.seed_hosts: ["192.168.110.62", "192.168.110.63"]#集群内节点发现,除本机外的其他群集节点 cluster.initial_master_nodes: ["192.168.110.61","192.168.110.62", "192.168.110.63"]#在全新的集群中设置符合主节点条件的初始节点。即所有群集中的节点 http.cors.enabled: true # 是否支持跨域 http.cors.allow-origin: "*" # *表示支持所有域名 discovery.zen.minimum_master_nodes: 2 #选主过程中需要 有多少个节点通信 gateway.recover_after_nodes: 2 #只要指定数量的节点加入集群,就开始进行恢复 gateway.recover_after_time: 10m #期望的节点数量没有达标,等待的时间 cluster.routing.allocation.node_initial_primaries_recoveries: 8 #初始化数据恢复时,并发恢复线程的个数 cluster.routing.allocation.node_concurrent_recoveries: 8 #设置在节点中最大允许同时进行分片分布的个数 indices.recovery.max_bytes_per_sec: 100mb #数据在节点间传输最大带宽 node.master: true #此节点是否具有成为主节点的资格 node.data: true #此节点是否作为数据节点存储数据
-
-
启动ES
注意:ES需要同时启动,因为master需要选举主节点
#将Elasticsearch配置为在系统启动时自动启动 sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service #Elasticsearch可以按以下方式启动和停止 sudo systemctl start elasticsearch.service sudo systemctl stop elasticsearch.service #Elasticsearch查询启动状态 sudo systemctl status elasticsearch.service
```shell 如果报错提示:bootstrap check failure [1] of [1]: memory locking requested for elasticsearch ...locked 解决方法: 1、Run sudo systemctl edit elasticsearch. 2、Add the following lines to the new file /usr/lib/systemd/system/elasticsearch.service.d/override.conf: [Service] LimitMEMLOCK=infinity 3、Run sudo systemctl daemon-reload. 4、Restart Elasticsearch. ```
-
测试es
1、在浏览器中输入 http://es节点IP:9200
2、curl -X GET "localhost:9200"
安装head
head只需要在Master节点上安装即可 ,可以参考
yum -y install gcc-c++ #安装组件
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz #下载node.js
tar zxvf node-v0.10.26.tar.gz
cd node-v0.10.26
#编译安装
./configure --prefix=/usr/local/node/v0.10.26
make
make install
#设置环境变量
vim /etc/profile
export NODE_HOME=/usr/local/node/v0.10.26
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
#让配置立即生效
source /etc/profile
#检查node
node -v
-
下载head插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip #安装解压包unzip yum -y install unzip bzip2 #解压文件至/data目录下 unzip -d /data/ master.zip
-
安装grunt
cd /data/elasticsearch-head-master/ npm install grunt --version
-
修改header源码
vim /data/elasticsearch-head-master/Gruntfile.js +95 connect: { server: { options: { port: 9100, base: '.', keepalive: true, hostname:'*' #此处不要用Tab用空格 } } } vim /data/master/elasticsearch-head-master/_site/app.js +4374
init: function(parent) { this._super(); this.prefs = services.Preferences.instance(); this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.110.61:9200"; #如果head与ES不在同一台机器上,需要修改为ES的IP地址,在同一台机器上可以不修改!
4. 下载header必需文件
```shell
wget https://github.com/Medium/phantomjs/archive/2.1.14.tar.gz
mkdir /tmp/phantomjs/
cp 2.1.14.tar.gz /tmp/phantomjs/
#为什么下载这个组件
#因为header启动时会加载2.1.14.tar.gz,如果在/tmp/phantomjs/目录下没有这个组件,启动会报错
-
运行header
cd /data/elasticsearch-head-master/ npm install nohup grunt server #启动
-
测试
http://192.168.110.61:9100/ tailf nohup.out