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:3888server.2=hslave2:2888:3888mkdir /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

Centos7 ZooKeeper 安装过程的更多相关文章
- centos7 mysql-server 安装过程
官网下载安装mysql-server # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -i ...
- centos7 redmine安装过程
mysql安装配置 redmine 部署过程 redmin官方文档写的太烂加上不熟悉ruby搞了半天,回到家后觉得还是记录下好,希望可以帮助有需要的人,少走弯路. 版本说明 下面的版本很重要re ...
- centos7 redmine安装过程(转载)
redmine 部署过程 redmin官方文档写的太烂加上不熟悉ruby搞了半天,回到家后觉得还是记录下好,希望可以帮助有需要的人,少走弯路. 版本说明 下面的版本很重要redmine 版本 3.3 ...
- CentOS7 Zookeeper 安装
集群部署 192.168.38.6 zk01192.168.38.7 zk02192.168.38.8 zk03 安装zookeeper,必须安装jdk. 1.下载 $ cd /usr/loca ...
- Zookeeper安装过程
zookeeper的安装我反反复复安装了三次,前两次在root用户下安装都失败了,都启动不起来,第三次我改成普通用户安装,没想到成功了,很不可思议,步骤完全一样,接下来介绍一下具体的安装步骤: 1. ...
- Centos7 JDK安装过程中 解决java -version 报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied
1.执行Linux命令 -----vim /etc/profile 编辑profile 文件,在里面添加: #set java enviroment JAVA_HOME=/opt/JavaHome ...
- centos7.4安装过程
开启CPU虚拟化 按到install CentOS7 按下tab 输入net.ifnames=0 biosdevname=0 先来一段文档v1 ============================ ...
- Centos7 nginx安装过程
一.Centos版本: cat /etc/centos-release CentOS Linux release 7.1.1503 (Core) 二.nginx下载 官网:http://nginx.o ...
- Centos7:zookeeper安装,配置与使用
配置jdk环境 解压缩zookeeper的压缩包 配置 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中dataDir=**/data 常用命令 . ...
随机推荐
- Linux中source是什么指令?
命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令“.”来替代. 如:source /etc/profile 与 . / ...
- C#入门随手笔记
1..Net Framework是Microsoft为开发应用程序而创建的一个开发平台. 运行操作系统不限:Microsoft版本运行在windows,Mono版本运行开Linux和MacOS: 应用 ...
- OS X 10.10.5编译Android5.1.1源码
--------------------------------------------------写在前面---------------------------------------------- ...
- linux之awk、sed命令
总结: 两个命令的正则表达式都用''单引号进行区分. 输出变量名用单引号,输出变量值用双引号,这个在bash脚本里一般是通用的. 在bash脚本里要使用变量值,都要加上双引号 awk用法: 参考网址: ...
- Flash相册-------3D旋转应用
1.图层一,图片1,转换为元件 2.3D旋转工具,变形--->y->180
- NFS工作原理及配置文件详解
nfs工作原理流程 如上图所示,当访问程序通过NFS客户端向NFS服务端存取文件时,其请求数据流程如下几点: 1.首先用户访问网站程序,由程序在NFS客户端上发出NFS文件存取功能 ...
- codemirror和ace editor的语法高亮
两个javascript库用做在线代码编辑器都是非常优秀的选择 我这两天对这两个类库做了简单的研究,重点是语法高亮的自定义: ace editor的主要思路是生成状态机,从一个startstate开始 ...
- 手把手教你crontab排障
导读 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,cr ...
- C++和C中的函数如何相互调用
今天笔试遇到的一题,当时就写了在函数前声明为C,按C编译. 首先是在C中调用C++函数,包括普通函数,重载函数以及成员函数. 对于普通函数,在C++中声明为extern "C",在 ...
- div 加滚动条
div 加滚动条的方法: <div style="position:absolute; height:400px; overflow:auto"></div> ...