Elasticsearch的搭建
1.部署方式,三台服务器,命名ip为mini1,mini2,mini3 ; mini1为主节点
下载Elasticsearch安装包解压后进入conf目录修改elasticsearch.yml文件
配置文件mini1
cluster.name: my-es 集群名称
node.name: node-1 节点名称
node.master: true 是否为主节点
path.data: /usr/local/src/elk/elasticsearch/data 所有数据保存目录
path.logs: /usr/local/src/elk/elasticsearch/logs 日志文件路径
network.host: mini1 当前elasticsearch服务器的ip
http.port: 9200 当前服务器端口
transport.tcp.port: 9300 当前服务器与其他服务器构成集群的通信端口
bootstrap.system_call_filter: false 虚拟机需要配置,防止异常
discovery.zen.ping.unicast.hosts: ["mini2:9300","mini3:9300"] 发现其他定义的节点 mini2,mini3
______________________________________________________________________________________________________________
配置文件mini2
cluster.name: my-es 集群名称
node.name: node-2 节点名称
node.master: false 是否为主节点
path.data: /usr/local/src/elk/elasticsearch/data 所有数据保存目录
path.logs: /usr/local/src/elk/elasticsearch/logs 日志文件路径
network.host: mini2 当前elasticsearch服务器的ip
http.port: 9200 当前服务器端口
transport.tcp.port: 9300 当前服务器与其他服务器构成集群的通信端口
bootstrap.system_call_filter: false 虚拟机需要配置,防止异常
discovery.zen.ping.unicast.hosts: ["mini1:9300","mini3:9300"] 发现其他定义的节点 mini1,mini3
______________________________________________________________________________________________________________
配置文件mini3
cluster.name: my-es 集群名称
node.name: node-3 节点名称
node.master: false 是否为主节点
path.data: /usr/local/src/elk/elasticsearch/data 定义所有 数据目录,并创建这个目录
path.logs: /usr/local/src/elk/elasticsearch/logs 定义所有 日志目录,并创建这个目录
network.host: mini3 当前elasticsearch服务器的ip
http.port: 9200 当前服务器端口
transport.tcp.port: 9300 当前服务器与其他服务器构成集群的通信端口
bootstrap.system_call_filter: false 虚拟机需要配置,防止异常
discovery.zen.ping.unicast.hosts: ["mini1:9300","mini2:9300"] 发现其他定义的节点 mini1,mini2
注意,集群名字保持一致,所有服务器的地址网段必须保持一致,才能有集群的效果 xxx.xxx.xxx.xxx 前9位相同, 后三位(主机)不同
启动集群会抛出许多异常
(1)
使用虚拟机会存在以下参数问题
第一个问题是 无法创建本地文件问题,用户最大可创建文件数太小
编辑文件
vi /etc/security/limits.conf
添加最大创建文件数(*不能去掉)
* soft nofile 65536
* hard nofile 131072
第二个问题 无法创建本地线程问题 , 用户最大可创建线程数太小编辑文件
vi /etc/security/limits.d/90-nproc.conf
修改内容
* soft nproc 1024 (将1024修改为4096)
第三个问题 最大虚拟内存太小
执行命令
sysctl -w vm.max_map_count=262144 (临时生效)
echo "vm.max_map_count=262144" >> /etc/sysctl.conf (永久生效)
sysctl -a|grep vm.max_map_count (查看是否已经修改)
(2).用户必须以非root的用户登陆(三台服务器都需要这样操作)
添加用户: useradd es -m 用户名为es
添加密码: passwd es 添加密码给es用户,输入密码两次
赋值权限: chown -R es:es 日志目录 给es用户赋值 操作es集群的权限
chown -R es:es 数据目录
chown -R es:es es安装包根目录
启动
su es 切换到es用户
<es根目录>: ./bin/elasticsearch 执行这个文件启动es
完成启动