大数据底层生态Hadoop
大数据工具Hadoop
Hadoop是一个能够对大量数据进行分布式处理的软件框架,是一个能够让用户轻松架构和使用的分布式计算平台。用户可轻松地在Hadoop上开发和运行处理海量数据的应用程序。
服务器下Java环境的配置
1.下载JDK8
通过下面链接,到oracle官网
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
找到下滑到如下页面
官网上提供了几种Linux下的安装包,在选择之前需要根据Linux的服务版本的不同,选择不同的方式,x86是安装在32位系统上的版本,而x64是安装在64位系统上的版本
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压缩包
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为阿里云本机主机名