精华内容
下载资源
问答
  • 三台阿里机器 修改es config文件夹下 elasticsearch.yml 文件 cluster.name: product #集群名称 node.name: node-1 #节点名称 node.master: true #是否可以变成主节点 node.data: true # 是否存数据 ...

    前提:安装好单点服务,不会的看上一篇文章

    三台阿里云机器

    修改es config文件夹下 elasticsearch.yml 文件

    cluster.name: product   #集群名称
    node.name: node-1      #节点名称
    node.master: true         #是否可以变成主节点
    node.data: true            # 是否存数据
    network.host: 0.0.0.0   #外网可以访问
    http.port: 9200            # http 端口
    transport.tcp.port: 9300   #tcp 端口,java程序访问时候 配置该端口
    discovery.zen.ping.unicast.hosts: ["172.26.175.115:9300", "172.26.175.116:9300", "172.26.175.117:9300"] #节点内网ip地址
    discovery.zen.minimum_master_nodes: 3

     

     

    展开全文
  • 公司大数据集群搭建总结,自己买3台阿里服务进行搭建大数据集群搭建   第一步:下载zookeeeper的压缩包,下载网址如下 http://archive.apache.org/dist/zookeeper/  我们在这个网址下载我们使用的zk版本...

    目录

    第一步:下载zookeeeper的压缩包,下载网址如下

    第二步:解压 解压zookeeper的压缩包到/export/servers路径下去,然后准备进行安装

    第三步:修改配置文件

    第四步:添加myid配置

    第五步:安装包分发并修改myid的值,安装包分发到其他机器

    第六步:三台机器启动zookeeper服务

    第七步:连接到ZooKeeper

    第八步:配置环境变量(非必须)

    第九步:启动异常解决方案


    公司大数据集群搭建总结,自己买3台阿里云服务进行搭建大数据集群搭建

     

    第一步:下载zookeeeper的压缩包,下载网址如下

    http://archive.apache.org/dist/zookeeper/  我们在这个网址下载我们使用的zk版本为3.4.9

    下载完成之后,上传到我们的linux的/export/soxwares路径下准备进行安装

     

    第二步:解压 解压zookeeper的压缩包到/export/servers路径下去,然后准备进行安装

    cd /export/software

    tar -zxvf zookeeper-3.4.9.tar.gz -C ../servers/

     

    第三步:修改配置文件

    第一台机器修改配置文件

    cd /export/servers/zookeeper-3.4.9/conf/

    cp zoo_sample.cfg zoo.cfg

    mkdir -p /export/servers/zookeeper-3.4.9/zkdatas/

    vim zoo.cfg  

    dataDir=/export/servers/zookeeper-3.4.9/zkdatas
    
    # 保留多少个快照
    autopurge.snapRetainCount=3
    
    # 日志多少小时清理一次
    autopurge.purgeInterval=1
    
    # 集群中服务器地址
    server.1=server01:2888:3888
    server.2=server02:2888:3888
    server.3=server03:2888:3888

     

    其中:

    initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。

    syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。

    dataDir=/tmp/zookeeper: 用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。

    clientPort=2181: 表示客户端所连接的服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。

    2888:在zookeeper服务器之间及和leader连接时使用,

    3888:第二个端口号,是在进行leader选举时使用

    2181 是服务连接zookeeper端口

     

    第四步:添加myid配置

     新建myid文件

    在第一台机器的 /export/servers/zookeeper-3.4.9/zkdatas /这个路径下创建一个文件,文件名为myid ,文件内容为1

    echo 1 > /export/servers/zookeeper-3.4.9/zkdatas/myid

     

    第五步:安装包分发并修改myid的值,安装包分发到其他机器

    第一台机器上面执行以下两个命令

    scp -r /export/servers/zookeeper-3.4.9/ node02:/export/servers/
    scp -r /export/servers/zookeeper-3.4.9/ node03:/export/servers/

    在三个linux机器上刚刚创建的zookeeper目录下新建一个myid文件并打开,vi myid命令。

    在node01机器上输入1,保存退出;在node02机器上输入2,保存退出;在node03机器上输入3,保存退出。

    这里的1,2,3是与server1,2,3相对应的,这是zookeeper的序列号

    第二台机器上修改myid的值为2

    echo 2 > /export/servers/zookeeper-3.4.9/zkdatas/myid

    第三台机器上修改myid的值为3

    echo 3 > /export/servers/zookeeper-3.4.9/zkdatas/myid

    第六步:三台机器启动zookeeper服务

    三台机器启动zookeeper服务,这个命令三台机器都要执行

    /export/servers/zookeeper-3.4.9/bin/zkServer.sh start

    查看启动状态

    /export/servers/zookeeper-3.4.9/bin/zkServer.sh status

    zkServer.sh start 来启动。

    zkServer.sh restart (重启)

    zkServer.sh status (查看状态)

    zkServer.sh stop (关闭)

    zkServer.sh start-foreground (以打印日志方式启动)

    看到

    server02为leader

    server01为follower

    server02为follower

    第七步:连接到ZooKeeper

    在命令行中输入:zkCli.sh

    几个zNode节点操作的api简单介绍

    create /parh data 创建一个名为/path的zNode节点,并包含数据data
    
    delete /path 删除名为/path的zNode节点
    
    exists /path 检查是否存在名为/path的zNode节点
    
    setData /path data 设置名为/path的zNode的数据为data
    
    getData  /path  返回名为/path的zNode节点的数据信息
    
    getChildren /path 返回所有/path节点的所有子节点列表

     

    zNode节点还有不同的类型,持久(persistent)节点和临时(ephemeral)节点。持久的zNode,如/path,只能通过调用delete来进行删除,而临时的zNode则与之相反,当创建该节点的客户端崩溃或者关闭了与ZooKeeper服务器的连接时候,这个临时zNode节点就会被删除了。其中临时节点可用于实现分布式锁

    第八步:配置环境变量(非必须)

    为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。
    ps:你也可以不配,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。
    首先进入到 /etc/profile 目录,添加相应的配置信息:

    #set zookeeper environment
    export ZK_HOME=/export/servers/zookeeper-3.4.9
    export PATH=${JAVA_HOME}/bin:${ZK_HOME}/bin:$PATH


    然后通过如下命令使得环境变量生效:

    source /etc/profle
    启动命令:zkServer.sh start
    停止命令:zkServer.sh stop
    重启命令:zkServer.sh restart
    查看集群节点状态:zkServer.sh status
    以打印日志方式启动:zkServer.sh start-foreground 

     

    第九步:启动异常解决方案

    只有服务server01上机器启动,server02,server03机器没有启动,查看启动状态报异常

    Error contacting service. It is probably not running.
    • 定位问题以打印日志状态启动
    • 可以看出是端口连接不通

    • 但是防火墙端口我已经开放了

    • 最后考虑到阿里云没有打开安全组,添加端口安全组

     

    还是启动不了,最后把配置改成0.0.0.0  不知道为什么本机有hosts映射也不行

     

     

    展开全文
  • Redis集群搭建 阿里云服务器实战搭建成功,采用3台机器(3个主节点),每台机器2个节点(一个主节点,一个备份节点),共计6节点。 使用redis版本:4.0.11 服务器:centos 相关数据 主机外网ip 内网地址 端口 ...

    Redis集群搭建

    阿里云服务器实战搭建成功,采用3台机器(3个主节点),每台机器2个节点(一个主节点,一个备份节点),共计6节点。

    使用redis版本:4.0.11

    服务器:centos

    相关数据

    主机外网ip 内网地址 端口 备注
    out-ip1 inner-ip1 6379,6380 每台机器两个节点,端口分别是6379,6380
    out-ip2 inner-ip2 6379,6380 每台机器两个节点,端口分别是6379,6380
    out-ip3 inner-ip3 6379,6380 每台机器两个节点,端口分别是6379,6380

    redis密码:pwd2019

    注意:所有的节点的密码要设置统一。

    1 搭建单机版redis

    首先搭建一个单机版的redis,并保证其可用。

    此处不详述搭建过程,可参考:[Linux安装搭建redis][https://blog.csdn.net/weixin_43566469/article/details/84889639]

    2 创建目录和基本节点

    # 1. 创建redis集群目录
    mkdir /usr/local/redis-cluster
    # 2. 复制redis单机版,因本次搭建每台机器上两个节点,因此复制2份
    cp -r /usr/local/redis /usr/local/redis-cluster/redis01
    cp -r /usr/local/redis /usr/local/redis-cluster/redis02
    # 3. 删除复制后的redis中的数据文件 dump.rdb或appendonly.aof。集群一旦搭建,会规划好所有的slot和redis节点的关系. 原有的数据无法实现CRC16算法计算. 会导致集群搭建失败.
    cd /usr/local/redis-cluster/redis01
    rm -rvf dump.rdb appendonly.aof
    cd /usr/local/redis-cluster/redis02
    rm -rvf dump.rdb appendonly.aof
    # 4. 修改配置文件redis.conf
    vi redis.conf
    	# 后台启动
    	daemonize yes
    	# 如果需要外网访问集群。需将bind 127.0.0.1 这一行注释掉,如下
    	# bind 127.0.0.1
    	# 设置端口,6379或6380
    	port 6379
    	# 设置访问主节点的密码
    	masterauth pwd2019
    	# 设置密码
    	requirepass pwd2019
    	# 开启集群
    	cluster-enabled yes
    	# 节点配置文件
    	cluster-config-file nodes-6379.conf
    	# 节点超时时间
    	cluster-node-timeout 15000
    

    3台机器上均执行以上操作,就搭好了6个redis节点。配置文件可以写好一份后,进行复制也是也可以的,不过要注意端口号可能要更改一下。

    3 安装ruby和gem包

    ruby是一个脚本语言. 在redis的集群cluster中,集群的节点之间,是使用ruby脚本实现数据通讯的. redis的集群需要ruby提供数据访问.

    yum install -y ruby
    

    因为使用的是redis的较高版本,需要手动安装rvm,然后再安装gem。步骤如下:

    # 先获取一个签名认证服务
    gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
    # 安装rvm
    curl -sSL https://get.rvm.io | bash -s stable
    # 查看rvm库中已知的ruby版本
    rvm list known
    # 安装一个ruby版本
    rvm install 2.5.5
    # 设置使用默认版本
    rvm use 2.5.5 --default
    # 安装gem
    gem install redis
    

    4 开启端口防火墙

    注意:如果redis集群需要在外网访问,需要开放端口(如果只在内网访问,忽略该步骤),执行以下操作:

    此处使用了6379,6380端口。但实际上,redis还需要16379和16380端口作为总线端口。规则是redis所使用的端口+10000。

    因此需要开放6379,6380,16379,16380四个端口。

    如果是阿里云服务器,就需要在安全组上开放这些端口。

    5 集群脚本准备

    以下工作只需一台机器上执行即可。

    # 找到已编译的源码包下的src目录的redis-trib.rb脚本文件
    cd /usr/local/redis-4.0.11/src
    # 复制脚本到redis集群工作目录
    cp redis-trib.rb /usr/local/redis-cluster
    # 修改集群脚本配置,先找到client.rb,这个文件在使用的ruby下的gem包下
    find /usr/ -name 'client.rb'
    # 如果发现很多,注意一个是ruby版本,比如这里使用的是2.5.5,一个是gems后面是redis
    # 比如这里应该是这个文件
    /usr/local/rvm/gems/ruby-2.5.5/gems/redis-4.1.2/lib/redis/client.rb
    # 修改这个文件
    vi /usr/local/rvm/gems/ruby-2.5.5/gems/redis-4.1.2/lib/redis/client.rb
    # 找到password一行,修改为正确的密码,然后保存退出
    DEFAULTS = {
          :url => lambda { ENV["REDIS_URL"] },
          :scheme => "redis",
          :host => "127.0.0.1",
          :port => 6379,
          :path => nil,
          :timeout => 5.0,
          :password => "pwd2019",
          :db => 0,
          :driver => nil,
          :id => nil,
          :tcp_keepalive => 0,
          :reconnect_attempts => 1,
          :reconnect_delay => 0,
          :reconnect_delay_max => 0.5,
          :inherit_socket => false
        }
    
    
    

    7 启动redis所有节点的

    # 启动节点1
    cd /usr/local/redis-cluster/redis01
    ./bin/redis-server redis.conf
    # 启动节点2
    cd /usr/local/redis-cluster/redis02
    ./bin/redis-server redis.conf
    

    可以将上述命令写成一个脚本文件,方便执行

    # 创建start-all.sh脚本文件
    vi start-all.sh
    
    #!/bin/bash
    cd /usr/local/redis-cluster/redis01
    ./bin/redis-server redis.conf
    cd /usr/local/redis-cluster/redis02
    ./bin/redis-server redis.conf
    
    # 添加执行权限
    chmod u+x start-all.sh
    

    8 创建集群

    保证所有的redis集群节点都已启动

    然后在集群脚本准备好的机器(步骤5)上执行以下命令

    # 使用外网ip创建集群,这样外网才能正常访问。如果不需要外网访问,可以使用内网ip创建集群
    cd /usr/local/redis-cluster
    ./redis-trib.rb create --replicas 1 out-ip1:6379 out-ip2:6379 out-ip3:6379 out-ip3:6380 out-ip1:6380  out-ip2:6380
    

    命令解析:

    create - 创建集群

    –replicas 1 - 定义备份机数量, 每个主机节点对应一个备份机.

    ip:port- 提供redis应用所在的物理位置和端口号.

    互动提示,一定要输入yes. 其他任何输入,都代表取消配置.

    一般的,前3个节点将成为主节点,后面3个将成为从节点。这里依次输入了ip1,ip2,ip3,ip3,ip1,ip2的顺序,使ip3成为ip1的从节点,ip1成为ip2的从节点,ip2成为ip3的从节点。避免主从节点在同一台机器上。任何一台集群宕机都能保证集群仍能正常工作。

    展开全文
  • 我是在两台云服务器搭建的redis集群, ①首先两台云服务器上必须要安装redis,(这里省略安装步骤) ②在搭建redis集群之前需要安装ruby。redis使用ruby来做集群的。用一个叫redis-trib.rb的ruby脚本。redis-...

    我是在两台云服务器上搭建的redis集群,

        ①首先两台云服务器上必须要安装redis,(这里省略安装步骤)

        ②在搭建redis集群之前需要安装ruby。redis使用ruby来做集群的。用一个叫redis-trib.rb的ruby脚本。redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/)。是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。所以redis集群需要先安装ruby环境。安装好ruby后要安装redis的依赖--gem install redis(这里安装好后要确定是不是最新版本,至少是2.3版本)

    yum install centos-release-scl-rh    //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
    
    yum install rh-ruby23  -y    //直接yum安装即可  
    
    scl  enable  rh-ruby23 bash    //必要一步
    
    ruby -v    //查看安装版本

       ③首先在第一台服务器上创建多个节点,位置自己定,因为我使用的两台服务器,所以至少每台服务上要有三个节点,我是直接把每个节点的配置文件放到一个文件夹下的,没有单独存放,创建redis_cluster_node文件夹,进入文件夹,分别创建7000.conf,7001.conf,7002.conf,以一个文件中的内容为例,其他两个配置文件改为对应的端口等信息:

    port 7000
    bind 0.0.0.0
    daemonize yes
    pidfile 7000.pid
    logfile 7000.log
    cluster-enabled yes
    cluster-config-file 7000_node.conf
    cluster-node-timeout 15000
    appendonly yes
    protected-mode no

    ④第二台服务上同样以相同的方式创建三个配置文件,我用的是7003.conf,7004.conf, 7005.conf,分别对应其使用的端口号

    ⑤创建好以后,分别启动每个节点 redis-server 7000.conf 等

    两台云服务上的节点正常启动后会如上图所示

    ⑥此时可以使用以下命令创建集群(ip1和ip2分别对应两台云服务的外网地址):

    redis-trib.rb create --replicas 1 ip1:7000 ip1:7001 ip1:7002 ip2:7003 ip2:7004 ip2:7005

    注:在启动前,首先要保证两台服务开放了对应的端口,并且开放了每个端口的总线端口(必须要开发,否则会遇到各种意想不到的问题)

    这里需要开放 7000, 7001, 7002, 17000, 17001, 17002,服务2开放7005, 7003, 7004, 17005, 17004,17003

     当然,如果报了下面这个错误:

    说明ruby版本不是最新的,需要将ruby版本改为最新,至少2.3版本,如果这里又重新安装了ruby,还需要重新安装redis的依赖----- gem install redis

    ⑦如果使用命令启动正常的话;会出现下面提示:

    到此说明redis集群创建成功!!!

    下面可以测试下数据:

    使用命令:redis-cli -h ip1 -c -p 7000连接刚刚创建的任意一个节点 

     

    展开全文
  • 在阿里云服务器上面搭建集群 1.修改主机名 在里面输入:second02 然后再修改密码: 然后再输入reboot命令,重启服务器,接着再用新的密码登录即可 2.安装JDK: 将要安装的JDK拖拽到 这个页面上即可 在Linux系统...
  • 在阿里云服务器搭建TensorFlow集群

    千次阅读 2018-12-29 19:07:44
    在阿里云服务器搭建TensorFlow集群 首先安装Python 其次安装Anaconda 最后安装Tensorflow scp scp root@hadoop001:~/Anaconda3-4.4.0-Linux-x86_64.sh ~/ scp root@hadoop001:/usr/Python-3.6.0.tgz /usr sudo ...
  • 区分公网和私网 1.在集群内部设置hosts文件时设置的是私网,设置本地的hosts文件时设置的是公网。 2.外部服务器则对应公网,内部集群设置时写私网IP
  • 云服务器搭建hadoop集群

    千次阅读 热门讨论 2018-09-13 16:39:41
    我的阿里云服务器的公网IP为a11.b11.c11.d11,内网IP为a12.b12.c12.d12;腾讯云的服务器的公网IP为a21.b21.c21.d21,内网IP为a22.b22.c22.d22。 以阿里云的服务器为主,跑一个NameNode和一个DataNode,腾讯云服务器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,092
精华内容 12,036
关键字:

云服务器集群搭建