点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
- Hadoop(已更完)
- HDFS(已更完)
- MapReduce(已更完)
- Hive(已更完)
- Flume(已更完)
- Sqoop(已更完)
- Zookeeper(已更完)
- HBase(已更完)
- Redis (已更完)
- Kafka(已更完)
- Spark(已更完)
- Flink(已更完)
- ClickHouse(已更完)
- Kudu(已更完)
- Druid(已更完)
- Kylin(已更完)
- Elasticsearch(正在更新…)
章节内容
上节我们完成了如下的内容:
- Elasticsearch 索引使用 增删改查
- 架构与概念相关内容
文件夹设置
三台机器都要执行,建立文件夹,这里是 日志、数据等内容。
mkdir -p /opt/servers/es
mkdir -p /opt/servers/es/data
mkdir -p /opt/servers/es/logs
chown -R es_server /opt/servers/es
chown -R es_server /opt/servers/es/data
chown -R es_server /opt/servers/es/logs
复制项目
我们目前有三台机器,上节我们完成了一台机器的配置。现在我们把三台机器都安装上ES的环境,你可以每台都下载,或者使用同步工具来同步。
rsync-script /opt/software/elasticsearch-7.3.0-linux-x86_64.tar.gz
h121主机
h121是主机,这里是之前下载的。
cd /opt/software
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz
mv elasticsearch-7.3.0 ../servers/
处理完的结果如下图所示:
创建用户
三台机器都要设置对了,我的账号和密码是一样的,都是 es_server。
useradd es_server
passwd es_server
文件夹设置
三台机器都要执行,建立文件夹,这里是 日志、数据等内容。
mkdir -p /opt/servers/es
mkdir -p /opt/servers/es/data
mkdir -p /opt/servers/es/logs
chown -R es_server /opt/servers/es
chown -R es_server /opt/servers/es/data
chown -R es_server /opt/servers/es/logs
目录权限
chown -R es_server /opt/servers/elasticsearch-7.3.0
配置完的路径如下图所示:
sudo权限
三台机器使用root用户执行sudo然后为es用户添加权限:
vim /etc/sudoers
添加以下的内容:
es ALL=(ALL) ALL
添加的截图如下图所示:
配置说明
elasticsearch.yml 配置文件说明如下:
修改配置
三台机器都要执行,我们需要修改配置文件信息:
cd /opt/servers/elasticsearch-7.3.0/config
vim elasticsearch.yml
修改配置的内容有如下这些:
# 集群名字
cluster.name: wzkicu-es
# 集群中当前的节点
node.name: h121.wzk.icu
# 数据目录
path.data: /opt/servers/es/data
# 日志目录
path.logs: /opt/servers/es/logs
# 当前主机的ip地址
network.host: h121.wzk.icu
network.bind_host: h121.wzk.icu
# 这里如果网卡绑定的不对 可以写死你的公网IP
network.publish_host: 114.115.221.144
http.port: 9200
# 初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["h121.wzk.icu","h122.wzk.icu","h123.wzk.icu"]
# 写入候选主节点的设备地址
discovery.seed_hosts: ["h121.wzk.icu", "h122.wzk.icu","h123.wzk.icu"]
分发配置
为了保证三个文件的配置内容一致(手动修改name等除外),我们直接分发配置的整个文件夹过去:
rsync-script /opt/servers/elasticsearch-7.3.0/config
这样可以防止认证等信息错误导致的不必要的错误,对应的配置内容如下,注意在 h122 和 h123 节点上,node.name 等内容要根据实际情况修改:
(注意:network部分是比较容易出问题的,如果你出了问题,必须绑定的网卡不对,导致IP的问题等,那你需要向我这样配置,来指明绑定的地址等内容)
(注意:如果你一切正常,那按之前的来就行,没有必要增加不必要的复杂度)
系统参数
记得和上节一样,修改 JVM 内存大小:
cd /opt/lagou/servers/es/elasticsearch/config
vim jvm.options
修改内存的参数:
-Xms2g
-Xmx2g
此外和上节一样,如果你没修改操作系统的限制,如果你启动报错的话,请回到上节,修改 limits 等参数配置。具体的内容如下:
修改 sysctl.conf:
vim /etc/sysctl.conf
末尾我们添加:
vm.max_map_count=655360
修改的结果如下图所示:
执行 sysctl -p,让配置生效:
sysctl -p
运行结果如下图所示:
继续修改:limits.conf,目的是修改Linux系统对文件描述符的限制级别:
vim /etc/security/limits.conf
我们需要在末尾添加如下的内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
截图如下所示:
启动服务
这里是启动,要发现错误的话,可以到 logs 目录下查看,我们在三台机器上都执行:
su es_server
/opt/servers/elasticsearch-7.3.0/bin/elasticsearch -d
h121
h121 启动 ES服务,启动结果如下:
对应的网页内容:
h122
h123
访问集群
如果我们使用Elasticsearch Head工具查看,可以看到是集群的状态,对应的截图为: