首页 > 技术文章 > ES:elasticsearch安装实战

wish-yang 2021-01-28 15:25 原文

一: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

 

  

推荐阅读