Linux 环境快速搭建 elasticsearch6.5.4 集群和 Head 插件
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
今天来一起实战 Linux 环境下搭建 elasticsearch6.5.4 集群和 Head 插件;
环境信息
操作系统:Ubuntu 16.04.5 LTS
JDK:1.8.0_191
elasticsearch:6.5.4
nodejs:v10.15.0
本次实战准备了两台机器,它们的基本情况如下所示:
操作步骤整理
整个实战由以下操作步骤组成,注意:有的步骤需要在两台机器上都要做,在具体操作的地方,我会用红字说明:
修改主机名;
修改 hosts;
修改 linux 文件描述符限制;
修改最大线程数限制;
修改内存限制;
安装 JDK;
创建用户;
给 es 用户增加 sudo 权限
安装 elasticsearch;
在 node-0 机器安装 nodejs
设置 elasticsearch;
启动 elasticsearch
安装 head 组件(只在 node-0 上安装)
验证
修改主机名
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
打开文件**/etc/hostname**,将内容修改为本次实战所需的 hostname(node-0 和 node-1);
修改 hosts
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
打开文件令**/etc/hosts**,增加以下两行,读者请注意改为自己机器的 IP 地址:
修改 linux 文件描述符限制
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
执行命令 ulimit -Hn,查看硬限制:
执行命令 ulimit -Sn,查看软限制(程序中可以提升):
上述限制会导致 elasticsearch 启动失败,所以需要调整;
打开文件**/etc/security/limits.conf**,增加以下两行设置(注意,如果是已有配置就修改对应的值):
修改完成后退出重新登录,再次查看发现配置已经生效:
修改最大线程数限制
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
打开文件**/etc/security/limits.conf**,增加以下两行设置(注意,如果是已有配置就修改对应的值):
修改完毕后,需要重启才会生效;
修改内存限制
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
修改进程中内存映射区域的最大数量,修改/etc/sysctl.conf 文件,增加以下配置(注意,如果是已有配置就修改对应的值):
修改完成后,重启生效;
安装 JDK
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
在官网下载 JDK,地址是 https://www.oracle.com/technetwork/java/index.html ,在上面选择合适的版本下载;
将下载的 JDK 安装文件放在目录**/usr/lib/jvm**,解压;
我这边 JDK 解压后的完整路径是**/usr/lib/jvm/jdk1.8.0_191**,在/etc/profile 文件增加以下内容:
修改完毕后执行命令 source /etc/profile 使设置立即生效,执行 java -version 查看设置是否成功:
创建用户
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
es 不允许 root 用户启动应用,因此需要创建用户:
执行命令 useradd es,即可创建用户 es;
执行命令 passwd es,按照提示修改用户密码;
给 es 用户增加 sudo 权限
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
给文件/etc/sudoers 增加写权限:
打开文件/etc/sudoers;
增加以下一行内容:
保存后,修改 sudoers 文件的权限:
安装 elasticsearch
注意:以下的操作在 node-0 和 node-1 两台机器上都要做
在官网下载安装包,地址是:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
解压后的完整目录是**/usr/local/work/es/elasticsearch-6.5.4**,执行以下命令将文件夹的所有者和群组设置为 es:
执行 ls 命令确认一下所属用户和群组:
在 node-0 机器安装 nodejs
在 node-0 机器安装 nodejs,详细的操作步骤请参照文章《Ubuntu16 安装 nodejs10》,其实就是下载、解压、设置等操作,很快就能完成;
执行以下命令,确保 es 账号能访问 nodejs 目录,是 nodejs 安装的目录:
设置 elasticsearch
打开 node-0 机器的文件,新增或者修改以下配置信息:
打开 node-1 机器的文件,新增或者修改以下配置信息:
两台机器的配置中,只有 node.name 这个参数的值不同,其他的一模一样,在 node-0 机器上修改后的 elasticsearch.yml 文件如下所示:
启动 elasticsearch
如果当前用户是 root,执行命令 su - es,切换到 es 用户;
执行以下命令启动 node-0 的 elasticsearch:
在 node-1 机器上执行步骤 1 和 2,node-1 的 elasticsearch 启动成功后,在 node-0 的控制台可以看到 node-1 加入集群的信息如下:
在浏览器上访问 192.168.119.153:9300,可以返回基本信息如下图所示:
至此,elasticsearch 集群搭建成功,接下来安装 head 组件;
安装 head 组件(只在 node-0 上安装)
下载插件,地址:https://github.com/mobz/elasticsearch-head
可以用 git clone 命令下载,也可以在网页上下载,如下图所示:
下载到本地的是个名为 elasticsearch-head-master 的文件夹,放在目录**/usr/local/work/es**之下;
确保文件夹的权限属于用户 es,以下命令以 root 账号身份执行:
以 es 账号的身份,在 elasticsearch-head-master 文件夹下执行命令 npm install -g grunt-cli:
上述命令安装了 grunt-cli,是用于构建的,接下来安装 head;
在 elasticsearch-head-master 文件夹下执行命令 npm install,用于安装 head,由于网络问题有可能安装失败,提示信息类似以下:
出现此问题时建议重试几次,成功后的提示信息如下:
在 elasticsearch-head-master 文件夹下执行命令 grunt server,启动 head,控制台提示如下:
在浏览器输入地址:http://192.168.119.152:9100 ,可见如下图信息,在红框中输入 http://192.168.119.153:9200 ,再点击绿框中的"连接"按钮,即可见到 elasticsharch 的基本情况:
验证
这里我用的是 postman 来验证基本功能,读者请选择自己熟悉的 http 工具,或者写代码来执行;
新建所以的操作如下图,选择类型为 PUT,地址是:http://192.168.119.152:9200/test001
上图中,红框 4 是 elasticsearch 的响应信息,表示创建成功;
去 head 的操作页面,点击下图红框中的“连接”按钮,可见最新的索引创建情况,以及副本分布:
至此,Ubuntu16 环境搭建 elasticsearch6.5.4 集群和 head 插件实战就全部完成了,希望能在您安装的时候提供一些参考。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/be4f09529e47310c792448558】。文章转载请联系作者。
评论