ElasticSearch在linux上的安装部署
2025-02-23 13:45:30 0 举报
AI智能生成
ElasticSearch在linux上的安装部署
作者其他创作
大纲/内容
添加用户,默认不允许使用root运行
adduser esuser
passwd esuser
su esuser
linux环境准备
查询每台节点服务器ip
ifconfig
查询或修改每台节点服务器主机名称(若甲方要求不能修改,则记住主机名称)
vim /etc/hostname
es-broker1
es-broker2
...
es-brokerN
修改每台节点主机映射
vim /etc/hosts
ip1 主机名1
ip2 主机名2
...
ipN 主机名N
ip2 主机名2
...
ipN 主机名N
重启所有节点服务器
在任意一台服务器编写分发脚本
vim /bin/xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in 主机名1 主机名2 主机名N
do
echo ======================== $host ========================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4. 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file dose not exists!
fi
done
done
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in 主机名1 主机名2 主机名N
do
echo ======================== $host ========================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4. 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file dose not exists!
fi
done
done
修改分发脚本权限
chmod 777 xsync
每台服务器配置SSH无密登录,用于分发文件时,免去输入密码的步骤
生产rsa密钥
ssh-keygen -t rsa
三次回车
将公钥拷贝到目标机器
ssh-copy-id 主机名称1
yes,回车
输入密码,回车
安装ES
mkdir /opt/software
mkdir /opt/module
下载安装包,并上传至服务器/opt/software
tar -zxvf es压缩包 -C /opt/module
配置环境变量
理论上不用配,默认会使用自带的jdk
理论上不用配,默认会使用自带的jdk
vim /etc/profile.d/my_env.sh
#ES_JAVA_HOME
export ES_JAVA_HOME=/opt/module/ES解压包/jdk
export ES_HOME=/opt/module/ES解压包
export ES_JAVA_HOME=/opt/module/ES解压包/jdk
export ES_HOME=/opt/module/ES解压包
source /etc/profile.d/my_env.sh
cd ES解压包/config
修改elasticsearch.yml
vim elasticsearch.yml
network.host: 0.0.0.0
开启远程访问
开启远程访问
cluster.name: 自定义集群名称(英文字母和下划线)
node.name: 节点名称,每个节点要不一样
discovery.zen.ping.unicast.hosts: ["节点1:9300","节点2:9300"]
path.data: /opt/module/es安装包/data
path.logs: /opt/module/es安装包/logs
http.cors.enabled: true
http.cors.allow-origin: /.*/
修改jvm.option
根据自己的需要,可以修改分配的内存,一般建议4-8G
启动
bin/elasticsearch -d
http://ip:9200
安装ES浏览器插件Elasticsearch Head
GitHub检出
Gruntfile.js文件中,添加hostname:'*',
npm i
npm run start
http://127.0.0.1:9100
安装ik分词器
在官网下载安装包,必须和ES版本号一致
上传至/opt/software
unzip ik压缩包 -d /opt/module/ES解压包/plugins/analysis-ik
重启ES
kill -9 pid
cd /opt/module/ES解压包
bin/elasticsearch -d
节点分发ES
/bin/xsync /opt/module/ES安装包名称
记得修改elasticsearch.yml中的节点名称,保证唯一
安装Kibana
官网下载安装包
上传至/opt/software
tar -zxvf 压缩包 -C /opt/module
修改配置
vim config/kibana.yml
server.port: 默认5601,允许修改
server.host: "0.0.0.0"
elasticsearch.hosts: ["http(s)://es主机:9200","..."]
i18n.locale: "zh-CN"
cd 安装目录
启动
nohup bin/kibana &
http://127.0.0.1:5601

收藏
0 条评论
下一页