Elasticsearch 环境搭建
- linux版本:CentOS release 6.10
- Elasticsearch版本:6.6.0
- jdk 8.x
1.下载Elasticsearch 6.6.0压缩包
2. 解压
3. 修改系统配置:
3.1 设置内核参数
vim /etc/sysctl.conf
添加如下内容:
fs.file-max=65536
vm.max_map_count=262144
sysctl -p 刷新下配置,sysctl -a查看是否生效 如果不成功的(启动es还是失败,不是所有人都碰得到,好像是在7.6碰到了):
rm -f /sbin/modprobe
ln -s /bin/true /sbin/modprobe
rm -f /sbin/sysctl
ln -s /bin/true /sbin/sysctl
3.2 vi /etc/security/limits.conf
添加以下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
3.3 修改进程数
vi /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
配置完成后 要关掉shell窗口,重新打开一个
4. 修改config/elasticsearch.yml 配置文件
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: bi-cluster
# 节点名称
node.name: node-master
# 存储数据的目录
path.data: /home/elasticsearch/data
# 存储日志的目录
path.logs: /home/elasticsearch/logs
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址
network.host: 0.0.0.0
# 指定http端口,你使用head、kopf等相关插件使用的端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
discovery.zen.ping.unicast.hosts: ["192.168.1.3:9300", "192.168.1.4:9300", "192.168.1.5:9300"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true #es5.x版本以上需要,head访问
http.cors.allow-origin: "*"
bootstrap.memory_lock: false #某些系统需要 是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认 bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
bootstrap.system_call_filter: false
由于我的只部署了两个节点,且都在一个机器上,这里贴上我的配置:
cluster.name: my-es
node.name: node-39
network.host: 0.0.0.0
http.port: 19200
transport.tcp.port: 19300
discovery.zen.ping.unicast.hosts: ["127.0.0.1:19300","127.0.0.1:29300"]
#discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
5.启动
不要用root账号启动
命令:./bin/elasticsearch.sh -d(后台启动)
有几个节点启动几个就好了,我这里只启动了两个。
如果机器内存不够,可在config/jvm.options 配置中调整jvm的堆大小(es默认为1g)
集群部署时只要把压缩包多解压几份改下配置(只需改node.name
和 地址端口相关配置)就好了。
安装kibana
下载地址:https://elasticsearch.cn/download/ 与es版本保持一致
解压并修改配置文件kibana.yml
server.port: 15601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:19200"]
启动:由于kibana并无后台启动命令,所以我这里使用的是 nohup ./bin/kibana >stdout.log 2>&1 &
打开浏览器访问 ip:15601