一:配置集群
[1]改 hadoop-env.sh 第25行
[2]
core-site.xml
<!-- 指定namenode的所在主机 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://Hadoop101:9000</value>
</property>
<!-- 指定Hadoop临时目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.1/data/tmp</value>
</property>
hdfs-site.xml
<!-- 分布式副本数设置为1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
二:启动集群
[1]格式化namenode:$ hdfs namenode -format
产生的/opt/module/hadoop-2.7.1/data/tmp/dfs/name/current 目录下 VERSION 文件
里面能找到:
namespaceID=1333312628
clusterID=CID-7fe982bc-289e-4888-b6c3-a475647442a5
[2]启动NameNode
hadoop@Hadoop101 sbin]$ hadoop-daemon.sh start namenode
查看进行:jps 注:jps=java vital machine process status tool 是java的一个命令
还可以在网页上访问Hadoop101:50070窗口查看
[3]启动DataNode
[hadoop@Hadoop101 sbin]$ hadoop-daemon.sh start datanode
在/opt/module/hadoop-2.7.1/data/tmp/dfs/data/current 目录下 VERSION 文件
里面能找到:
clusterID=CID-7fe982bc-289e-4888-b6c3-a475647442a5
这和name里的是相同的
注:如果再次启动DateNode一定要把
/opt/module/hadoop-2.7.1下的data目录和logs目录删了不然namenode和datanode的集群ID不同,这样集群会起不来
查看进程:jps
还可以在网页上访问Hadoop101:50070窗口查看datanode的信息
三:查看log日志:logs/中的文件
四:操作集群
创建hdfs根目录 hdfs:开启hdfs客户端 dfs:在hdfs上跑这个命令
[hadoop@Hadoop101 hadoop-2.7.1]$ hdfs dfs -mkdir -p /user/hadoop/in
-put:把本机的文件上传到hdfs上
[hadoop@Hadoop101 hadoop-2.7.1]$ hdfs dfs -put wcinput/in.put /user/hadoop/input/
在hdfs上运行wordcount
[hadoop@Hadoop101 hadoop-2.7.1]$ hadoop jar /opt/module/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /user/hadoop/input/in.put /user/hadoop/out.put
五:配置yarn
[1][hadoop@Hadoop101 hadoop]$ vim yarn-env.sh 23行:修改为/opt/module/jdk1.8.0_65,去掉行首#
[2]yarn-site.xml
<!--在mapreducer过程中启用shuffle-->
<!--
NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
指明在执行MapReduce的时候使用shuffle
-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定哪个节点作为resourcemanager-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
[3][hadoop@Hadoop101 hadoop]$ vim mapred-env.sh 修改16行
[4]mapred-site.xml
<!-- 指定MapReduce基于yarn来运行 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
[5]开启进程
[hadoop@Hadoop101 sbin]$ yarn-daemon.sh start resourcemanager
[hadoop@Hadoop101 sbin]$ yarn-daemon.sh start namemanager
注:前提是datande和namenode以开启
查看状态[hadoop@Hadoop101 sbin]$ jps
[6]运行程序
[hadoop@Hadoop101 sbin]$ hdfs dfs -rm -r /user/hadoop/out.put
[hadoop@Hadoop101 hadoop-2.7.1]hadoop jar /opt/module/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /user/hadoop/input/in.put /user/hadoop/input/out.put
十:注意
hadoop负责存储的:hdfs
负责资源调度:yarn
负责运算:mapreduce
namenode的作用:存储原数据
datanode的作用:存储数据
yarn的两大组件:resourceManager Nodemanager
namenode通信端口号:9000
hdfs端口号:50070
yarn端口号:8088