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