ES:elasticsearch安装实战
一:elasticsearch介绍
elasticsearch是一个基于Lucene开发的开源的分布式,RESTful风格的搜索引擎。底层采用倒排索引,所以查询速度非常快。
二:安装准备
centos7 系统
jdk11 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
elasticsearch-7.6.1 https://www.elastic.co/downloads/past-releases
elasticsearch-analysis-ik-7.6.1 ik中文分词器
elasticsearch-head-master elasticseach head 插件
kibana-7.6.1 kibana 可视化
三:安装
1,安装jdk11
// 上传压缩包到 /usr/local // 解压 tar -zxvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz // 重命名 mv jdk-11.0.8+10/ java_11 // 删除压缩包 rm -rf OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz // 设置环境变量 // 打开文件编辑 vi /etc/profile // 在unset i 前面加上 java的环境变量配置 下面的JAVA_HOME后面的路径为你的jdk解压的路径 export JAVA_HOME=/usr/local/java_11 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin // 让环境变量生效 source /etc/profile // 测试 出现下图安装成功 java -version
2,elasticsearch 安装
// 上传压缩包 /usr/local
// 解压 tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz // 重命名 mv elasticsearch-7.6.1 es // 删除压缩包 rm -rf elasticsearch-7.6.1-linux-x86_64.tar.gz // 新建一个data目录存储es数据 cd es mkdir data // 打开配置文件 vi config/elasticsearch.yml
// 配置es cluster.name: my-application #集群名称 node.name: node-1 #节点名称 #数据和日志的存储目录 path.data: /usr/local/es/data path.logs: /usr/local/es/logs #设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了 network.host: 0.0.0.0 http.port: 9200 #端口 #设置在集群中的所有节点名称,这里测试只用1个节点. cluster.initial_master_nodes: ["node-1"]
2.1, 启动es
./bin/elalsticsearch
踩坑(1)
OpenJDK 64位服务器VM警告:选项useConMarkSweepGC在9.0版本中已被弃用,并可能在将来的版本中被删除。
解决办法:
vi config/jvm.options // 修改 -XX:+UseConcMarkSweepGC 改为 -XX:+UseG1GC
踩坑(2)
不能使用root用户启动elasticsearch。
解决办法:
# 创建用户es useradd es # 设置密码 passwd es # 授权 chown -R es /usr/local/es # 注:这时候直接切换es 还是不行的,继续配置 # vi /etc/security/limits.conf 末尾添加 es soft nofile 65536 es hard nofile 65536 es soft nproc 4096 es hard nproc 4096 # vi /etc/security/limits.d/20-nproc.conf,将* 改为用户名(es): es soft nproc 4096 # vi /etc/sysctl.conf 末尾添加 vm.max_map_count = 655360 # 执行加载参数 sysctl -p # 切换用户到es su es # 再执行启动 ./bin/elasticsearch
踩坑(3)
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
elasticsearch使用的jvm默认内存1G,这里我们修改下内存配置。(内存大不需要修改)
解决办法:
# 修改 vi config/jvm.options -Xms256m -Xmx256m
再次启动es 如果电脑不可以访问,请查看是否关闭防火墙(systemctl stop firewalld)
es安装成功。
四:安装elasticsearch可视化
1,安装elasticsearch-head 可视化
1.1,先安装node.js
# 下载node.js wget https://nodejs.org/dist/v12.18.1/node-v12.18.1-linux-x64.tar.xz
踩坑(1)
找不到wget命令
运行yum -y install wget 安装wget
网络问题,重新配置网卡启动(service network restart)
再重新执行安装wget。下载node.js
wget https://nodejs.org/dist/v12.18.1/node-v12.18.1-linux-x64.tar.xz // 下载 tar xf node-v12.18.1-linux-x64.tar.xz // 解压 mv node-v12.18.1-linux-x64 node-12.18 //重命名 // 设置环境变量 // 打开文件编辑 vi /etc/profile // 在unset i 前面加上环境变量配置 export PATH=$PATH:/usr/local/node-12.18/bin // 让环境变量生效 source /etc/profile // 测试 出现下图安装成功 node -v
1,2 安装elasticsearch-head可视化界面
// 上传elasticsearch-head-master.zip到/usr/local上 // 解压(如果没有unzip,yum -y install unzip) unzip elasticsearch-head-master.zip // 重命名 mv elasticsearch-head-master es-head // 删除zip rm -rf elasticsearch-head-master.zip # 进入es-head 安装 cd es-head # 这里改为国内镜像源安装 npm install -g cnpm --registry=https://registry.npm.taobao.org # 完成之后执行 npm run start
补充:这里最近安装出现grunt找不到
依次安装:
npm install -g grunt-cli npm install grunt 验证 grunt server 若还有错,依次安装缺少依赖 npm install grunt-contrib-clean npm install grunt-contrib-concat
浏览器改为IP:9100即可。
如果遇到跨域问题则需修改es的配置文件
# 在vi /usr/local/es/config/elasticsearch.yml中添加 http.cors.enabled: true # elasticsearch中启用CORS http.cors.allow-origin: "*" # 允许访问的IP地址段,* 为所有IP都可以访问
2,安装kibana可视化
// 上传kibana-7.6.1-linux-x86_64.tar.gz到/usr/local上 // 解压(如果没有unzip,yum -y install unzip) tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz // 重命名 mv kibana-7.6.1-linux-x86_64 kibana // 删除zip rm -rf kibana-7.6.1-linux-x86_64.tar.gz // kibana不可用root启动如下图 // 创建用户 useradd kibana passwd kibana // 给用户kibana权限 chown -R kibana /usr/local/kibana
配置kibana
// 在vi config/kibana.yml 中配置 #端口 server.port: 5601 #服务Ip server.host: "192.168.244.100" #服务名 server.name: "my-kibana" #ES地址 elasticsearch.hosts: ["http://192.168.244.100:9200"]
切换用户 再启动即可
// 切换用户 su kibana // 启动 ./kibana/bin/kibana