Linux——Hadoop大数据平台

简介

Hadoop框架包括以下四个模块:

  • Hadoop Common: 这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,并包含启动Hadoop所需的Java文件和脚本。
  • Hadoop YARN: 这是一个用于作业调度和集群资源管理的框架。
  • Hadoop Distributed File System (HDFS): 分布式文件系统,提供对应用程序数据的高吞吐量访问。
  • Hadoop MapReduce:这是基于YARN的用于并行处理大数据集的系统。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。

  • HDFS为海量的数据提供了存储。
  • MapReduce为海量的数据提供了计算。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

Hadoop部署

官网:https://hadoop.apache.org
安装包:hadoop-3.2.1.tar.gz
JDK:jdk-8u181-linux-x64.tar.gz

单机模式

创建hadoop用户,设置密码

useradd hadoop
echo westos | passwd --stdin hadoop

使用hadoop用户将安装包以及JDK在hadoop家目录解压,并创建软链接

[root@server2 ~]# su - hadoop
[hadoop@server2 ~]$ ls
hadoop-3.2.1.tar.gz  jdk-8u181-linux-x64.tar.gz
[hadoop@server2 ~]$ tar zxf hadoop-3.2.1.tar.gz
[hadoop@server2 ~]$ tar zxf jdk-8u181-linux-x64.tar.gz 
[hadoop@server2 ~]$ ln -s jdk1.8.0_181/ java
[hadoop@server2 ~]$ ln -s hadoop-3.2.1/ hadoop

编辑hadoop运行环境脚本,添加JAVA运行环境

cd hadoop/etc/hadoop
vim hadoop-env.sh
	export JAVA_HOME=/home/hadoop/java
	export HADOOP_HOME=/home/hadoop/hadoop

创建输入目录,测试hadoop

[hadoop@server2 hadoop]$ mkdir input
[hadoop@server2 hadoop]$ cp etc/hadoop/*.xml input
[hadoop@server2 hadoop]$ bin/hadoop

在这里插入图片描述
测试,过滤模块过滤’dfs[a-z.]+’

[hadoop@server2 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'

在这里插入图片描述
检查输出

[hadoop@server2 hadoop]$ cat output/*
1	dfsadmin

伪集群模式

文件系统web界面 http://172.25.52.2:9870/

修改hadoop核心配置文件

cd ~/hadoop
vim etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

设置副本为1

 vim etc/hadoop/hdfs-site.xml
 <configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
[hadoop@server2 ~]$ ssh-keygen 
[hadoop@server2 ~]$ ssh-copy-id localhost

在这里插入图片描述
格式化hdfs,重新开启hdfs文件系统

[hadoop@server2 hadoop]$ bin/hdfs namenode -format
[hadoop@server2 hadoop]$ sbin/start-dfs.sh

在这里插入图片描述
创建用户目录,上传文件至文件系统

[hadoop@server2 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@server2 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop
[hadoop@server2 hadoop]$ bin/hdfs dfs -mkdir input
[hadoop@server2 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input

在这里插入图片描述
在这里插入图片描述
测试hadoop,单词计数

[hadoop@server2 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount input output

查看输出:

在这里插入图片描述下载到本地查看。关闭文件系统

[hadoop@server2 hadoop]$ bin/hdfs dfs -get output output
[hadoop@server2 hadoop]$ cat output/*
[hadoop@server2 hadoop]$ sbin/stop-dfs.sh

集群模式

详情见官方手册: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html
准备其余两个节点。创建用户hadoop,UID GID 为1000(需要与master的hadoop用户一致)。
在master上开启nfs,共享hadoop家目录。

[hadoop@server2 hadoop]$yum install -y nfs-*
[hadoop@server2 hadoop]$vim /etc/exports

/home/hadoop	*(rw,anonuid=1000,anongid=1000)

[hadoop@server2 hadoop]$exportfs -rv
[hadoop@server2 hadoop]$showmount -e

在这里插入图片描述
在其余两个节点挂载hadoop家目录到本机hadoop家目录,(需要有server2也就是master节点的解析)

[hadoop@server2 hadoop]$ yum install -y nfs-*
[hadoop@server2 hadoop]$ mount server2:/home/hadoop /home/hadoop 
[hadoop@server2 hadoop]$ showmount -e server2

在这里插入图片描述在server2上配置到server3 4 的ssh免密。
由于家目录下所有数据都是相同的,因此公钥私钥也相同,只需要进行确认即可。
在这里插入图片描述修改server2 即master端配置文件 , workers中可以配置ip或主机名

[hadoop@server2 hadoop]$ vim etc/hadoop/workers 
server3
server4
[hadoop@server2 hadoop]$ vim etc/hadoop/core-site.xml

修改hadoop核心配置文件 , 指定master IP

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://172.25.52.2:9000</value>
    </property>
</configuration>

设置副本为2

[hadoop@server2 hadoop]$ vim etc/hadoop/hdfs-site.xml
 <configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

格式化存储,重新开启dfs,在web端可以看到节点状态

[hadoop@server2 hadoop]$  bin/hdfs namenode -format
[hadoop@server2 hadoop]$  sbin/start-dfs.sh

在这里插入图片描述

YARN

编辑配置文件

[hadoop@server2 hadoop]$  vim etc/hadoop/mapred-site.xml


<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>


[hadoop@server2 hadoop]$  vim  etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

修改hadoop环境变量,在etc/hadoop/hadoop-env.sh 中增加内容

export HADOOP_MAPRED_HOME=/home/hadoop/hadoop


开启yarn,访问master的8088端口

hadoop@server2 hadoop]$ sbin/start-yarn.sh

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值