elasticsearch学习

elasticsearch

1.环境

  • centos 7.7
  • jdk 1.8

2.安装

安装

坑,我默认安装在了root路径下,后面会提到这个问题

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz.sha512
$ shasum -a 512 -c elasticsearch-7.3.0-linux-x86_64.tar.gz.sha512 
$ tar -xzf elasticsearch-7.3.0-linux-x86_64.tar.gz
$ cd elasticsearch-7.3.0/ 

在 Linux 上,你可以通过以 root 用户身份运行以下命令来增加限制:

sysctl -w vm.max_map_count=262144

要永久设置此值,请更新 /etc/sysctl.conf 中的 vm.max_map_count 设置。配置完毕后,我们可以使用如下的命令来使之起作用:

sysctl -p

要在重新引导后进行验证,请运行

sysctl vm.max_map_count

可以从命令行启动 Elasticsearch,如下所示:

./bin/elasticsearch

报错:can not run elasticsearch as root

原因:说是不能使用root权限启动,要创建一个新的普通用户es

groupadd es 
useradd es -g es -p password # -g 指定组 -p 密码 我的:123456
chown es:es -R /root/es/elasticsearch-7.3.0/ # -R 处理指定目录以及其子目录下的所有文件

.切换到es用户,启动

su es
./bin/elasticsearch

报错:Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker

原因:说是es不能安装在root路径下

#移动
mv /root/es . #转移到 opt目录下 .->代表我当前所在路径

.切换到es用户,启动

su es
./bin/elasticsearch

报错:could not find java in JAVA_HOME or bundled at /root/es/elasticsearch-7.3.0/

原因:就是java配置不对,原本是用root用户配置的,现在是普通用户

解决:

1、查看jdk路径

which java
输出:/usr/bin/java
 
ls -lr /usr/bin/java
输出:/usr/bin/java -> /etc/alternatives/java
 
ls -lrt /etc/alternatives/java
输出:/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/bin/java

java的安装目录为:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64

2、配置java_home

#1、打开配置环境变量的文件
vi /etc/profile
#2、添加以下配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#3. 让配置生效
source  /etc/profile
#4、测试
echo $JAVA_HOME

报错:future versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk1.8.0_121/jre] does not meet this requirement

原因:说是es7.3需要jdk11

有的帖子说不是问题,我访问下es界面 ,看是否成功

启动失败:贴子说不是问题,3个解决方法,分别是 1、安装jdk11 ;2、修改es配置文件 ;3、使用es自带的jdk。我选了2

#打开es下的config
#找到vi.options 加一条配置文件
-XX:MaxDirectMemorySize=64m

.切换到es用户,启动

成功

publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}
[2022-05-11T13:13:33,485][INFO ][o.e.n.Node               ] [iZbp18gmxmxwd5c8z9zywiZ] started

访问

curl 127.0.0.1:9200

报错:curl: (7) Failed connect to 127.0.0.1:9200; Connection refused

原因:说是es的配置文件的network端口没开

打开

#进入es下的config文件夹,有一个 elasticsearch.yml
#修改其中的 network.host:192.168.0.1 为 0.0.0.0

问题:我好像是即时启动,意思是我离开就会断开,还是要找一下后台启动命令。

访问:

curl 127.0.0.1:9200

成功示例:

{
  "name" : "iZbp18gmxmxwd5c8z9zywiZ",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6xMU5YCOQlWTZsZc4IIbww",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值