大数据底层生态Hadoop

  • 大数据工具Hadoop
  • 服务器下Java环境的配置
  • 1.下载JDK8
  • 2.解压安装jdk
  • 3.java配置环境变量
  • 4.启动验证
  • 服务器下的Hadoop使用
  • 1.下载Hadoop
  • 2.解压hadoop到root目录下
  • 3.配置hadoop环境变量
  • 4.配置hadoop伪分布式,修改以下5个配置文件
  • 5.格式化
  • 6.启动
  • hadoop运行自带wordcount
  • 启动hadoop
  • 创建目录结构
  • 创建相关文件
  • 将本地文件上传到HDFS
  • 运行wordcount
  • 结果数据示例如下:

大数据工具Hadoop

Hadoop是一个能够对大量数据进行分布式处理的软件框架,是一个能够让用户轻松架构和使用的分布式计算平台。用户可轻松地在Hadoop上开发和运行处理海量数据的应用程序。

服务器下Java环境的配置

1.下载JDK8

通过下面链接,到oracle官网https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

找到下滑到如下页面

hudi底层存储是使用hdfs吗_hadoop

官网上提供了几种Linux下的安装包,在选择之前需要根据Linux的服务版本的不同,选择不同的方式,x86是安装在32位系统上的版本,而x64是安装在64位系统上的版本

hudi底层存储是使用hdfs吗_hudi底层存储是使用hdfs吗_02

2.解压安装jdk

在usr目录下建立java安装目录

cd /usr
mkdir java

将jdk-8u211-linux-x64.tar.gz拷贝到java目录下

cp /root/jdk-8u211-linux-x64.tar.gz  /usr/java/

ps: /root/jdk-8u60-linux-x64.tar.gz 路径为你将jdk上传的实际路径

使用如下命令将jdk解压到当前目录

tar -zxvf jdk-8u211-linux-x64.tar.gz

3.java配置环境变量

首先编辑/etc/profile,配置全局环境变量

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_211
export JRE_HOME=/usr/java/jdk1.8.0_211/jre
export CLASSPATH=.:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar:\$JRE_HOME/lib:\$CLASSPATH

4.启动验证

使用如下命令,查看Java环境配置情况

java -version

出现如下提示,表明java环境配置成功

java version "1.8.0_211-ea"
Java(TM) SE Runtime Environment (build 1.8.0_211-ea-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b03, mixed mode)

服务器下的Hadoop使用

1.下载Hadoop

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

得到如下的Hadoop压缩包

hudi底层存储是使用hdfs吗_Hadoop_03

2.解压hadoop到root目录下

tar -zxvf hadoop-2.7.7.tar.gz /root

3.配置hadoop环境变量

vi /etc/profile文件末尾添加: export HADOOP_HOME=/root/hadoop-2.7.7 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH Esc :wq!保存并退出。

4.配置hadoop伪分布式,修改以下5个配置文件

在<configuration>与</configuration>之间添加如下property:
①core-site.xml
<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口,
izwz97mvztltnke7bj93idz为hostname-->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://izwz97mvztltnke7bj93idz:9000</value>
</property>
<!--配置HDFS数据块和元数据保存的目录,一定要修改-->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop-2.7.7/tmp</value>
</property>
②hdfs-site.xml
<!--注释配置数据块的冗余度,默认是3-->			 
<property>		 
	     <name>dfs.replication</name>		 
	     <value>1</value>		 
</property>		
<!--secondaryNameNode的主机地址--> 
<property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>izwz97mvztltnke7bj93idz:50090</value>
</property>
③mapred-site.xml(该配置文件不存在,先复制)
cp  mapred-site.xml.template  mapred-site.xml			 
<!--配置MR程序运行的框架-->			 
<property>			 
	  <name>mapreduce.framework.name</name> 
	  <value>yarn</value> 
</property>
④yarn-site.xml
<!--配置Yarn的节点-->			 
<property>			 
	  <name>yarn.resourcemanager.hostname</name> 
	  <value>izwz97mvztltnke7bj93idz</value> 
</property>	 
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->			 
<property>	 
	  <name>yarn.nodemanager.aux-services</name> 
	  <value>mapreduce_shuffle</value> 
</property>

5.格式化

hdfs namenode -format (如果不是第一次格式化,格式化之前先删除/root/hadoop-2.7.7/下面的tmp、logs两个目录)

6.启动

start-all.sh (如果启动之前已经启动过,启动之前先停止stop-all.sh) 查看伪分布式配置是否成功:

[root@izwz97mvztltnke7bj93idz ~]# jps
907 ResourceManager
1112 NodeManager
4240 Jps
2704 NameNode
725 SecondaryNameNode
552 DataNode

NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager如果全部启动,伪分布式配置成功

hadoop运行自带wordcount

启动hadoop

start-all.sh

创建目录结构

hadoop fs -mkdir -p /data/wordcount
hadoop fs -mkdir -p /output/

创建相关文件

vi /root/inputWord

将本地文件上传到HDFS

hadoop fs -put /usr/inputWord /data/wordcount/

运行wordcount

hadoop jar /root/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /data/wordcount /output/wordcount

结果数据示例如下:

[root@izwz97mvztltnke7bj93idz ~] hadoop fs -text /output/wordcount/part-r-00000
aboutyun        2
first        1
hello        3

注:所有工作均在阿里云Centos下完成,hostname为阿里云本机主机名