企业级360°全方位用户画像:环境搭建[五]
絮叨两句:
博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们
人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战
少年易老学难成,一寸光阴不可轻。
最喜欢的一句话:今日事,今日毕
页数 | 名称 |
---|---|
上一页 | 企业级360°全方位用户画像:标签系统[四] |
企业级360°全方位用户画像:环境搭建[五] | |
下一页 | 企业级360°全方位用户画像:业务数据调研及ETL[六] |
文章目录
- 前言
- 项目环境搭建
- 大数据平台基础环境
- 安装JDK1.8,配置环境变量
- 安装Scala 2.11,配置环境变量
- 安装MySQL数据库
- 分布式协作服务Zookeeper
- 大数据基础框架Hadoop
- 分布式文件系统HDFS
- 分布式资源管理框架YARN
- 计算处理框架MapReduce
- 数据仓库框架Hive
- 大数据NoSQL数据库HBase
- 大数据生态组件
- 数据转换工具SQOOP
- 数据实时抽取采集Flume
- 任务调度框架Oozie
- 大数据可视化工具Hue
- 大数据分析框架Spark
前言
依据项目需求,使用大数据相关技术框架,安装目录及软件版本具体如下图所示:
提示:以下是本篇文章正文内容,下面案例可供参考
项目环境搭建
ln [OPTION]... [-T] TARGET LINK_NAME# 比如
ln -s /export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0 spark
1)、ClouderaManagerCM安装软件目录:/opt/parcells/......///......
2)、Ambari开源/etc//usr/lib/impala/
大数据平台基础环境
- JDK 1.8
所有的大数据框架(90%)基于Java语言编写的 - Scala 2.11
Spark框架和Kafka框架使用Scala语言编写的 - MySQL
- Hive 表元数据MetaStore
- Oozie和Hue元数据
- 系统:WEB Platform
业务数据存储:tags
安装JDK1.8,配置环境变量
# JAVA HOME
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:${JAVA_HOME}/bin
安装Scala 2.11,配置环境变量
# SCALA HOME
export SCALA_HOME=/export/servers/scala
export PATH=$PATH:${SCALA_HOME}/bin
安装MySQL数据库
按照MySQL数据库功能:
1)、Hive MetaStore存储存储元数据
2)、标签系统WEB 平台数据存储tbl_basic_tagtbl_model3)、Oozie 数据存储Oozie调度Spark2应用程序
4)、Hue 数据存储方便操作大数据平台组件5)、业务数据: tags_dat订单数据、订单商品表数据、会员信息数据、行为日志数据
截图如下所示:
在实际项目,MySQL数据库字符编码最好是UTF-8,避免乱码出现。
此处使用数据库版本:5.1.73,此版本较低,实际项目使用高版本(至少为**5.6.17**)版本以上。
[root@bigdata-cdh01 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.73 Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_orders |
| hue |
| metastore |
| mysql |
| oozie |
| tags |
| tags_dat |
| test |
+--------------------+
9 rows in set (0.31 sec)
点击:linux安装jdk,tomcat,mysql
分布式协作服务Zookeeper
- 配置文件:
$ZOOKEEPER_HOME/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/export/servers/zookeeper/datas/data
dataLogDir=/export/servers/zookeeper/datas/log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
##server.1=bigdata-cdh01.itcast.cn:2888:3888
##server.2=bigdata-cdh02.itcast.cn:2888:3888
##server.3=bigdata-cdh03.itcast.cn:2888:3888
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
- 创建数据和日志目录:
mkdir -p /export/servers/zookeeper/datas/data
mkdir -p /export/servers/zookeeper/datas/log
针对Zookeeper集群监控工具:
1. TaoKeeper :
阿里巴巴开源ZK监控工具,目前基本没人使用
2. zkui
https://github.com/DeemOpen/zkui
https://www.jianshu.com/p/dac4c0bd1d2e
大数据基础框架Hadoop
HDFS(分布式文件系统)
YARN(集群资源管理和任务调度平台)
MapReduce(海量数据处理框架)
分布式文件系统HDFS
- 环境变量配置:
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/export/servers/jdk
- common模块配置文件:
$HADOOP_HOME/etc/hadoop/core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>fs.defaultFS</name><value>hdfs://bigdata-cdh01.itcast.cn:8020</value></property><property><name>hadoop.tmp.dir</name><value>/export/servers/hadoop/datas</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hue.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.hue.groups</name><value>*</value></property></configuration>
- hdfs模块配置文件:
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.permissions.enabled</name><value>false</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>
</configuration>
- 配置文件:
$HADOOP_HOME/etc/hadoop/slaves
bigdata-cdh01.itcast.cn
分布式资源管理框架YARN
面试题:
目前来说,大数据框架Spark 主要还是运行在YANR上,所以必须掌握如下两个问题:
- YARN 如何资源管理和应用调度
- Hadoop组成:Apache Hadoop YARN
- Hadoop组成:Apache Hadoop YARN调度器
- Spark on YARN:两个DeployMode提交流程与区别
必问,死背[待补充]
- 配置文件
$HADOOP_HOME/etc/hadoop/yarn-env.sh
:
# some Java parameters
export JAVA_HOME=/export/servers/jdk
- 配置文件
$HADOOP_HOME/etc/hadoop/yarn-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>yarn.resourcemanager.hostname</name><value>bigdata-cdh01.itcast.cn</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><property><name>yarn.log.server.url</name><value>http://bigdata-cdh01.itcast.cn:19888/jobhistory/logs</value></property></configuration>
计算处理框架MapReduce
面试题: MapReduce Shuffle过程,必须会背会写
MapReduce Shuffle过程
- 配置文件
$HADOOP_HOME/etc/hadoop/mapred-env.sh
:
export JAVA_HOME=/export/servers/jdk
- 配置文件
$HADOOP_HOME/etc/hadoop/mapred-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>bigdata-cdh01.itcast.cn:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>bigdata-cdh01.itcast.cn:19888</value></property>
</configuration>
数据仓库框架Hive
基于HADOOP之上数据仓库框架Hive,在企业中使用非常广泛,底层MR计算分析数据。
- 针对Hive框架来说,底层计算引擎可以为三种:
- MapReduce(最原始)
- Tez
- Spark
- 从Hive 2.0开始,官方建议使用Spark/Tez作为计算引擎,不推荐使用MR。
面试题:Hive 框架架构组成,核心Driver(具体功能)
将SQL转换为MapReduce程序,提交运行到YARN上, 处理存储在HDFS上数据。
- 配置文件:
$HIVE_HOME/conf/hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/export/servers/hadoop# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/export/servers/hive/conf
- 配置文件:
$HIVE_HOME/conf/hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://bigdata-cdh01.itcast.cn:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value><description>password to use against metastore database</description></property><property><name>hive.cli.print.header</name><value>true</value><description>Whether to print the names of the columns in query output.</description></property><property><name>hive.cli.print.current.db</name><value>true</value></property><property><name>hive.mapred.mode</name><value>strict</value></property><property><name>hive.metastore.uris</name><value>thrift://bigdata-cdh01.itcast.cn:9083</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property>
</configuration>
将MySQL数据库驱动包放入$HIVE_HOME/lib目录下。
大数据NoSQL数据库HBase
基于HDFS之上,存储海量数据NoSQL数据库HBase,面向列存储,可以存储几十亿行和百万列。
面试题:1. 从HBase表中读写数据流程首先连接ZK地址,找Meta表的Region所在的RegionServer地址信息读流程:MemStore 、StoreFile、BlockCache(读缓存)写流程:WAL(预写日志)、MemStore、StoreFile(Compaction:Minor、Major)2 . HBase表的设计就是RowKey设计:唯一性、避免热点、前缀匹配查询3. HBase 性能优化数据压缩、表预分区,JVM设置,RegionServer内存分配设置HBase是否有单点故障:没有,可以启动多个HMaster
如果HBase集群中HMaster宕机了,短时间内是否影响Client读写表的数据:不影响
- 配置文件:
$HBASE_HOME/conf/hbase-env.sh
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/export/servers/jdk# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
- 配置文件:
$HBASE_HOME/conf/hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!-- 指定HBase框架运行临时目录 --><property ><name>hbase.tmp.dir</name><value>/export/servers/hbase/data/tmp</value></property><!-- HBASE 表中数据存储在HDFS上根目录 --><property ><name>hbase.rootdir</name><value>hdfs://bigdata-cdh01.itcast.cn:8020/hbase</value></property><!-- HBase Cluster 集群运行在分布式模式下,伪分布式也是分布式 --><property ><name>hbase.cluster.distributed</name><value>true</value></property><!-- 告知HBase Cluster所依赖的ZK Cluster地址 --><property><name>hbase.zookeeper.quorum</name><value>bigdata-cdh01.itcast.cn</value></property><!-- 配置压缩SNAPPY和LZ4 --><!-- <property><name>hbase.master.check.compression</name><value>true</value></property><property><name>hbase.regionserver.codecs</name><value>lz4</value></property>--></configuration>
- 配置文件:
$HBASE_HOME/conf/regionservers
bigdata-cdh01.itcast.cn
大数据生态组件
生态组件中有SQOOP、FLUME、OOZIE和HUE,方便数据采集及任务调度查看。
数据转换工具SQOOP
数据实时抽取采集Flume
面试题:Flume采集数据时,考虑架构:高可用和负载均衡案例:1)、Flume 高可用:https://blog.csdn.net/jinYwuM/article/details/825946182)、Flume 负载均衡https://blog.csdn.net/silentwolfyh/article/details/51165804
任务调度框架Oozie
大数据可视化工具Hue
大数据分析框架Spark
- 配置文件:
$SPARK_HOME/conf/spark-env.sh
JAVA_HOME=/export/servers/jdk
SCALA_HOME=/export/servers/scalaHADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop
YARN_CONF_DIR=/export/servers/hadoop/etc/hadoopSPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata-cdh01.itcast.cn:8020/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
- 配置文件:
$SPARK_HOME/conf/spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://bigdata-cdh01.itcast.cn:8020/spark/eventLogs/
spark.eventLog.compress truespark.yarn.jars hdfs://bigdata-cdh01.itcast.cn:8020/spark/jars/*spark.yarn.historyServer.address bigdata-cdh01.itcast.cn:18080spark.sql.warehouse.dir /user/hive/warehouse
运行Spark 圆周率PI程序,提交到YARN上执行:
#!/bin/bashSPARK_HOME=/export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0${SPARK_HOME}/bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--class org.apache.spark.examples.SparkPi \
--driver-memory 512m \
--driver-cores 1 \
--executor-memory 512m \
--executor-cores 1 \
--num-executors 2 \
--queue default \
hdfs://bigdata-cdh01.itcast.cn:8020/spark/spark-examples_2.11-2.2.0.jar \
10
如能帮助到你或对大数据有兴趣的可以关注一下,希望能点个赞支持一下谢谢!
企业级360°全方位用户画像:环境搭建[五]相关推荐
- 企业级360°全方位用户画像:标签系统[四]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
- 企业级360°全方位用户画像
用户画像概念.项目概述及环境搭建 1.用户画像 1.1.概念 什么是用户画像? 百度百科定义 用户画像又称用户角色,作为一种勾画目标用户.联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的 ...
- Profile_Day05:企业级360全方位用户画像
Profile_Day05:企业级360全方位用户画像 1昨日内容回顾 主要讲解2个方面的内容: 如何基于SparkSQL实现自定义外部数据源HBase和统计类型标签模型开发. 1, SparkSQL ...
- 企业级360°全方位用户画像:项目介绍[二]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
- 大数据【企业级360°全方位用户画像】之USG模型和决策树分类算法
在之前的一篇博客<大数据[企业级360°全方位用户画像]之RFM模型和KMeans聚类算法>中,博主为大家带来了KMeans聚类算法的介绍.并在之后,基于不同的模型开发标签,例如RFM,R ...
- 用户画像第一章(企业级360°全方位用户画像_环境搭建)
环境搭建 2.4.项目工程演示 将项目工程[tags(演示版).zip]解压,为Maven Project,导入IDEA中,如下图所示: 选择解压的工程,如下图: 一直点击下一步[Next]即可,最终 ...
- 大数据【企业级360°全方位用户画像】标签系统介绍
在前面几篇博客中,博主已经为大家带来了什么是用户画像,以及项目的一个基础介绍.用户画像的核心就是打标签,本篇博客,我们来聊聊关于这个项目的标签系统. 文章目录 1. 标签系统 1.1 基础标签 1.1 ...
- 大数据【企业级360°全方位用户画像】项目介绍
在正式开始对[企业级用户画像]项目展开介绍之前,博主可是煞费苦心,为大家整理了一期,如何彻底理解什么是用户画像(
- 大数据【企业级360°全方位用户画像】匹配型标签开发
写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...
最新文章
- 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
- 【PP】SAP库存决定
- 发现一个增长天翼手机待机时间的方法
- R语言观察日志(part18)--.C和.Call
- SAP CRM产品主数据工作流相关调试
- 如何分析 StackOverflow 异常 ?
- .NET Core 3.0中IAsyncEnumerableT有什么大不了的?
- PowerShell实战1:Ping_Test
- 【LeetCode笔记】236. 二叉树的最近公共祖先(Java、二叉树、DFS)
- 第2章第29节:英文排版技巧:无衬线字体和手写字体的搭配 [PowerPoint精美幻灯片实战教程]
- 【机器学习算法】集成学习-1 强学习器的融合学习
- WKWebView 如何支持window.open方法
- 外汇天眼:什么是熊市和牛市?
- Java:抽象成类找对象
- surface pro java_【微软SurfacePro4评测】两代产品外观对比_微软 Surface Pro 4_笔记本评测-中关村在线...
- WIN10宽带连接秒断解决办法
- keil错误提示Error: L6218E: Undefined symbol
- 行为研究:用户行为背后的意义和4点价值
- 《Docker技术入门与实战》——3.8 本章小结
- 一个非常好用的代码搜索引擎