搭建伪分布环境
- 上传hadoop2.7.0编译后的包并解压到/zzy目录下
mkdir /zzy
解压
tar -zxvf hadoop.2.7.0.tar.gz -C /zzy
- 配置hadoop
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_79
第二个:core-site.xml
<!--指定fs的默认名称-->
<property>
<name>fs.default.name</name>
<value>hdfs://zzy:9000</value>
</property>
<!-- 指定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://zzy:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/zzy/hadoop-2.7.0/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>zzy</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
- 将hadoop添加到环境变量
vim /etc/profile
内容如下:
JAVA_HOME=/usr/java/jdk1.7.0_79
HADOOP_HOME=/zzy/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让配置生效:
source /etc/profile
- 格式化namenode(是对namenode进行初始化)
hdfs namenode -format 或者 hadoop namenode -format
-
启动hadoop
- 先启动HDFS
sbin/start-dfs.sh
- 再启动YARN
sbin/start-yarn.sh
- 验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.0.2:50070 (HDFS管理界面)
http://192.168.0.2:8088 (MR管理界面)
Hadoop环境测试
-
测试HDFS
- HDFS shell操作
#查看帮助
hadoop fs -help <cmd>
#上传
hadoop fs -put <linux上文件> <hdfs上的路径>
#查看文件内容
hadoop fs -cat <hdfs上的路径>
#查看文件列表
hadoop fs -ls /
#下载文件
hadoop fs -get <hdfs上的路径> <linux上文件>
- 上传文件到hdfs文件系统上
hadoop fs -put <linux上文件> <hdfs上的路径>
例如:hadoop fs -put /root/install.log hdfs://zzy:9000/
- 删除hdfs系统文件
hadoop fs -rmr hdfs://zzy:9000/install.log
注:如果能正常上传和删除文件说明HDFS没问题。
-
测试Yarn
- 上传一个文件到HDFS
hadoop fs -put words.txt hdfs://zzy:9000/
- 让Yarn来统计一下文件信息
cd /$HADOOP_HOME/etc/hadoop/share/hadoop/target/mapreduce/
#测试命令
hadoop jar hadoop-mapreduce-examples-2.7.0.jar wordcount /works.txt hdfs://zzy:9000/wc
注:如果能正常生成一个目录,并把统计信息输出到文件夹下,说明Yarn没问题。