大数据的一些笔记
2018-01-04 本文已影响35人
slixiaohui
欢迎访问我的个人博客:https://xiaohuilee.github.io/
1. 大数据的经验之谈
1.1 技术栈:Python + 第二语言
Python的语法简单,使用人群可能面临爆发增长,拥有第二语言可以提高自己的竞争力,尤重Java,Scala。
- JavaEE可以帮助理解大数据,同时对于项目角色分配有很多帮助。
- Scala的人群在公司待遇会比普通大数据人员好些。
工具可以使用Pycharm或者Intellij IDEA + Python插件。
1.2 大数据框架的语言方向:
- Java
- Scala
- Python
1.3 大数据框架的应用方向:
Hadoop在许多公司里面偏向了底层,现在的公司大多偏向于后期运用,实时计算,机器学习等
- 实时计算:Spark,Storm
- 存储:Hive
- 算法:机器学习
2. Python + Hbase + Zookeeper + Thrift2的环境搭建
架构示意图如下:
python大数据架构.png
Hbase是用Java编写的,能够达到在十亿行 * 百万列级别的数据库上能做到实时定位以及查询。
2.1 安装Hadoop
2.2 搭建zookeeper集群
Zookeeper是用于管理Hbase的。
2.2.1 在主机们上安装Zookeeper
tar -zxvf zookeeper-...-tar.gz
2.2.2 配置环境变量
[/etc/profile]
export PATH=$PATH:ZK_HOME:/bin
2.2.3 配置Zookeeper并进行分发
将三台主机加入集群,并配置端口2888和3888。
[server01 ~ server03]
[/soft/zk/conf/zoo.cfg]
server.1=server01:2888:3888
server.2=server02:2888:3888
server.3=server03:2888:3888
2.2.4 配置Zookeeper集群的服务器标识(以辨认哪台服务器是哪台服务器)
服务器标识是存储在每台机子上Zookeeper的dataDir
目录里的myid
文件中,内置服务器的id标识。
echo 1 > /home/centos/zookeeper/myid
2.2.5 启动Zookeeper集群
[server01 ~ server03]
/soft/zk/bin/zkServer.sh start
Zookeeper集群有一个leader服务器,其他的都是follower服务器,可以通过zkServer.sh status
查看。
2.3 Hbase
2.3.1 安装Hbase数据库
tar -zxvf hbase-...-tar.gz
2.3.2 配置环境变量
[/etc/profile]
export PATH=$PATH:HBASE_HOME/bin
2.3.3 配置Hbase
注意:先做好备份
- 禁用Hbase默认的Manage
- 标识Zookeeper的地址
[hbase/conf/hbase-site.xml]
2.3.4 配置Hbase的leader
服务器和follower
服务器
前面因为zookeeper有一个leader和其他的follower,所以我们要对Hbase也作同样的处理。
vim /conf/regionservers
server02
server03
2.3.5 启动Hbase集群
Hbase集群依赖于Hadoop集群,所以在启动Hbase集群之前必须先启动Hadoop集群。
//启动Hadoop集群服务
start-all.sh
//启动Hbase集群服务
start-hbase.sh
服务启动.png
2.4 Thrift2
Thrift是作为中间桥梁供Python和Zookeeper交互的。