day1 大数据和zookeeper的安装

大数据(了解)

定义:指无法在一定时间范围内用常规软件工具进行捕捉、管理和数据的数据聚合

解决的问题:如何存储、如何分析处理
数据的单位:bit、Byte、KB、MB、GB、TB、PB、EB
应用:o2o、零售、房产,保险,物联网

*Linux集群环境搭建

  1. 创建虚拟机
  2. windows确定所有vm的服务都启动了
  3. 确认好网关地址
  4. 确认VmNet8网卡已经配置好了ip地址和DN
  5. 复制虚拟机
  6. 配置mac地址和ip地址
  7. 配置主机名和域名映射
  8. 关闭防火墙和SELinux
  9. ssh免密登录,生成公钥和秘钥
  10. 时钟同步

安装:

yum install -y ntp

同步

crontab -e

随后在输入界面输入

*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;

安装jdk和mysql(查阅资料即可)

Shell脚本基础增强

如何创建和使用 shell 脚本
创建:

#!/bin/bash
echo "Hello World !"

执行
方式1:sh hello.sh
方式2:

chomd+X ./hello.sh		#使脚本具有权限
./hello.sh		#执行脚本

变量的创建和使用
局部变量:

#!/bin/bash
str="hello"
echo ${str}world

全局变量:
指的是环境变量什么的之类
变量的类型:局部变量、环境变量、shell变量
shell 脚本的参数使用

#!/bin/bash
a=1;
b=2;
echo `expr $a + $b`;
echo $((a+b));
echo $[a+b];

shell 流程语句
if语句:

if[]
then
elif
then
else
fi

for语句:

for()
do
done

函数的定义和调用

funWithReturn(){
}
funWithReturn		#调用

Zookeeper

主要解决分布式集群中应用系统的一致性问题

面向客户端的分布式系统文件
根目录是/
从根目录开始,每一个节点称为znode
znode特性
文件夹特性:一个znode下可以有子znode
文件特性:一个znode可以存储数据和元数据信息
znode类型
永久类型/临时类型:取决于客户端断开后是否被销毁
永久序列化类型/临时序列化类型:普通节点的名字创建指定,序列化节点就是节点后面带了个序列化码

  • 架构
    Zookeeper集群是一个基于主从架构的高可用集群

  • 主从和主备
    1、Leader 一个Zookeeper集群同一时间只会有一个实际工作的Leader,它会发起并维护与各
    Follwer及Observer间的心跳。所有的写操作必须要通过Leader完成再由Leader将写操作广
    播给其它服务器。
    2、Follower 一个Zookeeper集群可能同时存在多个Follower,它会响应Leader的心跳。
    Follower可直接处理并返回客户端的读请求,同时会将写请求转发给Leader处理,并且负
    责在Leader处理写请求时对请求进行投票。
    3、Observer 角色与Follower类似,但是无投票权。

  • Leader选举
    什么时候选举Leader(必须要有两台服务器或以上才能进行选举)
    A.服务器启动时期会进行Leader选举:
    B.一旦Leader服务器挂了,那么整个集群将暂停对外服务,进入新一轮Leader选举,其过程和启动时期的Leader选举过程基本一致过程相同。
    票的结构(myid,zxid)
    (myid,zxid):(服务器id,事务id)
    投票的流程
    (1) 每个Server发出一个投票。
    (2) 接受来自各个服务器的投票。
    (3) 处理投票。
    · 优先检查ZXID。ZXID比较大的服务器优先作为Leader。
    · 如果ZXID相同,那么就比较myid。myid较大的服务器作为Leader服务器。
    (4) 统计投票。
    (5) 改变服务器状态。一旦确定了Leader,每个服务器就会更新自己的状态,如果是
    Follower,那么就变更为FOLLOWING,如果是Leader,就变更为LEADING。

安装(查资料)

启动zookeeper:
/export/servers/zookeeper-3.4.9/bin/zkServer.sh start

查看启动状态
/export/servers/zookeeper-3.4.9/bin/zkServer.sh status

已经在环境变量中配置好,启动只需要:
zkServer.sh start

常用的命令
创建znode
create -e -s path data [znode]
列出path下对应的znode的数据和属性
get path [znode]
查看Path下所有Znode以及子Znode的属性
ls2 path [znode]
更新节点
set path data []
删除节点,如果删除的节点有子节点就无法删除
delete path []
rmr path 删除节点, 如果有子Znode则递归删除

面试题

1.下面与 Zookeeper 类似的框架是?
A Protobuf: JSON XML
B Java
C Kafka 消息队列
D Chubby[tʃʌbi]
答案D:谷歌内部的分布式锁服务 Chubby

2.选举机制(半数机制)
1.集群有几台机器节点,可以在配置文件中指定。比如我的机器有vm01,vm02,vm03,vm04。
2.启动vm01,vm02,打印角色失败。
3.启动vm03,打印vm01,vm02,vm03角色成功,并且vm03的myid最高,是leader.
4.启动vm04,打印角色是follower。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值