大数据环境搭建及zookeeper学习笔记

一、搭建环境常用命令:

1.设置ip地址、子网掩码、网关:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

2.重启网络

service network restart

3.修改主机和ip地址映射关系

vim /etc/hosts

4.修改机器网卡设置

vim /etc/udev/rules.d/70-persistent-net.rules

5.修改主机名称

vim /etc/sysconfig/network

6.查看防火墙iptables自动启动状态:

chkconfig iptables --list

查看iptables状态:

service iptables status

开启/关闭iptables:

service iptables start

service iptables stop

设置iptables开机启动/不启动:

chkconfig iptables on/off

二、为用户添加sudo权限:

首需要切换到root身份

$su -

(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)

然后

$visudo     //切记,此处没有vi和sudo之间没有空格

1、移动光标,到最后一行

2、按a,进入append模式

3、输入

your_user_name ALL=(ALL)  ALL

4、按Esc

5、输入“:w”(保存文件)

6、输入“:q”(退出)

这样就把自己加入了sudo组,可以使用sudo命令了。

三、环境变量添加方式

export JAVA_HOME=/usr/local/jdk

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin

每次添加一个都在PATH的最后添加,添加方式是 :${PATH_HOME}/bin

四、zookeeper简介

基本概念

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

原理

ZooKeeper的基本运转流程:

1、选举Leader。

2、同步数据。

3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。

4、Leader要具有最高的执行ID,类似root权限。

5、集群中大多数的机器得到响应并接受选出的Leader。

此处为一个系列文章,值得学习:zookeeper

一些解释

znode是zookeeper中的一个数据节点,znode下还可以创建子znode,可以理解为文件夹的构造,一个文件夹下可以有子文件夹或者子文件。

可以理解为zookeeper提供了一种存储系统,这个存储系统里存储的是znode的树形结构

每一个znode就是一个数据节点,znode可以存数据,也可以实现类似文件夹的功能,就是znode下可以创建子znode,但是临时节点下是不能创建子节点的。

整个集群会选举出一个leader,这个leader负责处理客户端的事务请求,事务请求包括znode的创建、修改、删除等,follower负责处理客户端的读请求。

当集群中的任何一个follower节点接收到客户端的事务请求,都会转发给leader,也就是说整个集群只有leader可以处理事务请求,其他角色的节点都不能处理,当leader处理事务请求的时候,就要向整个集群广播一个提议,这个提议的意思就是告诉follower你们要创建/修改/删除一个znode,然后follower接收到leader的提议之后,就会做相应的操作,操作完成告诉leader完成了

当leader接收到集群中的大多数follower的成功操作的回复之后,这里的大多数指的是超过集群机器数量的一半

如果有落后的follower,这些落后的follower也会从leader同步状态,保持与leader的状态一致。

你可能感兴趣的:(大数据环境搭建及zookeeper学习笔记)