1.安装jdk环境以及hadoop。
输入java -version 查看系统是否自带java
rpm -qa | grep java
rpm -e javaXXXX #将上一条命令的结果输入到后边的参数进行卸载
也可以使用下边的命令一键卸载
rpm -qa | grep java | xargs sudo rpm -e --nodeps
接下来在我的网盘下载jdk1.8和hadoop2.7.2的安装包
链接:https://pan.baidu.com/s/11b9NF7qg1WYyahFmzZJa5A
提取码:uxca
下载完安装包后,创建文件夹/opt/module,将文件解压在/opt/module下
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
接下来在vi /etc/profile文件末端添加环境变量,路径指向刚刚解压的文件路径
JAVA_HOME 和 HADOOP_HOME均需要配置
输入 source /etc/profile 命令将修改后的配置文件生效
最后执行java -version 和hadoop version可以看到相应的信息
Hadoop目录介绍:
bin: 存放脚本的目录,操作文件系统时用到的一些脚本
sbin: 存放管理脚本的目录,主要是HDFS/YARN的开启关闭等
start-dfs.sh: 启动NameNode ,SecondaryNamenode ,DataNode
start-yarn.sh: 启动ResourceManager,nodeManager
stop-dfs.sh: 关闭NameNode ,SecondaryNamenode ,DataNode
stop-yarn.sh: 关闭ResourceManager,nodeManager
etc:存放一些hadoop的配置文件,部署时也是主要修改这个目录下的配置信息
core-site.xml: Hadoop核心全局配置文件,可以其他配置文件中引用该文件中定义的属性,如在hdfs-site.xml及mapred-site.xml中会引用该文件的属性
hadoop-env.sh:Hadoop环境变量
yarn-site.xml:yarn的配置文件
slaves:用于设置所有的slave的名称或IP
lib: 该目录下存放的是Hadoop运行时依赖的jar包
share: Hadoop各个模块编译后的jar包所在的目录
配置完环境后,执行下官网提供的helloword程序(单机版)
https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html
修改hadoop相关的一些配置文件
- 修改 etc/hadoop/hadoop_env.sh文件。将JAVA_HOME的值改为当前系统的java安装路径
- 执行bin/hadoop命令,可以看到一些关于hadoop的文档信息
- mkdir input // 在hadoop目录下创建一个输入文件夹
- cp etc/hadoop/*.xml input // 拷贝文件,其中包含着hadoop提供的demo程序
- 在hadoop-2.7.2目录下执行 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+' // 运行官方提供的案例 marreduce-example
- cat output/* // 查看输出,output文件夹是自动生成,运行时需保证该文件夹不存在
至此hadoop单机基本搭建完成
WordCount案例
- 在hadoop目录下创建文件夹wcinput: mkdir wcinput
- 在wcinput目录下创建一个文本随机输入一些单词,命名为wc.input.内容如下
执行如下命令
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput/ wcoutput
含义是:hadoop执行hadoop-mapreduce-examples-2.7.2.jar包下的wordcount主类(可以参考上边demo,这儿是另外一个主类了)。输入文件夹是wcinput,输出文件夹是wcoutput。
执行完后 cat output/*可以看到文本中的单词计数结果
hadoop搭建以及单机版demo完成~