**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监控相关配置**