文章目录
1. hadoop-env.sh
hadoopd的环境变量,改JAVA_HOME(脚本有点问题,写死)
2. core-site.xml
核心配置文件
<configuration>
<!--默认存储层的文件系统,可以用别的,表示数据处理层,可以通过不同的存储层得到数据-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos0010:9000</value>
</property>
<!--hadoop 数据的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/rongyao/app/hadoop-2.9.2/data/</value>
</property>
</configuration>
3. hdfs-site.xml
hdfs配置文件
<configuration>
<!--副本数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--namenode的web页面-->
<property>
<name>dfs.namenode.http-address</name>
<value>centos0010:50070</value>
</property>
</configuration>
4. mapred-site.xml
mapper-reduce配置文件
<configuration>
<!--指定map-reduce的资源调度集群-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
5. yarn-site.xml
yarn资源管理配置文件
<configuration>
<!--yarn集群的主节点-->
<property>
<name>yarn.resourecemanager.hostname</name>
<value>centos0010</value>
</property>
<!--reduce程序从map程序获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6. 关闭防火墙
#查看防火墙状态,绿的running表示防火墙开启
systemctl status firewalld.service
#执行关闭命令
systemctl stop firewalld.service
#再次执行查看防火墙命令
systemctl status firewalld.service
#执行开机禁用防火墙自启命令
systemctl disable firewalld.service
7. 配置hadoop环境变量
export JAVA_HOME=/home/rongyao/app/jdk1.8.0_221
export JRE_HOME=/home/rongyao/app/jdk1.8.0_221/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export HADOOP_HOME=/home/rongyao/app/hadoop-2.9.2
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
8. 格式化文件系统
hdfs是文件系统,需要格式化
hadoop namenode -format
9. 启动hdfs文件系统
启动命令在sbin中,需要把sbin也加入环境变量
start-dfs.sh
10. 从节点配置文件
slaves默认是localhost,所以start-dfs.sh脚本会在本机启动datanode;start-yarn.sh会在本机启动nodemanager,如果多台,需要在slaves文件中添加多台
11. 启动yarn
start-yarn.sh
12. 验证启动
windows需要配置hosts文件
-
在浏览器输入:http://centos0010:50070/
注:一定要关闭防火墙或者放通端口 -
上传和下载
# 上传到根目录
hadoop fs -put jdk1.8.tar.gz2 hdfs://centos0010:9000/
# 下载到当前目录
hadoop fs -get hdfs://centos:9000/文件名
- 运行map-reduce程序
计算圆周率
hadoop jar hadoop-mapreduce-examples-2.9.2.jar pi 5 5
统计单词出现次数
#1. 建立测试文件text.txt
vi test.txt
#2. 在hdfs上建立输入目录
hadoop fs -mkdir /wordcount
hadoop fs -mkdir /wordcount/input
#3. 将test.txt上传
hadoop fs -put test.txt /wordcount/input
#4. 启动统计(第一个参数输入目录,默认会统计下面所有的文件,第二个参数输出目录)
hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount /wordcount/input /wordcount/output
#5. 查看统计结果
hadoop fs -cat /wordcount/output/part-r-00000