操作系统:Ubuntu 16.04.5 LTS
JDK:1.8.0_191
elasticsearch:6.5.4
nodejs:v10.15.0
本次实战准备了两台机器,它们的基本情况如下所示:
| IP地址 | hostname | 备注 |
|---|---|---|
| 192.168.119.152 | node-0 | 节点0 |
| 192.168.119.153 | node-1 | 节点1 |
操作步骤整理
整个实战由以下操作步骤组成,注意:有的步骤需要在两台机器上都要做,在具体操作的地方,我会用红字说明:
- 修改主机名;
- 修改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地址:
192.168.119.152 node-0
192.168.119.153 node-1
修改linux文件描述符限制
注意:以下的操作在node-0和node-1两台机器上都要做
- 执行命令ulimit -Hn,查看硬限制:
[root@localhost es]# ulimit -Hn
4096
- 执行命令ulimit -Sn,查看软限制(程序中可以提升):
[root@localhost es]# ulimit -Sn
1024
上述限制会导致elasticsearch启动失败,所以需要调整;
3. 打开文件
/etc/security/limits.conf,增加以下两行设置(注意,如果是已有配置就修改对应的值):
* soft nofile 65536
* hard nofile 65536
- 修改完成后退出重新登录,再次查看发现配置已经生效:
[root@localhost ~]# ulimit -Hn
65536
[root@localhost ~]# ulimit -Sn
65536
修改最大线程数限制
注意:以下的操作在node-0和node-1两台机器上都要做
- 打开文件
/etc/security/limits.conf,增加以下两行设置(注意,如果是已有配置就修改对应的值):
* soft nproc 4096
* hard nproc 4096
- 修改完毕后,需要重启才会生效;
修改内存限制
注意:以下的操作在node-0和node-1两台机器上都要做
- 修改进程中内存映射区域的最大数量,修改/etc/sysctl.conf文件,增加以下配置(注意,如果是已有配置就修改对应的值):
vm.max_map_count=262144
- 修改完成后,重启生效;
安装JDK
注意:以下的操作在node-0和node-1两台机器上都要做
- 在官网下载JDK,地址是www.oracle.com/technetwork…
- 将下载的JDK安装文件放在目录/usr/lib/jvm,解压;
- 我这边JDK解压后的完整路径是/usr/lib/jvm/jdk1.8.0_191,在/etc/profile文件增加以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
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查看设置是否成功:
[root@localhost jdk1.8.0_191]# java -version
java version "1.8.0\_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
创建用户
注意:以下的操作在node-0和node-1两台机器上都要做
es不允许root用户启动应用,因此需要创建用户:
- 执行命令useradd es,即可创建用户es;
- 执行命令passwd es,按照提示修改用户密码;
给es用户增加sudo权限
注意:以下的操作在node-0和node-1两台机器上都要做
- 给文件/etc/sudoers增加写权限:
chmod a+w /etc/sudoers
- 打开文件/etc/sudoers;
- 增加以下一行内容:
es ALL=(ALL:ALL) ALL
- 保存后,修改sudoers文件的权限:
chmod 440 /etc/sudoers
安装elasticsearch
注意:以下的操作在node-0和node-1两台机器上都要做
- 在官网下载安装包,地址是:artifacts.elastic.co/downloads/e…
- 解压后的完整目录是/usr/local/work/es/elasticsearch-6.5.4,执行以下命令将文件夹的所有者和群组设置为es:
chown -R es:es /usr/local/work/es/elasticsearch-6.5.4
- 执行ls命令确认一下所属用户和群组:
root@node-0:/usr/local/work/es# ls -al
total 12
drwxr-xr-x 3 root root 4096 Jan 11 18:54 .
drwxr-xr-x 6 root root 4096 Jan 11 18:43 ..
drwxr-xr-x 8 es es 4096 Dec 17 13:21 elasticsearch-6.5.4
在node-0机器安装nodejs
- 在node-0机器安装nodejs,详细的操作步骤请参照文章《Ubuntu16安装nodejs10》,其实就是下载、解压、设置等操作,很快就能完成;
- 执行以下命令,确保es账号能访问nodejs目录,是nodejs安装的目录:
sudo chmod 777 -R /usr/local/work/nodejs/node-v10.15.0-linux-x64
设置elasticsearch
- 打开node-0机器的文件,新增或者修改以下配置信息:
| 参数名 | 参数值 | 作用 |
|---|---|---|
| cluster.name | boling_cavalry | 集群名称 |
| node.name | node-0 | 节点名字 |
| network.host | 0.0.0.0 | 绑定IP |
| http.port | 9200 | 服务端口 |
| discovery.zen.ping.unicast.hosts | [“node-0”, “node-1”] | 集群节点主机的host |
| discovery.zen.minimum_master_nodes | 1 | 一个节点需要看到的具有master节点资格的最小数量,当前有两台机器,只能设置为1 |
| http.cors.enabled | true | head插件配置 |
| http.cors.allow-origin | “*” | head插件配置 |
- 打开node-1机器的文件,新增或者修改以下配置信息:
| 参数名 | 参数值 | 作用 |
|---|---|---|
| cluster.name | boling_cavalry | 集群名称 |
| node.name | node-1 | 节点名字 |
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化! 详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK