环境是windows10 + VM10 + centos6.4 64bit + jdk1.7 + Hadoop2.2
1.安装jdk1.7,Hadoop
下载地址 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
解压配置环境变量即用
下载地址 http://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/hadoop-2.2.0.tar.gz
解压配置环境变量即用
vim /etc/profile
source /etc/profile
image.png
2.配置Hadoop
2.1.32位操作系统直接使用下载的Hadoop前五个配置就可以,64位操作系统多配置一步,原因是官方下载Hadoop是32位的库,也可以编译一个64位的使用解决
第一个配置,hadoop所在目录/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
,配置JDK
第二个配置,/hadoop-2.2.0/etc/hadoop/core-site.xml
,fs.defaultFS配置是指定HDFS(NameNode)通信地址,hadoop.tmp.dir配置hadoop运行所产生的文件存放目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos101:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-2.2.0/tmp</value>
</property>
</configuration>
image.png
第三个配置,/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
,dfs.replication配置副本数量,目前只有一个机器,集群后指定副本数量
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
image.png
第四个配置,/hadoop-2.2.0/etc/hadoop/mapred-site.xml
,并没有这个文件,但是有mapred-site.xml.template
,拷贝一份后修改cp mapred-site.xml.template ./mapred-site.xml
,mapreduce.framework这个配置项配置框架ResourceManager使用yarn资源调度系统
<configuration>
<property>
<name>mapreduce.framework</name>
<value>yarn</value>
</property>
</configuration>
image.png
第五个配置,/hadoop-2.2.0/etc/hadoop/yarn-site.xml
,yarn.nodemanager.aux-services配置获取数据的方式,yarn.resourcemanager.hostname配置指定yarn的主节点ResourceManager的主机地址
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos101</value>
</property>
</configuration>
image.png
第六个配置(32位不需要,64位使用64未得库也不用配置),/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
和/hadoop-2.2.0/etc/hadoop/yarn-env.sh
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
不设置会有一些警告
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
17/07/29 03:29:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2.2.测试
2.2.1.初始化
第一次使用先格式化HDFShadoop namenode -format
。
启动,cd /hadoop-2.2.0/sbin
目录下,./start-all.sh
启动,需要输入数次yes和用户密码,分别启动yarn daemons、resourcemanager、nodemanager。
有黄色框内的log表示启动正常,出错大概都是配置文件配置错误,可以到logs下查看log日志
image.pngjps查看
image.pngname | desc |
---|---|
NameNode | HDFS主节点 |
DataName | HDFS从节点 |
SecondaryNameNode | 定期合并fsimage和edits日志 |
ResourceManager | yarn主节点,资源调用/分配 |
NodeManager | yarn从节点 |
通过url访问,先在windows本地的DNS映射配置虚拟机的主机域名
C:\Windows\System32\drivers\etc\hosts
image.png
浏览器打开http://192.168.137.101:50070/dfshealth.jsp
,这是HDFS管理界面
http://192.168.137.101:8088/cluster
yarn的管理界面
2.2.2.HDFS使用测试
hadoop fs -put ./hadoop-2.2.0-src.tar.gz hdfs://centos101:9000/test
image.png
再打开HDFS管理界面,可以看到上传的文件
image.png
网友评论