**1. 购买服务器,挂载磁盘**
```
# 如果是添加es服务器,在原来服务器实例选择购买相同配置即可
#在原来需要第一次购买的服务器需要输入账号密码.默认账号为 root 密码需在实例密钥里面重新设置为 xxx
# 挂载磁盘:
? ? df -h #查看当前磁盘使用情况
? ? yum install lvm2 #若新服务器没有lvm命令
挂载磁盘需要理解lvm原理,链接:https://blog.csdn.net/qifei3452/article/details/80670215
*未使用过的服务器? 进入实例后:
? ? 现在有多块空磁盘 ,我们想获得一整块磁盘(一块大木板):
? ? ? ? 1 fdisk -l # 查看当所有磁盘(包括新的,一般准备添加的磁盘在最下面)
? ? ? ? 2 pvcreate /dev/sdc{1,2,3}? # 把几块中等大小木板(多块空硬盘) 切成很多小块 (用pvcreate命令)
? ? ? ? 3 vgcreate vg0 /dev/sdc{1,2,3,5} # 把这些小块(所有的)刷上胶水粘成一个整块原料(用vgcreate命令)
? ? ? ? 4 lvcreate -L 10G -n lv0 vg0? # 指出想要大小的木块(用lv命令)
? ? ? ? 5 mkfs.ext4 /dev/vg0/lv0 #建立文件系统
? ? ? ? 6 mount /dev/vg0/lv0 /data #挂载mount命令
? ? ? ? ? # 挂载需持久化则修改开机启动配置文件
? ? ? ? ? vim /etc/fstab 在最后添上:
? ? ? ? ? ? /dev/vg0/lv0? ? ? ? ? ? ? /u01? ? ? ? ? ? ? ? ? ? ext4? ? defaults? ? ? ? 0 0
? ? ? ? 7 df -hT 查看即可
*已经在工作的的服务器添加磁盘:
? ? ? ? 1 把新添加的磁盘分成很多小块(pv)
? ? ? ? 2 把这些小块(新磁盘的)加入到已经粘好的木板上(对应上面第2步)
? ? ? ? 3 重新指出想要大小的木块即可(vgcreate命令)
? ? ? ? 4 扩建文件系统 :resize2fs /dev/vg0/lv0
? ? ? ? 5 df -hT查看即可
```
**2. 修改新增服务器相关系统参数**
```
# *的意思是所有用户生效,默认是65535要改成65536
vi /etc/security/limits.conf
# End of file
? ? root soft nofile 65536
? ? root hard nofile 65536
? ? * soft nofile 65536
? ? * hard nofile 65536
? ? * soft nproc 65536
? ? * hard nproc 65536
? ? * soft memlock unlimited
? ? * hard memlock unlimited
vi /etc/security/limits.d/90-nproc.conf
? ? *? ? ? ? ? soft? ? nproc? ? 65536
? ? root? ? ? soft? ? nproc? ? unlimited
vi /etc/sysctl.conf
vm.max_map_count=655360
```
**3. 安装部署ES服务,以老服务器配置为模板,修改配置文件**
```
? ? #先在/soft/目录下下载elasticsearch-5.5.1,jdk-8u162-linux-x64.tar.gz
? ? #执行以下命令:
? ? cd /soft/
? ? tar fxvz jdk-8u162-linux-x64.tar.gz
? ? mv jdk1.8.0_162 /usr/local/java
? ? cat >> /etc/profile << EOF
? ? JAVA_HOME=/usr/local/java
? ? PATH=\$PATH:\$JAVA_HOME/bin
? ? PATH=\$PATH:\$HOME/bin
? ? export PATH
? ? EOF
? ? source /etc/profile
? ? cd /soft/
? ? tar -xvf elasticsearch-5.5.1.tar.gz
? ? #mv elasticsearch-5.5.1 /soft/
? ? swapoff -a
? ? echo "fs.file-max = 1000000" >> /etc/sysctl.conf
? ? echo "vm.max_map_count=262144" >> /etc/sysctl.conf
? ? sed -i 's/vm.swappiness = 0/vm.swappiness = 1/g' /etc/sysctl.conf
? ? sysctl -p
? ? # 创建/data/elasticsearch/data /data/elasticsearch/logs
? ? mkdir -pv /data/elasticsearch/data
? ? mkdir -pv /data/elasticsearch/logs
? ? cd /soft/elasticsearch-5.5.1/config
? ? 创建stop.txt文件
? ? vim stop.txt
? ? #文件内容在其他服务器上面有
? ? #ES服务配置文件路径:
? ? vim /soft/elasticsearch-5.5.1/config/elasticsearch.yml
? ? #配置文件具体内容
? ? cluster.name: h2cluster(每个集群特有的名字)
? ? node.name: node-43(node-本机网络ip最后的字段)
? ? path.data: /data/elasticsearch/data
? ? path.logs: /data/elasticsearch/logs
? ? bootstrap.memory_lock: true
? ? bootstrap.system_call_filter: false
? ? indices.fielddata.cache.size: 40%
? ? indices.breaker.fielddata.limit: 60%
? ? indices.breaker.request.limit: 40%
? ? indices.breaker.total.limit: 70%
? ? network.host: 0.0.0.0
? ? transport.host: 10.30.44.197(本机ip)
? ? http.port: 9002(默认9200修改为9002)
? ? transport.tcp.port: 9003(同上)
? ? discovery.zen.ping.unicast.hosts: ["10.251.194.48","10.251.194.29","10.66.39.80","10.81.30.247","10.31.144.11","10.30.44.197"](同一集群内所有服务器(包括新加入的)内网ip地址)
? ? discovery.zen.ping_timeout: 20s
? ? http.cors.enabled: true
? ? http.cors.allow-origin: "*"
? ? 继续执行以下命令:
? ? cd /soft/elasticsearch-5.5.1/
? ? sed -i 's/-Xms2g/-Xms12g/g' config/jvm.options
? ? sed -i 's/-Xmx2g/-Xmx12g/g' config/jvm.options
? ? groupadd elsearch
? ? useradd elsearch -g elsearch -p elasticsearch
? ? chown -R elsearch.elsearch /soft/elasticsearch-5.5.1/
? ? chown -R elsearch.elsearch /data/elasticsearch
? ? su - elsearch -c "/soft/elasticsearch-5.5.1/bin/elasticsearch -d"
? ? echo 'su - elsearch -c "/soft/elasticsearch-5.5.1/bin/elasticsearch -d"' >> /etc/rc.local
? ? cd /soft/elasticsearch-5.5.1/? #安装分词插件
? ? ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
? ? su elsearch
? ? cd /soft/elasticsearch-5.5.1/bin
? ? ./elasticsearc &? #(这是启动elasticsearch服务)
```
**4. 修改新增服务器防火墙,修改老服务器防火墙以及ES配置文件**
```
# 之所以需要指定IP访问,是因为内网中间,有2个集群,防止配置出错
? ? vim /etc/sysconfig/iptables
? ? -A INPUT -s 10.30.44.197/32 -p tcp -m tcp -j ACCEPT
? ? service iptables restart
```
5. 启动新增服务器的ES业务,观察日志是否正常
```
# ES不能使用root账号启动
? ? groupadd elsearch
? ? useradd elsearch -g elsearch -p elasticsearch
? ? chown -R elsearch.elsearch /soft/elasticsearch-5.5.1
? ? chown -R elsearch.elsearch /data/elasticsearch
? ? su elsearch
? ? cd /soft/elasticsearch-5.5.1/bin
? ? ./elasticsearc &? #(这是启动elasticsearch服务 后面的&不可少 后台运行)
```
**6. 等待集群同步完成**
**7. 增加ssh相关账号以及zabbix监控相关配置**