前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >触类旁通Elasticsearch:安装

触类旁通Elasticsearch:安装

作者头像
用户1148526
发布2019-05-25 19:29:20
4170
发布2019-05-25 19:29:20
举报
文章被收录于专栏:Hadoop数据仓库Hadoop数据仓库

一、安装并启动ES

# 解压
tar -zxvf elasticsearch-6.4.3.tar.gz

# 启动
cd elasticsearch-6.4.3
bin/elasticsearch -d

# 查看
jps
more logs/elasticsearch.log

# 验证
curl localhost:9200

输出如下,缺省的集群名称为elasticsearch,已经启动一个名为“yO9AEg-”的节点。

{
  "name" : "yO9AEg-",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "zMWKHBhsS92T0Xh0adr2hw",
  "version" : {
    "number" : "6.4.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "fe40335",
    "build_date" : "2018-10-30T23:17:19.084789Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

二、安装head

head是ES最早的插件之一,它通过浏览器访问ES集群,让集群状态和索引的管理更为轻松,而且让我们可以通过更具吸引力的用户界面来执行查询。

1. 安装 nodejs

# 下载                               
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz   
    
# 解压
tar -xvf  node-v8.11.1-linux-x64.tar.xz 
                                                                         
# 创建软链接,执行以下命令设置全局有效,需要root用户操作
ln -s /home/elasticsearch/node-v8.11.1-linux-x64/bin/npm /usr/local/bin/ 
ln -s /home/elasticsearch/node-v8.11.1-linux-x64/bin/node /usr/local/bin/

2. 安装head插件

# 下载 
wget https://github.com/mobz/elasticsearch-head/archive/master.zip

# 解压 
unzip master.zip

# 建立软连接                                                
ln -s elasticsearch-head-master head 

# 安装head
cd head
npm install
                                                                         
# 启动head插件
nohup npm run start &

3. 为head配置ES

vi /home/elasticsearch/elasticsearch-6.4.3/config/elasticsearch.yml

添加如下内容并保存:

network.host: 172.16.1.127
http.cors.enabled: true
http.cors.allow-origin: "*"
# 重启ES
jps | grep Elasticsearch | awk '{print $1}' | xargs kill
~/elasticsearch-6.4.3/bin/elasticsearch -d

4. 使用head

在浏览器输入:http://172.16.1.127:9100/

在head中的地址栏输入如下地址并点击“连接”按钮:http://172.16.1.127:9200/

显示具有一个节点,没有任何数据的ES集群,如图1所示:

图1

三、装载数据

1. 装载elasticsearch-in-action示例

# 下载
git clone https://github.com/dakrone/elasticsearch-in-action.git -b 6.x

# 装载数据
elasticsearch-in-action/populate.sh 172.16.1.127:9200

从head查看结果如图2所示:

图2

可以看到已经创建了4个索引,共有17个主分片。其中get-together有两个分片,包含20个文档,其它三个索引每个有5个分片,但都没有数据。当前集群健康值为yellow,因为当前只有一个节点,存储17个主分片,但无法分配副本分片。

2. 装载elasticsearch官方文档提供的示例数据

# 批量装载数据 
curl -H "Content-Type: application/json" -XPOST "172.16.1.127:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"

从head查看结果如图3所示:

图3

可以看到创建了一个名为bank的索引,它有5个主分片,1份副本,包含1000个文档。

3. 使用Kettle装载数据

注意要向ES6装载数据,需要使用Kettle 8.2或以上版本。这里使用Kettle 8.2将一个本地MySQL数据表迁移到ES6中。转换配置如图4-图7所示:

图4

图5

图6

图7

从head查看结果如图8所示:

图8

可以看到创建了一个名为dbinfo的索引,它有5个主分片,1份副本,包含146个文档。

三、增加节点

现在向ES集群中增加172.16.1.125、172.16.1.124两个节点。

  1. 在两个节点上安装ES,方法见前面“一、安装并启动ES”
  2. 修改ES配置文件,采用单播方式发现节点,127的elasticsearch.yml内容如下,126、125的类似,仅node.name和network.host不同。
cluster.name: ES_cluster
node.name: node127
http.port: 9200
network.host: 172.16.1.127
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["172.16.1.125","172.16.1.126","172.16.1.127"]

network.bind_host: 0.0.0.0
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 30s
xpack.security.enabled: false

启动三个节点后,从head查看结果如图9所示:

图9

可以看到集群名称改为ES_cluster,集群健康值变为green,所有主分片和副本分片自动重新分布到三个节点上,并选举126为主节点。

五、安装kibana

kibana可以用来监控ES集群状态,安装非常简单,只要注意kibana要和ES的版本一致即可。从官网下载kibana-6.4.3-linux-x86_64.tar.gz文件。

# 解压
tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz

# 修改配置
cd kibana-6.4.3-linux-x86_64
vi config/kibana.yml

修改以下两个地方:

server.host: "172.16.1.127"
elasticsearch.url: "http://172.16.1.127:9200"
# 启动
nohup bin/kibana &

使用kibana,在浏览器输入:http://172.16.1.127:5601/

通过kibana监控ES集群,如图10所示:

图10

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、安装head
    • 1. 安装 nodejs
      • 2. 安装head插件
        • 3. 为head配置ES
          • 4. 使用head
          • 三、装载数据
            • 1. 装载elasticsearch-in-action示例
              • 2. 装载elasticsearch官方文档提供的示例数据
                • 3. 使用Kettle装载数据
                • 三、增加节点
                • 五、安装kibana
                相关产品与服务
                Elasticsearch Service
                腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档