Elasticsearch三节点安装

版本说明

java版本控制1.8以上
Elasticsearch版本为5.5.1

JAVA安装说明

查看centos源版本open jdk

 rpm -qa | grep java

删除已有版本

 yum remove java*

安装java jdk 1.8.144,至/opt目录

su - root
mv /home/didichen/Downloads/jdk-8u144-linux-x64.tar.gz  /opt/
tar -zxvf jdk-8u144-linux-x64.tar.gz
vim /etc/profile

----
JAVA_HOME=/opt/jdk1.8.0_144
export JAVA_HOME
export PATH=\$JAVA_HOME/bin:$PATH
----
source /etc/profile

OS更改配置(root权限,多节点部署时,需要此步骤)

建议修改如下配置,否则在多节点部署时会报错

修改vm.max_map_count配置

# echo "vm.max_map_count=262144" >>/etc/sysctl.conf
# sysctl -p
vm.max_map_count = 262144

修改max file descriptors配置

# echo "didichen hard nofile 65536" >> /etc/security/limits.conf 
# echo "didichen soft nofile 65536" >> /etc/security/limits.conf 

重新登陆登录didichen(这个是运行es的账号)

关闭防火墙

systemctl stop firewalld.service 

Elasticsearch安装

下载

https://www.elastic.co/downloads/elasticsearch

单节点安装

cd elasticsearch-5.5.1/
bin/elasticsearch

多节点安装

配置规划

集群名称为es-cocacola

ipnode对外port对内port
192.168.220.128node-12892009300
192.168.220.129node-12992009300
192.168.220.130node-13092009300

修改多节点配置

elasticsearch-5.5.1/config/elasticsearch.yml

![这里写图片描述]192.168.220.128
cluster.name: es-cocacola
node.name: node-128
network.host: 192.168.220.128
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.220.128", "192.168.220.129", "192.168.220.130"]
discovery.zen.minimum_master_nodes: 2
192.168.220.129
cluster.name: es-cocacola
node.name: node-129
network.host: 192.168.220.129
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.220.128", "192.168.220.129", "192.168.220.130"]
discovery.zen.minimum_master_nodes: 2
192.168.220.130
cluster.name: es-cocacola
node.name: node-130
network.host: 192.168.220.130
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.220.128", "192.168.220.129", "192.168.220.130"]
discovery.zen.minimum_master_nodes: 2

在多个节点启动es

cd elasticsearch-5.5.1/
bin/elasticsearch

集群自发现

节点访问

访问

curl http://192.168.220.128:9200
[didichen@centos7-x64-id1 ~]$ curl http://192.168.220.128:9200
{
  "name" : "node-128",
  "cluster_name" : "es-cocacola",
  "cluster_uuid" : "9v9CkYFzQ56BD1QHgn0M_A",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}
[didichen@centos7-x64-id1 ~]$ curl http://192.168.220.129:9200
{
  "name" : "node-129",
  "cluster_name" : "es-cocacola",
  "cluster_uuid" : "9v9CkYFzQ56BD1QHgn0M_A",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}
[didichen@centos7-x64-id1 ~]$ curl http://192.168.220.130:9200
{
  "name" : "node-129",
  "cluster_name" : "es-cocacola",
  "cluster_uuid" : "9v9CkYFzQ56BD1QHgn0M_A",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}
### 安装和配置单节点Elasticsearch #### 准备环境 为了在单节点上安装Elasticsearch,首先需要准备运行环境。确保操作系统已更新至最新版本并安装了Java开发环境(JDK),因为Elasticsearch依赖于JVM来执行。 #### 下载与解压软件包 访问官方网站下载适用于操作系统的Elasticsearch压缩包[^1]。完成下载之后将其放置到服务器上的合适位置,并通过命令行工具对其进行解压缩处理。 ```bash tar -xzf elasticsearch-8.x.x-linux-x86_64.tar.gz cd elasticsearch-8.x.x/ ``` #### 修改配置文件 使用编辑器打开`config/elasticsearch.yml`文件进行必要的设置调整[^2]: ```yaml cluster.name: my-application node.name: node-1 network.host: 0.0.0.0 discovery.type: single-node ``` 这些参数定义了一个集群名称、当前节点名以及允许外部连接的方式;特别注意最后一条语句用于指定这是单一实例部署模式下的必要选项。 #### 启动服务 进入Elasticsearch目录下启动该应用: ```bash ./bin/elasticsearch & ``` 此时应该可以看到控制台输出日志信息表明进程正在正常工作当中。默认情况下,Elasticsearch监听9200端口提供RESTful API接口供客户端调用。 #### 验证安装成功与否 可以通过浏览器或者curl命令测试是否能够正确返回JSON格式响应数据以确认安装无误: ```bash curl http://localhost:9200/_cat/health?v=true&pretty ``` 如果一切顺利的话,则会看到有关健康状态的相关统计报告。 #### 数据导入导出示例 对于已有数据源的情况可以借助第三方插件如elasticdump来进行批量传输作业[^3]: ```bash docker run --net=host --rm -ti \ elasticdump/elasticsearch-dump \ --input=http://source.es.com:9200/source_index \ --output=http://target.es.com:9200/target_index \ --type=data ``` 此脚本展示了如何利用Docker容器化技术快速实现不同主机间的数据同步任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值