zoukankan      html  css  js  c++  java
  • Centos7 ZooKeeper 安装过程

    www.apache.org/dist/上可以下载Hadoop整个生态环境的组件,我下的Zookeeper3.4.6版本

    我一般都是在一个虚拟机上将一、二步都做完,然后克隆出来,再到克隆出来的虚拟机上分别配置,毕竟能省则省,不要重复劳动。

    一、CentOS配置

    在VMWare中每个虚拟机都选择桥接模式。即可在网络中独立分配一个IP,每台机器单独设定一个IP。

    1. 配置hosts

    vi /etc/hosts

    192.168.1.150 hmaster0

    192.168.1.151 hmaster1

    192.168.1.152 hslave0

    192.168.1.153 hslave1

    192.168.1.154 hslave2

    2. 关闭防火墙

    systemctl status firewalld.service  #检查防火墙状态

    systemctl stop firewalld.service  #关闭防火墙

    systemctl disable firewalld.service  #禁止开机启动防火墙

    3. 关闭SELINUX

    vi /etc/selinux/config

    #SELINUX=enforcing  #注释掉

    #SELINUXTYPE=targeted  #注释掉

    SELINUX=disabled  #增加

    4. 立即生效配置

    setenforce 0  #使配置立即生效

    5. 同步网络时间

    ntpdate cn.pool.ntp.org  #同步网络时间

    在设置完毕后,可以测试能否互相Ping通

    二、 Java配置

    下载一个Java压缩包,我这里下载的是jdk-8u45-linux-x64.gz

    1. 解压Java包

    mkdir /usr/java

    tar -zxvf jdk-8u45-linux-x64.gz -C /usr/java/

    rm -rf jdk-8u25-linux-x64.tar.gz

    2. 配置JDK环境变量

    vi /etc/environment

    JAVA_HOME=/usr/java/jdk1.8.0_25

    JRE_HOME=/usr/java/jdk1.8.0_25/jre

    vi /etc/profile

    export JAVA_HOME=/usr/java/jdk1.8.0_45

    export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    source /etc/profile  #使配置文件生效

    java -version  #查看java版本

    三、配置无密钥的SSH访问

    首先讲讲无密钥SSH,每台机器可以生成自己的一对公司钥,私钥自己保存。将本机作为服务器,要通过无密钥SSH访问本机的机器作为客户端,首先将服务器的公钥放到客户端,客户端将此公钥放到authorized_keys中,可以将authorized_keys认为是公钥的字典文件,因为可以放多个服务器的公钥进去,即可实现无密钥SSH访问。

    在此处为了方便,我将所有网内的节点机器都互相能SSH无密钥登录,可以理解为双向无密钥登录。

    首先得检查是否有SSH服务,如果没有就用yum安装一个并启动。此步省略。

    1. 在每个虚拟机上都生成密钥

    ssh-keygen -t rsa  #生成密钥,一路回车即可,只适用于测试环境,正式环境请设定密码

    2. 每个节点机器更改自己的密钥名称并传输到hmaster0机器上

    例如在slave0机器上,其他机器类似,只是公钥名称有变动

    cp ~/.ssh/id_rsa.pub ~/.ssh/hslave0.id_rsa.pub #修改名称

    scp ~/.ssh/hslave0.id_rsa.pub master:~/.ssh #传输至hmaster0机器上

    3. 在hmaster0机器上生成统一的authorized_keys

    cd ~/.ssh

    cat id_rsa.pub >> authorized_keys #这个是hmaster0生成的公钥,就在本机,不用改名称,生成了就可以

    cat hmaster1.id_rsa.pub >> authorized_keys  

    cat hslave0.id_rsa.pub >> authorized_keys

    ...

    直到hslave2也导入至authorized_keys

    4. 将统一的authorized_keys分发至每个节点

    scp authorized_keys hmaster1:~/.ssh #记得路径是在~/.ssh下

    ...

    直到hslave2

    5. 修改配置文件(每台机器都要)

    vi /etc/ssh/sshd_config

    找到以下内容,并去掉注释符”#“

    RSAAuthentication yes

    PubkeyAuthentication yes

    AuthorizedKeysFile      .ssh/authorized_keys

    vi /sbin/service sshd restart #重启服务

    6. 修改权限(每台机器都要)

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

    如果不是root用户,是另外的用户例如A,则key文件在/home/A/.ssh中,/home/A 这个文件夹的权限改为755

    chmod 755 /home/A

    测试一下

    已经不需要密码可以登录了

    四、Zookeeper集群安装

    只在Slave节点机器上安装

    1. 解压安装包 

    tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/

    2. 编辑配置文件

    具体的配置参数可以到官方文档上查看

    cd /opt/zookeeper-3.4.6/conf

    cp zoo_sample.cfg zoo.cfg #将sample配置文件复制为正式的配置文件

    vi zoo.cfg #开始编辑

    dataDir=/home/zookeeper/data    #数据目录
    dataLogDir=/home/zookeeper/logs  #日志目录
    server.0=hslave0:2888:3888         
    server.1=hslave1:2888:3888
    server.2=hslave2:2888:3888
     
    3. 创建目录以及要Id文件

    mkdir /home/zookeeper/data

    mkdir /home/zookeeper/logs

    vi /home/zookeeper/data/myid #创建myid文件,并编辑它,编辑的内容就是配置文件中server.后面跟着的号数。例如目前是在slave0机器上,则在myid文件中写入0

    4. 启动节点(slave节点机器)

    /opt/zookeeper-3.4.6/bin/zkServer.sh start


    5. 检查运行情况

    /opt/zookeeper-3.4.6/bin/zkServer.sh status

    在每个slave节点机器上运行此命令,会出现Follower和Leader

  • 相关阅读:
    用Django开发简单的POST/GET接口
    搭建Django环境
    用Django创建一个项目
    NodeJS服务器退出:完成任务,优雅退出
    linux 常用bash
    泛型笔记
    finderweb日志查看系统配置使用
    finderweb日志查看系统部署
    jenkins+gitlab自动部署代码
    jenkins 配置 git拉取代码
  • 原文地址:https://www.cnblogs.com/likui360/p/5983564.html
Copyright © 2011-2022 走看看