100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 企业级360°全方位用户画像:环境搭建[五]

企业级360°全方位用户画像:环境搭建[五]

时间:2020-10-03 03:34:54

相关推荐

企业级360°全方位用户画像:环境搭建[五]

絮叨两句:

博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们

人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战

少年易老学难成,一寸光阴不可轻。

最喜欢的一句话:今日事,今日毕

文章目录

前言项目环境搭建大数据平台基础环境安装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

在实际大数据项目中,大数据管理WEB界面,方便安装部署和监控大数据框架组件:

1)、ClouderaManagerCM安装软件目录:/opt/parcells/......///......2)、Ambari开源/etc//usr/lib/impala/

大数据平台基础环境

安装开发语言软件JDK1.8和Scala2.11及MySQL数据库。 JDK 1.8

所有的大数据框架(90%)基于Java语言编写的Scala 2.11

Spark框架和Kafka框架使用Scala语言编写的MySQL Hive 表元数据MetaStoreOozie和Hue元数据系统:WEB Platform

业务数据存储:tags

安装JDK1.8,配置环境变量

# JAVA HOMEexport JAVA_HOME=/export/servers/jdkexport PATH=$PATH:${JAVA_HOME}/bin

安装Scala 2.11,配置环境变量

# SCALA HOMEexport SCALA_HOME=/export/servers/scalaexport 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 -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.1.73 Source distributionCopyright (c) 2000, , Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.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

Apache Zookeeper :安装zookeeper步骤
在大数据框架中为了高可用性,很多框架依赖于Zookeeper,所以先安装Zookeeper框架,单机版安装。 配置文件:$ZOOKEEPER_HOME/zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=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/datadataLogDir=/export/servers/zookeeper/datas/log# the port at which the clients will connectclientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60###server.1=bigdata-:2888:3888##server.2=bigdata-:2888:3888##server.3=bigdata-:2888:3888# Be sure to read the maintenance section of the # administrator guide before turning on autopurge.## /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/datamkdir -p /export/servers/zookeeper/datas/log

针对Zookeeper集群监控工具:

1. TaoKeeper :

阿里巴巴开源ZK监控工具,目前基本没人使用

2. zkui

/DeemOpen/zkui

/p/dac4c0bd1d2e

大数据基础框架Hadoop

安装大数据Hadoop框架,包含三个组件 :

HDFS(分布式文件系统)

YARN(集群资源管理和任务调度平台)

MapReduce(海量数据处理框架)


分布式文件系统HDFS

包含服务组件:NameNode和DataNodes,实际项目中按照HDFS HA(基于JN)。
环境变量配置:$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-: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-


分布式资源管理框架YARN

对集群资源分布式管理和调度,包含 ResourceManager和NodeManagers。

面试题:

目前来说,大数据框架Spark 主要还是运行在YANR上,所以必须掌握如下两个问题:

YARN 如何资源管理和应用调度Hadoop组成:Apache Hadoop YARNHadoop组成:Apache Hadoop YARN调度器Spark on YARN:两个DeployMode提交流程与区别

必问,死背[待补充]配置文件$HADOOP_HOME/etc/hadoop/yarn-env.sh

# some Java parametersexport 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-</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-:19888/jobhistory/logs</value></property></configuration>


计算处理框架MapReduce

对海量数据进行离线分析处理框架MapReduce,其中Sqoop和Oozie底层运行都是MapReduce任务,仅仅执行MapTask。

面试题: 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-:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>bigdata-:19888</value></property></configuration>


数据仓库框架Hive

基于HADOOP之上数据仓库框架Hive,在企业中使用非常广泛,底层MR计算分析数据。

针对Hive框架来说,底层计算引擎可以为三种: MapReduce(最原始)TezSpark从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 directoryHADOOP_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-:3306/metastore?createDatabaseIfNotExist=true&amp;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-: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-: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-</value></property><!-- 配置压缩SNAPPY和LZ4 --><!-- <property><name>hbase.pression</name><value>true</value></property><property><name>hbase.regionserver.codecs</name><value>lz4</value></property>--></configuration>

配置文件:$HBASE_HOME/conf/regionservers

bigdata-

大数据生态组件


生态组件中有SQOOP、FLUME、OOZIE和HUE,方便数据采集及任务调度查看。

数据转换工具SQOOP

数据实时抽取采集Flume

面试题:Flume采集数据时,考虑架构:高可用和负载均衡案例:1)、Flume 高可用:/jinYwuM/article/details/825946182)、Flume 负载均衡/silentwolfyh/article/details/51165804

任务调度框架Oozie

大数据可视化工具Hue

大数据分析框架Spark

大数据分析框架Spark,集成批处理、交互式分析和流式处理及高级数据分析(图计算和机器学习)为一体的框架,从Spark 2.0开始,所有应用入口为SparkSession,数据封装在DataFrame中。 配置文件:$SPARK_HOME/conf/spark-env.sh

JAVA_HOME=/export/servers/jdkSCALA_HOME=/export/servers/scalaHADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoopYARN_CONF_DIR=/export/servers/hadoop/etc/hadoopSPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata-:8020/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"

配置文件:$SPARK_HOME/conf/spark-defaults.conf

spark.eventLog.enabledtruespark.eventLog.dirhdfs://bigdata-:8020/spark/eventLogs/presstruespark.yarn.jars hdfs://bigdata-:8020/spark/jars/*spark.yarn.historyServer.address bigdata-: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-:8020/spark/spark-examples_2.11-2.2.0.jar \10

如能帮助到你或对大数据有兴趣的可以关注一下,希望能点个赞支持一下谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。