redis导入导出+elasticsearch集群搭建

redis导入导出+elasticsearch集群搭建

1.redis导入与导出

1.1 安装 ruby

sudo apt-get install ruby ruby-dev

1.2 安装redis-dump工具

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l
# 安装redis-dump
sudo gem install redis-dump -V

1.3 一些问题

安装redis-dump失败出现:

ERROR: Error installing redis-dump:
ERROR: Failed to build gem native extension.

则安装ruby-dev即可解决!

sudo apt-get install ruby-dev

如果没安装curl,需要安装上。

1.4 实操

导出:

# 导出命令
redis-dump –u 127.0.0.1:6379 > data.json

导入:

#导入命令
cat  data.json | redis-load -u 127.0.0.1:6379

2.elasticsearch集群搭建

2.1 基础配置

2.1.1 静态IP

Ubuntu18.04 2台机器构建的集群,两台机器IP对应为:

192.168.175.121
192.168.175.122

在ubuntu18.04TLS中,其引入了一个新的工具netplan来进行网络设备的管理,对其进行设置。

netplan的配置文件位于/etc/netplan文件夹下面。这个目录下没有配置文件,就通过下面生成一个:

sudo netplan generate

默认的是01-network-manager-all.yaml,修改这个文件:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
     ens33: #配置的网卡名称,使用ifconfig -a查看得到,且必须是空格缩进,netplan只认空格
       dhcp4: no #no-dhcp4开启 true-dhcp4开启
       dhcp6: true #true-dhcp6开启 no-dhcp6关闭
       addresses: [192.168.175.121/24, ] #设置本机IP及掩码,这个逗号和空格好像不能少的默认网关
       nameservers:  #设置DNS服务器
         addresses: [8.8.8.8,8.8.8.4]  #多个DNS服务器之间用逗号隔开

两个机器都按照上述配置,最后让其生效:

sudo netplan apply

然后ifconfig查看是否生效。

2.1.2 免密登录

很多人困惑免密登录,其实简单的很,两个动作:

第一个:生成公钥与私钥

ssh-keygen -t rsa

第二个:彼此信任

将自己的id_rsa.pub复制到对方的authorized_keys中即可!

2.2 集群配置

下载 Elasticsearch7.5.1

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz

对于最新的 Elasticsearch,一般不可直接在root下直接使用,需要创建一个专门用户,当然可以使用现有的非root用户,例如:

sudo chown -R light:light elasticsearch-7.5.1-linux-x86_64/

如果只有root用户,就需要创建个普通用户,如下:

# 创建elastic用户
useradd elastic
# 设置用户密码
passwd elastic
# 切换到elastic用户
su elastic

另外,最新的版本内置jdk,只需要将其配置为elasticsearch的JAVA环境即可!

elasticsearch内置jvm配置,修改config目录下jvm.options配置(堆空间占用修改,根据自己机器的内存配置修改):

-Xms512m
-Xmx512m

最后,配置config下的elasticsearch.yml文件,在elasticsearch-7.5.1-linux-x86_64目录下创建data、logs文件夹:

mkdir data
mkdir logs

配置文件elasticsearch.yml

# 集群名
cluster.name: car-es

# 节点名 我这是2台虚拟机, 所以分别是node-1 到 node-2
node.name: node-1

# 主机名
network.host: 192.168.175.121
path.data: /usr/local/elasticsearch-7.5.1/data
path.logs: /usr/local/elasticsearch-7.5.1/logs

# http连接端口, ps: 9300为集群内部通信端口
http.port: 9200
# 比较新的版本不需要配置多波和防脑裂
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
discovery.zen.ping.unicast.hosts: ["192.168.175.121","192.168.175.122"]
# 初始主节点
cluster.initial_master_nodes: ["node-1"]

将上述配置文件拷贝到另外一台机器上,并修改节点名与主机名即可。

2.3 设置虚拟内存

将虚拟内存设置大一些,否则在启动elasticsearch时会出错导致启动失败:

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

输入 vi /etc/sysctl.conf 命令在 sysctl.conf 中配置如下内容:

vm.max_map_count=655360

接着输入如下命令让配置生效:

sysctl -p

2.4 设置最大文件描述符

在启动Elasticsearch有可能会出现如下错误:

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at
least [65536]

错误说明:elasticsearch过程的最大文件描述符 [4096] 太低,增加到 最少 [65536]

接下来我们修改最大文件描述符,输入 vi /etc/security/limits.conf 命令在 limits.conf 中配置如下内容:

light soft nofile 65536
light hard nofile 65536
light soft nproc 65536
light hard nproc 65536

light是当前用户!

在Centos中,修改上述后重启直接生效,可是Ubuntu16以后的系统是生效不了的,输入:

ulimit -n

一直显示的是4096,说明失败了。

针对这个问题,终于在下面链接中学习到方法。

https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu

除此之外,要修改/etc/systemd/user.conf/etc/systemd/system.conf 文件:

DefaultLimitNOFILE=65535

重启系统后,再次查看:

ulimit -n

此时,不再是4096了,说明修改正确。

2.5 检查集群

两个机器的elasticsearch启动:

./bin/elasticsearch

后台启动:

./bin/elasticsearch -d -p pid

浏览器输入:

http://192.168.175.121:9200/_cat/health?v

epoch      timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1580390540 13:22:20  car-es  green           2         2      6   3    0    0        0             0                  -                100.0%

cluster:显示的是当前集群的名称 status:显示的是 green 表示当前集群是健康的状态 node.total:显示 3 表示当前集群有三个节点

至此,集群搭建成功。

3.插件

3.1 ElasticSearch Head

最新的ElasticSearch 版本,如果安装Head插件,需要以浏览器插件形式,在谷歌浏览器中输入:ElasticSearch Head,安装即可!

便可以看到下面界面:

3.2 kibana

官网下载太慢,这里给个国内镜像:

https://mirrors.huaweicloud.com/kibana/

选择对应的ElasticSearch版本下载即可,最后将配置文件中的下面两个参数进行修改:

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.175.121:9200"]

启动kibana:

./bin/kibana

浏览器输入:

http://192.168.175.121:5601/

可以看到如下图:

当然在Head插件里面,可以除了节点信息,还多了几个信息:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值