虚拟机先拍快照,这里容易出错!
启动elasticSearch需要使用普通用户,它不支持root用户
webUI:host01:9200、host03:9200、host04:9200
1.安装和启动
1.1. 准备工作
-
创建普通用户,因为ES不支持root用户的启动
useradd spark # passwd spark
-
打开Linux文件限制
# 查看文件限制 ulimit -Hn # 修改文件限制 vi /etc/security/limits.conf # 需要有root权限才可以编辑 # 添加如下配置,注意,这里的spark表示刚才新建的用户名 # 配置完成后,并不是立即生效,退出登录后重新登录才生效 spark soft nofile 65536 spark hard nofile 65536 # 查看配置文件 vi /etc/security/limits.d/20-nproc.conf # 如果有限制1024,将其修改为2048或者4096均可 # vi /etc/sysctl.conf vm.max_map_count=655360 sysctl -p
1.2. 安装搭建
-
安装
# 1. 解压到指定的路径下 tar -zxvf elasticsearch-6.5.3.tar.gz -C /usr/local/ # 2. 修改配置文件 # 这里是一个我自己创建的配置文件,将必要的一些配置列出来即可 # 这是一个yml文件,这种文件有一个注意事项: # 这里的配置,键值对之间是以冒号分隔的,冒号后面必须添加一个空格,否则就是格式错误 # cluster.name: bigdata # 当前ElasticSearch集群的名字 node.name: es-1 # 这个节点的名字,这个名字需要保证集群中唯一 path.data: /home/spark/elastic/data path.logs: /home/spark/elastic/logs network.host: host01 node.master: true # 表示这个节点是否可以成为主节点 node.data: true # 表示这个节点是否可以称为数据节点 discovery.zen.ping.unicast.hosts: ["host01", "host03", "host04"] discovery.zen.minimum_master_nodes: 2 # 设置为过半就可以,半数加一 bootstrap.memory_lock: false http.cors.enabled: true http.cors.allow-origin: "*"
1.3. 启动
-
启动
# 启动,-d表示后台启动 ./elasticsearch -d # 特别注意: 千万不要用root用户启动! # 如果使用了root用户启动了,会生成几个文件或目录 # elasticsearch/config/elasticsearch.keyword # /home/spark/elastic/data # /home/spark/elastic/logs # 这几个文件或目录的所属都是root,切换到普通用户是没有权限访问的 # 修改方案: # 1. 给这些文件添加上可以让普通用户操作(写)的权限 # 2. 将这些文件删除,使用普通用户重新启动,生成
-
验证启动
1. 可以在Web查看 host01:9200 host01:9200/_cluster/health?pretty 2. 可以在服务器上查看 curl -XGET "host01:9200/_cluster/health?pretty" curl -XGET "host01:9200/_nodes/process?pretty" curl -XGET "host01:9200/_noeds/es-1?pretty"
2. head插件的安装
head插件是一个ES集群的管理工具,可以使用它创建文件、浏览数据、查询等操作
elasticsearch-head是一个开源的插件,托管在了github上。所以,需要先安装git,来下载这个插件。
elasticsearch-head的启动,需要grunt,而grunt又需要npm包管理器,需要nodejs
-
安装node.js
# 直接解包到指定的路径下即可 tar -xvf node-v12.16.1-linux-x64.tar.xz -C /usr/local/ # 需要使得bin中的node和npm全局可用 # ln -s /usr/local/node-v12.16.1-linux-x64/bin/node /usr/bin/node # ln -s /usr/local/node-v12.16.1-linux-x64/bin/npm /usr/bin/npm
-
安装grunt
# 使用npm安装 # 设置淘宝镜像 npm config set registry https://registry.npm.taobao.org # 安装grunt npm install -g grunt-cli
-
安装bzip2
yum install -y bzip2
-
安装git
yum install -y git
-
使用git,下载elasticsearch-head
cd /usr/local git clone git://github.com/mobz/elasticsearch-head.git
-
相关配置
# 1. 检查是否存在 ./node_modules,如果存在,重新安装的时候,一定要删除 rm -rf node_modules # 2. 安装 npm install --unsafe-perm # 3. 修改配置文件 ./Gruntfile.js 添加host # 在96行的位置 connect: { server: { options: { server: '*', # 新增 port: 9100, base: '.', keepalive: true } } } # 4. 修改 ./_site/app.js # 4388行 # 将这里的localhost,修改为host01或者ip地址 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200"; # 5. 启动 ./node_modules/grunt/bin/grunt server # 前台启动 nohup ./node_modules/grunt/bin/grunt server > /var/log/head.log 2>&1 & # 后台启动 # 6. 网页查看 host01:9100
ElasticSearch | MySQL |
---|---|
Index 【索引】 | database |
Type 【类型】 | table |
Document 【文档】 | row |
Field【字段】 | column |
Mapping 【映射】 | schema |
DSL | SQL |