Haddop+spark大数据分析(二)之Hadoop 集群的搭建

文章目录

前言

一、集群环境的下载及其配置

1.下载hadoop

2.配置 hadoop 环境变量

配置hadoop 核心环境

配置 core-site.xml

配置 hdfs-site.xml

配置 mapred-site.xml

配置 yarn-site.xml

配置 workers

禁用防火墙

二、克隆虚拟机及其相应设置

1. 克隆虚拟机

2.配置 ssh 免密登陆

三、hadoop的启动

格式化 HDFS(只需在第一次启动时执行)

启动集群

启动yarn

服务验证

总结


前言

上一节介绍了虚拟机的下载以及Java环境的搭建,这节主要讲解Hadoop集群的搭建


一、集群环境的下载及其配置

我们需要现在一台机器上配置好 hadoop,然后再把它拷贝到其他机器上,这里我选择在master 也就是要做为 nameNode 的那台机器

1.下载hadoop

再次强调 建议在克隆之前,先在一台机器上,下载、解压好再克隆,这样多台机器就都有了

下载

注:需要提前安装wget包 命令: yum install wget

官方地址:

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

国内镜像地址(建议清华大学):

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.3.0.tar.gz

解压

下载完成后,下一步是解压

我是解压到/usr/local/hadoop目录下,其中/hadoop目录是我预先创建的

mkdir usr/local/hadoop

快速解压(参考别的博主):

tar -zxvf hadoop-3.3.0.tar.gz -C /usr/local/hadoop

如果遇到tar: Error is not recoverable: exiting now 错误,可参考https://stackoverflow.com/questions/3950839/tar-error-is-not-recoverable-exiting-now

简言之,分解压缩步骤,进入目录 /usr/local/hadoop 逐步执行如下代码

gunzip hadoop-3.3.0.tar.gz

tar xf hadoop-3.3.0.tar

2.配置 hadoop 环境变量

vi /etc/profile

在末尾追加hadoop环境

export HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

配置完成之后,刷新

nmcli c reload

查看变量是否生效

hadoop version

显示如下信息即正确

配置hadoop 核心环境

配置 hadoop-env.sh

首先,查看 JAVA_HOME 的地址

echo $JAVA_HOME

配置 JAVA_HOME 路径

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

末尾追加以下代码

export JAVA_HOME=JAVA_HOME的地址
export JAVA_HOME=${JAVA_HOME}

如下图

配置 core-site.xml

创建 HDFS 数据存储目录,我的存储路径是放在$HADOOP_HOME目录下的 /hdfs_data/

mkdir /usr/local/hadoop/hadoop-3.3.0/hdfs_data
mkdir /usr/local/hadoop/hadoop-3.3.0/tmp

vi $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
    <property>
        <!-- 设置 NameNode 的ip及端口,这里的ip也可以换成主机名 -->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9000</value>
    </property>
  
    <property>
        <!-- 存放数据的临时目录,注意这里的路径要写绝对路径,并且不要使用 ~ 等符号 -->
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/hadoop-3.3.0/tmp</value>
    </property>
  
    <property>
        <!-- 设置 HDFS 数据在本地文件系统上的存储 -->
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/hadoop-3.3.0/hdfs_data</value>
    </property>
</configuration>

配置 hdfs-site.xml

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
		<!-- 设置 SecondaryNameNode 的ip及端口,这里的ip也可以换成主机名-->
        <name>dfs.namenode.secondary.http-address</name>
        <value>slaver001:9868</value>
    </property>
</configuration>

配置 mapred-site.xml

vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <!-- 设置 mapreduce 使用 yarn 框架 -->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置 yarn-site.xml

vi $HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <!-- 设置 yarn 的混洗方式为 mapreduce 默认的混洗算法 -->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <!-- 指定ResourceManager的地址 -->
        <name>yarn.resourcemanager.address</name>
        <value>slaver002</value>
    </property>
</configuration>

配置 workers

vi $HADOOP_HOME/etc/hadoop/workers

删除里面初始的内容,写入以下主机名称

master
slaver001
slaver002

禁用防火墙

关闭防火墙

systemctl stop firewalld

取消开机启动

systemctl disable firewalld

至此,单台机器的环境配置结束,下一步克隆虚拟机,并配置 ssh 免密登陆

二、克隆虚拟机及其相应设置

1. 克隆虚拟机

VMware Fusion 关闭虚拟机,默认为挂起。 点击导航栏的 VMware Fusion—> 偏好设置—> 关闭虚拟机时: 将挂起改为 关闭。 因为虚拟机的克隆要在完全关闭的情况下进行

右键刚才创建的虚拟机,选择 创建完整克隆

创建俩个虚拟机启动后,输入以下代码 修改主机名为之间预设的,我这里是slaver001,slaver002

hostnamectl set-hostname 主机名

分别进入slaver001 和 slaver002

vi /etc/sysconfig/network-scripts/ifcfg-网卡名

只需修改IPADDR这项,相应的主机对应相应的ip,我这里是 slaver001 = 192.168.148.102, slaver = 192.168.148.103

测试虚拟机之间是否通畅

ping ip或者设置的主机名

如果发生问题,需要排查之前的ip,网关等设置是否正确,可参考https://blog.csdn.net/qq_27283619/article/details/103706736

2.配置 ssh 免密登陆

配置 ssh 免密登陆有两个目的

  1. 让 nameNode 下发命令给 dataNode
  2. 让 resourceManager 下发命令给 nodeManager

相对的,我们也需要配置 nameNode 免登陆 nameNode,resourceManager 免的登陆 nodeManager。

按照文章开始的功能划分,即

  • 配置master 免登陆slaver001,slaver002
  • 配置slaver001免登陆master,slaver002

Linux 免密登陆另一台 Linux

假设有两台 Linux, 机器1、机器2。如果我们需要让 机器1 免密登陆 机器2,需要如下操作

生成密钥对

在 机器1 下生成密钥对,每步都输入回车(表示不使用私钥密码)

ssh-keygen

如下

查看生成的密码

注:需要预先安装tree,命令:yum install tree

tree ~/.ssh -C -pf

id_rsa是私钥 ,id_rsa.pub是公钥

将公钥发给其他机器

ssh-copy-id 机器2的ip

免密登陆其他机器

完成上面步骤后,机器1就可以免密登陆机器2了

在机器1上

ssh 机器2的ip

第一次需要输入机器2的密码 之后即可以快速切换主机,这样我们可以在一个shell里使用多个虚拟机

三、hadoop的启动

格式化 HDFS(只需在第一次启动时执行)

$HADOOP_HOME/bin/hdfs namenode -format

显示has been successfully formatted则表示格式化成功

格式化成功后,查看core-site.xmlhadoop.tmp.dir指定的目录下是否有了 dfs 目录

tree -C -pf $HADOOP_HOME/tmp/

cat $HADOOP_HOME/tmp/dfs/name/current/VERSION

启动集群

在 master上执行如下命令

start-dfs.sh

如遇到

使用

vi $HADOOP_HOME/sbin/ 要打开的文件名

在所有机器start-dfs.shstop-dfs.sh文件头部添加如下内容

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.shstop-yarn.sh文件头部添加如下内容

YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root

配置好之后重新启动

如遇到【hadoop】/sbin/start-dfs.sh Error: JAVA_HOME is not set and could not be found.可参考https://blog.csdn.net/CGD_ProgramLife/article/details/82703073

启动yarn

ssh连接到ResourceManager即slaver002,执行

start-yarn.sh

服务验证

在任意主机执行

jps

即启动成功


总结

至此hadoop环境的搭建就完成了,接下来就是部署spark,之后我们就可以开始使用spark进行数据分析的相关工作了,感谢大家

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于Hadoop的电商用户行为大数据分析数仓建设,是指利用Hadoop技术构建一个存储和分析电商用户行为数据的数据仓库。 首先,Hadoop是一个分布式计算框架,它可以处理大量的数据并提供并行化的计算能力,适用于存储和分析大规模的数据集。因此,选择基于Hadoop搭建电商用户行为大数据分析数仓是非常恰当的。 在这个数仓中,我们可以收集和存储来自电商网站的各种用户行为数据,例如浏览商品、购买商品、评论商品等。这些数据可以通过Hadoop的分布式文件系统(HDFS)进行存储,并通过Hadoop的分布式计算能力进行处理和分析。 为了建设这个数仓,首先需要在Hadoop上部署适用于大数据存储和计算的软件,例如Hadoop的分布式文件系统HDFS和分布式计算框架MapReduce。然后,需要建立相应的数据采集系统,将来自电商网站的用户行为数据存储到HDFS中。 接下来,可以使用Hadoop生态系统中的其他组件进行数据清洗、数据挖掘和数据分析。例如,可以使用Hadoop的批处理框架MapReduce进行数据清洗和转换,使用Hadoop的分布式数据库HBase进行数据存储和查询,使用Hadoop的数据仓库工具Hive进行数据分析和查询。 通过对这个数仓中的大数据进行分析,可以发现用户的行为模式和偏好,并进一步进行个性化推荐、精准营销和用户画像等工作。同时,可以通过对用户行为数据的分析,优化电商网站的运营和服务策略,提升用户体验和增加销售额。 总之,基于Hadoop的电商用户行为大数据分析数仓建设,可以帮助电商企业更好地理解用户需求和行为,提供更加个性化和精准的服务,促进业务增长和竞争优势的提升。 ### 回答2: 基于Hadoop的电商用户行为大数据分析数仓建设主要包括以下几个方面的内容。 首先,我们需要建立一个完整的数据收集和存储系统。通过使用Hadoop分布式存储和处理框架,可以快速地处理大量的数据。我们可以将用户行为数据从各个不同的数据源收集到一个数据湖中,然后使用Hadoop将其分散存储在多个节点上,以确保数据的高可靠性和高可用性。 其次,我们需要建立一个数据清洗和转换的流程。由于电商用户行为数据具有很高的复杂性和维度,为了更好地进行分析,我们需要对数据进行清洗和转换。通过使用Hadoop的数据处理和ETL工具,我们可以对数据进行清洗、去重、格式转换等操作,使其更符合分析的需求。 然后,我们需要进行数据建模和指标定义。通过对用户行为数据进行建模,我们可以将用户行为关联起来,形成用户画像和用户行为路径等指标,从而更好地了解用户的购买行为和偏好。同时,我们还可以定义一些关键指标,如转化率、留存率和复购率等,来衡量电商平台的运营效果。 最后,我们可以使用Hadoop的分析工具进行数据分析和挖掘。通过使用Hadoop分布式计算框架,我们可以对大规模的用户行为数据进行深入的分析和挖掘。我们可以使用机器学习和数据挖掘算法来进行用户行为预测和推荐,以提高电商平台的用户体验和销售额。 总之,基于Hadoop的电商用户行为大数据分析数仓建设可以帮助电商平台更好地了解和分析用户行为,为电商平台的运营决策提供数据支持,并通过数据分析和挖掘来提升用户体验和销售额。 ### 回答3: 基于Hadoop的电商用户行为大数据分析数仓建设是指利用Hadoop技术构建一个存储和处理大规模用户行为数据的系统。此系统主要用于电子商务业务部门对用户行为数据进行分析,以从中挖掘商业价值。 第一步是数据收集。电商平台需要收集多种类型的用户行为数据,包括用户浏览商品、下单、支付、评价等各个环节的数据。这些数据通常以结构化或半结构化的形式存储在关系数据库中。 第步是数据存储和预处理。电子商务平台将原始数据导入到Hadoop分布式文件系统(HDFS)中,并使用Hive等查询引擎对数据进行预处理和清洗。预处理包括数据清洗、格式转换、字段抽取等操作,以确保数据的准确性和一致性。 第三步是数据分析和挖掘。使用Hadoop的MapReduce编程模型、Spark等分布式计算框架,对预处理后的数据进行复杂的数据分析和挖掘,包括用户行为模式分析、用户画像构建、个性化推荐、销售预测等。通过这些分析和挖掘,电子商务平台可以更好地了解用户需求、改进产品和服务,提高销售和用户满意度。 第四步是数据可视化和报告。利用数据可视化工具如Tableau、Power BI等,将分析结果以直观的图表形式展示给电商业务部门,并生成报告。这些报告可以帮助业务部门更好地了解用户行为趋势和特点,以及洞察潜在的商业机会。 基于Hadoop的电商用户行为大数据分析数仓建设可以帮助电子商务平台更好地理解和洞察用户行为,提供更精准的个性化推荐和服务,促进销售增长,提升用户满意度,为企业创造更大的商业价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值