触类旁通Elasticsearch:安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/85683221

目录

一、安装并启动ES

二、安装head

1. 安装 nodejs

2. 安装head插件                                                                       

3. 为head配置ES

4. 使用head

三、装载数据

1. 装载elasticsearch-in-action示例

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

3. 使用Kettle装载数据

三、增加节点

五、安装kibana


       安装环境:

一、安装并启动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官方文档提供的示例数据

        从下面的地址下载accounts.json文件:
https://raw.githubusercontent.com/elastic/elasticsearch/master/docs/src/test/resources/accounts.json

# 批量装载数据 
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


 

猜你喜欢

转载自blog.csdn.net/wzy0623/article/details/85683221