ELK之Elasticsearch学习—es(elasticsearche的简写)安装

安装jdk

jdk网盘提取地址:https://pan.baidu.com/s/1-PYah5kwSmcJ9NnTt2_yNQ
# rz  
# tar xf jdk-8u101-linux-x64.tar.gz -C /opt/app/
# ln -s /opt/app/jdk1.8.0_101/ /opt/app/jdk
# vim /etc/profile
JAVA_HOME=/opt/app/jdk
JRE_HOME=/opt/app/jdk/jre
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
# source /etc/profile
# java -version
java version "1.8.0_101"
  • 怎么找到es(elasticsearch的简写)版本对应的jdl版本?
    打开https://www.elastic.co/guide/en/elasticsearch/reference/6.2/index.html ——>输入你的es版本——>点击 Set up Elasticsearch ——>找到Java version的一段信息就知道当前es需要啥版本的jdk了。

安装es

下载软件

# cd /opt/src/
# rz  
用户可以选择去官网下载或者百度网盘下载
百度网提取地址:https://pan.baidu.com/s/1LaQSVxnr4Sv9GZGi2NNP_A
elasticsearch-5.5.2.zip			#我这篇文档是用的这个版本(版本过高的话,得去官网重新查找安装方法)

安装依赖

# yum install zip unzip -y			#需要用到unzip解压

创建对应的目录

mkdir /opt/app /data/es /data/logs/es /data/es_backup -p
/opt/app/	#存放es主程序   /data/es #存放es数据  /data/logs/es	#存放es日志  /data/es_backup  #存放快照

创建es用户

# groupadd -g 550 es && useradd -u 550 -g 550 -s /sbin/nologin es	#默认不支持root用户运行es,建议新建个用户去运行es

安装es

# unzip elasticsearch-5.5.2.zip 		
# mv elasticsearch-5.5.2/ /opt/app/				#因为是个二进制文件,解压之后直接移到主程序目录下即可
# ln -s /opt/app/elasticsearch-5.5.2/  /opt/app/es		  #可以做软链接,也可以直接用原名,客官你随意

授权

# $ chown es.es -R /opt/app/es /data/logs/es/ /data/es/ /data/es_backup/ 

编辑配置文件

# cp /opt/app/es/config/elasticsearch.yml{,.bak}	#建议先备份一份原件
# vim /opt/app/es/config/elasticsearch.yml		
## 常用配置			
cluster.name: es_cluster							#自定义集群名字(es默认是以集群方式启动)
node.name: es_node									#自定义节点名称
path.data: /data/es/		#索引数据的存放位置(默认是在/data目录下,多个目录用' , '号隔开,/data/es/,/es1/)
path.logs: /data/logs/es/							#日志存放路径
http.port: 9200										#设置es对外服务的http端口

#主要是解决es与head插件连通的问题
http.cors.enabled: true							
http.cors.allow-origin: "*"			#*的话是所有节点

##其他配置	
#network.host:	192.168.1.18 						#默认是127.0.0.1,对外的话需要绑定当前节点的ip地址
#discovery.zen.ping.unicast.hosts: [ip]				#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
#gateway.recover_after_nodes: 2						#设置集群中N个节点启动时,进行数据恢复,默认是1
#discovery.zen.minimum_master_nodes: 2				#设置当前集群中有几个集群可以成为master,大集群可以设置为2-4个,默认是1个
#discovery.zen.ping.timeout: 30s					#设置集群自动发现其它节点的ping连接超时时间,默认是3s,网络有延迟的尽量大些	
#discovery.zen.ping.multicast.enabled: false		#是否打开多播发现节点,默认是true
#client.transport.ping_timeout: 30s					#ping一个节点的响应时间 默认5秒
#cluster.routing.allocation.node_initial_primaries_recoveries: 6	#初始化进程时,并发恢复的线程个数,默认是4个
#cluster.routing.allocation.node_concurrent_recoveries: 5			#添加/删除节点或负载均衡时并发恢复线程的个数,默认是4个
#indices.recovery.max_bytes_per_sec: 50mb			#设置数据恢复时限制的带宽,如50mb,0为无限制
#indices.recovery.concurrent_streams: 5				#设置这个参数可以限制其他分片恢复数据时最大打开流的个数,默认是5
#transport.tcp.compress: true						#是否压缩tcp传输时数据,默认是flase,不压缩
#index.number_of_shards: 5							#设置默认索引分片个数,默认5篇
#index.number_of_replicas: 1						#设置默认索引副本个数,默认是1个
#node.data: true									#该节点是否存储索引数据,默认是ture

# vim /etc/default/es			#定义一些es的环境变量(供es.service文件中EnvironmentFile参数读取)
ES_USER="es"
ES_GROUP="es"
JAVA_HOME="/opt/app/jdk"						#设置jdk路径
LOG_DIR="/data/logs/es"							#设置log路径
MAX_OPEN_FILES=655350							#最大打开文件描述符
MAX_MAP_COUNT=262144							#设置虚拟内存值
CONF_DIR="/opt/app/es/config"					#配置文件路径
DATA_DIR="/data/es"								#索引数据存放路径

生成systemctl启动脚本

# vim /etc/systemd/system/es.service
[Unit]
Description=elasticsearch5			#描述

[Service]
Type=simple			#定义访问daemon启动方式,有simple(默认值,有Execstart指令启动,启动后常驻内存中),forking(需要产生很多子进程用fork),oneshot(跟simple类似,但是当工作完成后,就直接退出了),dbus,idle,前3种用的较多
User=es
Group=es
EnvironmentFile=-/etc/default/es			#EnvironmentFile 指定是从文本文件中读取变量 EnvironmentFile=-+目录(减号一定不要忘记哦)
ExecStart=/opt/app/es/bin/elasticsearch -Epath.conf=/opt/app/es/config	#指定服务启动运行的命令
ExecStop=/bin/kill -s QUIT $MAINPID			#指定服务关闭运行的命令  $MAINPID是通过simple获取值
PrivateTmp=false																											#
Restart=always		#有7个值,常用的on(默认) 退出后不会重启,always不管啥原因退出都重启,on-success,on-failure,on-abnormal,on-abort,on-watchdog。
LimitNOFILE=655350

[Install]			 #定义由systemctl enable或systemctl disable命令再实现服务是否能够开机启用或禁用的选项
WantedBy=multi-user.target					#此参数是代表在命令模式下启动,还有个参数是图形界面下启动的

# systemctl daemon-reload
# systemctl restart es
# ss -nalpt | grep 9200
LISTEN     0      128       ::ffff:127.0.0.1:9200                    :::*                   users:(("java",pid=1512,fd=118))
LISTEN     0      128        ::1:9200                    :::*                   users:(("java",pid=1512,fd=116))

报错1
原因:虚拟内存给的太低
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决:修改虚拟内存
# more /proc/sys/vm/max_map_count
65530
# vim /etc/sysctl.conf
vm.max_map_count=262144
# sysctl -p
vm.max_map_count = 262144

报错2
原因:内存至少要2G
max number of threads [1786] for user [es] is too low, increase to at least [2048]
解决:把内存给2G

安装head插件

  • head插件是 es的可视化插件,简单来说通过此插件一个能以一个更清晰的界面去操作es。
    注:在head插件官方说,head是已经作为一个独立的服务运行了

      # vim /opt/app/es/config/elasticsearch.yml				#在es的主配置文件添加这2行信息,使es支持head插件
      http.cors.enabled: true
      http.cors.allow-origin: "*"
    
      # git clone git://github.com/mobz/elasticsearch-head.git
      # cd elasticsearch-head/
      # yum install npm -y		#NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题(类似于yum)
      # yum install bzip2 libXext libXrender fontconfig libfontconfig.so.1  -y
      # npm install
      # npm run start
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值