【软件工具安装-Linux】ElasticSearch单节点搭建

创建es普通用户 

[root@slave6 ~]# groupadd elasticsearch
[root@slave6 ~]# useradd es
[root@slave6 ~]# passwd es
更改用户 es 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@slave6 ~]# usermod -G elasticsearch es
[root@slave6 ~]# vi /etc/sudoers

root	ALL=(ALL) 	ALL
#添加es用户 
es ALL=(ALL) ALL


[root@slave6 ~]# su es
[es@slave6 root]$ 

安装并配置es 

[es@slave6 local]#  wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
[es@slave6 local]$ sudo tar -zxvf elasticsearch-6.3.2.tar.gz 

[es@slave6 local]# sudo chown -R es:elasticsearch elasticsearch-6.3.2
[root@slave6 local]# ll
总用量 92260
drwxr-xr-x  8 es   elasticsearch     4096 7月  20 2018 elasticsearch-6.3.2


[es@slave6 elasticsearch-6.3.2]# vi config/elasticsearch.yml 
//下面这四个位置找到对应的地方放开
cluster.name: elasticsearch
node.name: node-1
network.host: 172.16.11.248
http.port: 9200
//#head插件想访问es,则es需要配置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"


[root@slave6 elasticsearch-6.3.2]# vi /etc/sysctl.conf 

//在文件末尾追加以下信息
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
vm.max_map_count = 262144

[root@slave6 elasticsearch-6.3.2]# sysctl -p

[root@slave6 ~]# vi /etc/security/limits.conf 

//在文档末尾追加以下内容
# End of file

* hard nofile 65536
* soft nofile 65536
 
* soft nproc 2048
* hard nproc 4096 


[es@slave6 bin]$ ./elasticsearch

键入配置文件中的ip与port在地址栏访问es服务器,出现如下信息,es服务安装成功。

设置elasticsearch开机启动 

[root@slave6 ~]# cd /etc/init.d/
[root@slave6 init.d]# touch elasticsearch
//设置elastic search执行脚本
[root@slave6 init.d]# vi elasticsearch 

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
 
#export JAVA_HOME=/usr/java/jdk1.8.0_112
#export JAVA_BIN=/usr/java/jdk1.8.0_112/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

#set java environment  

export JAVA_HOME=/usr/lib/jvm/java

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin

case "$1" in
start)
    su lyt<<!
    cd /home/lyt/dev-repo/elk5/elasticsearch-5.6.9
    ./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 lyt<<!
    cd /home/lyt/dev-repo/elk5/elasticsearch-5.6.9
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;  
*)
    echo "start|stop|restart"
    ;;  
esac
 
exit $?

//赋予文件可执行权限
[root@slave6 init.d]# chmod +x elasticsearch
//添加到开机启动任务 
[root@slave6 init.d]# chkconfig --add elasticsearch
//重启虚拟机验证elastic search自启动设置是否成功
[root@slave6 ~]# reboot
[root@slave6 ~]# systemctl status elasticsearch
● elasticsearch.service - SYSV: elasticsearch
   Loaded: loaded (/etc/rc.d/init.d/elasticsearch; bad; vendor preset: disabled)
   Active: active (exited) since 五 2019-09-27 14:29:19 CST; 1min 52s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8917 ExecStart=/etc/rc.d/init.d/elasticsearch start (code=exited, status=0/SUCCESS)


 安装head插件

1.安装node js  

head插件实质上还是node.js的工程,因此需要安装node,使用npm来安装依赖的包。

[root@slave6 local]# mkdir elk
[root@slave6 elk]# wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.1.0-linux-x64.tar.gz
[root@slave6 elk]# tar -zxvf node-v10.1.0-linux-x64.tar.gz
[root@slave6 elk]# vi /etc/profile

#node_home
export NODE_HOME=/usr/local/elk/node-v10.1.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules

[root@slave6 elk]# source /etc/profile
[root@slave6 elk]# node -v
v10.1.0
[root@slave6 elk]# npm -v
5.6.0

2.安装grunt

grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动,故需先安装grunt;

进入nodejs的根目录下,进行安装grunt。

[root@slave6 elk]# cd node-v10.1.0-linux-x64
[root@slave6 node-v10.1.0-linux-x64]#  npm install -g cnpm --registry=https://registry.npm.taobao.org
[root@slave6 node-v10.1.0-linux-x64]# npm install -g grunt
[root@slave6 node-v10.1.0-linux-x64]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy

3.安装head插件

//进入新创建的head目录,切记不要装在elasticsearch原有的plugins文件夹下
[root@slave6 node-v10.1.0-linux-x64]# cd /usr/local/elasticsearch-6.3.2/head
[root@slave6 head]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@slave6 head]# yum -y install unzip
[root@slave6 head]# unzip master.zip
[root@slave6 head]# cd elasticsearch-head-master/
[root@slave6 elasticsearch-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
[root@slave6 elasticsearch-head-master]# npm install
[root@slave6 elasticsearch-head-master]# vi Gruntfile.js

//找到server 修改hostname
     connect: {
                        server: {
                                options: {
                                        hostname:'172.16.11.248',
                                        port: 9100,
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }


[root@slave6 elasticsearch-head-master]# grunt server
(node:9550) ExperimentalWarning: The http2 module is an experimental API.
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://172.16.11.248:9100

设置head插件开机自启动

[root@slave6 init.d]# vi elasticsearch-head

#!/bin/sh
#chkconfig: 2345 80 05
 
#description: elasticsearch-head
 
# nodejs 安装的路径
 
#export NODE_PATH=/usr/local/node-js
 
#export PATH=$PATH:$NODE_PATH/bin
 
#node_home
export NODE_HOME=/usr/local/elk/node-v10.1.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules
 
# elasticsearch-head 的路径
 

cd /usr/local/elasticsearch-6.3.2/plugins/elasticsearch-head-master
 
nohup npm run start >/usr/local/elasticsearch-6.3.2/plugins/elasticsearch-head-master/nohup.out 2>&1 &

[root@slave6 init.d]# chmod +x elasticsearch-head 
[root@slave6 init.d]# chkconfig --add elasticsearch-head

 

创建索引后集群状态为黄色,修改分片数使集群达到健康状态

curl -H "Content-Type: application/json"  -XPUT http://172.16.11.248:9200/_settings -d '
{
 "index":{
 "number_of_replicas":0
 }
}'
{"acknowledged":true}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux搭建三个Elasticsearch节点,您可以按照以下步骤进行操作: 1. 下载并安装Elasticsearch: - 访问Elasticsearch官方网站(https://www.elastic.co/downloads/elasticsearch)下载适用于Linux的最新稳定版本。 - 解压下载的文件到目标目录,例如 `/opt/elasticsearch`. 2. 配置节点: - 在每个节点上,进入 Elasticsearch安装目录,找到 `config` 文件夹。 - 编辑 `elasticsearch.yml` 文件,设置以下参数: - `cluster.name`: 设置集群名称,确保三个节点使用相同的名称。 - `node.name`: 设置节点名称,每个节点都需要具有唯一的名称。 - `network.host`: 设置节点绑定的IP地址,以便其他节点可以连接。 - `discovery.seed_hosts`: 设置其他节点的IP地址,用于自动发现集群中的其他节点。 - `cluster.initial_master_nodes`: 设置初始主节点的名称,每个节点都需要具有相同的名称。 - 保存并关闭 `elasticsearch.yml` 文件。 3. 配置JVM堆内存: - 在每个节点上,编辑 `jvm.options` 文件,该文件位于 Elasticsearch安装目录的 `config` 文件夹中。 - 找到 `-Xms` 和 `-Xmx` 参数,设置堆内存的初始大小和最大大小。例如,可以将 `-Xms2g` 设置为2GB的初始堆内存大小,将 `-Xmx2g` 设置为2GB的最大堆内存大小。 - 保存并关闭 `jvm.options` 文件。 4. 启动节点: - 在每个节点上,使用终端进入 Elasticsearch 安装目录。 - 运行以下命令启动节点:`./bin/elasticsearch` - 确保三个节点都成功启动,并且相互发现并加入到同一个集群中。 注意:在配置和启动节点之前,请确保您的Linux服务器之间可以互相访问,并且已经正确设置了防火墙规则。 这样,您就可以在一台Linux搭建三个Elasticsearch节点。您可以使用HTTP API或Elasticsearch客户端连接到这个集群,并开始索引和搜索数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿备忘录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值