本文共 3533 字,大约阅读时间需要 11 分钟。
以下描述了centos linux(2.6.32-279.el6.x86_64)位机器下,安装32位hadoop 2.3,并通过运行
系统自带的 WordCount 例子来验证服务正确性的步骤。建立目录
/usr/local/hadoop2.3,以后这个是 hadoop 的安装目录。java 系统安装(32位版本,jdk-7u51-linux-i586.tar.gz)
oracle 官方网站下载,覆盖原来机器上的版本。 解压 jdk-7u51-linux-i586.tar.gz 版本到 /usr/local/ [root@six hadoop2.3]# ls /usr/local/jdk1.7.0_51 bin jdk-7u51-linux-i586.tar.gz README.html COPYRIGHT jre release db lib src.zip include LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt jdk1.7.0_51 man THIRDPARTYLICENSEREADME.txt修改配置文件,增加环境变量JAVA_HOME
[root@six hadoop2.3]# vi /etc/profile export JAVA_HOME=/usr/local/jdk1.7.0_51执行命令,生效配置
[root@six hadoop2.3]# source /etc/profile覆盖或者更新系统 java 版本
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.7.0_51/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.7.0_51/bin/javac 300sudo update-alternatives --config java
sudo update-alternatives --config javac下载 hadoop 2.3 版本
官网去下载,具体地址可能是 其中一个镜像 下载得到文件 hadoop-2.3.0.tar.gz,特别注意,这个是32位版本, 官网没有提供 64位版本的下载,如果需要,自己编译安装。安装 hadoop 2.3,解压hadoop-2.3.0.tar.gz到目录 /usr/local/hadoop2.3即可
[root@six hadoop2.3]# ls bin etc hadoop-2.3.0.tar.gz lib LICENSE.txt NOTICE.txt sbin dfs example include配置 etc/hadoop/hadoop-env.sh
[root@six hadoop2.3]# cat etc/hadoop/hadoop-env.sh # The java implementation to use. export JAVA_HOME=/usr/local/jdk1.7.0_51配置 etc/hadoop/hdfs-site.xml
[root@six hadoop2.3]# cat etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop2.3/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop2.3/dfs/data</value> </property> </configuration>配置 etc/hadoop/hdfs-site.xml
[root@six hadoop2.3]# cat etc/hadoop/core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9009</value> </property> </configuration>配置 etc/hadoop/yarn-site.xml
[root@six hadoop2.3]# cat etc/hadoop/yarn-site.xml <configuration> <!-- Site specific YARN configuration properties --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>配置日志输出方式,便于调试错误 export HADOOP_ROOT_LOGGER=INFO,console
格式化文件系统 [root@six hadoop2.3]# mkdir dfs/ [root@six hadoop2.3]# mkdir dfs/name [root@six hadoop2.3]# mkdir dfs/data [root@six hadoop2.3]# ./bin/hadoop namenode -format
启动服务,这里使用 root 用户,需要输入密码的时候,输入 root 用户密码
如果使用非 root,并假设 分布式服务,需要先解决 ssh 登录问题,此处不详 细描述。 [root@six hadoop2.3]# ./sbin/hadoop-daemon.sh start namenode [root@six hadoop2.3]# ./sbin/hadoop-daemon.sh start datanode [root@six hadoop2.3]# ./sbin/hadoop-daemon.sh start dfs [root@six hadoop2.3]# ./sbin/start-yarn.sh查看状态 [root@six hadoop2.3]# ./bin/hadoop dfsadmin -report 表示一个数据节点OK Datanodes available: 1 (1 total, 0 dead)
能看到 hadoop 服务启动
构造数据文件(file1.txt,file2.txt) [root@six hadoop2.3]# cat example/file1.txt hello world hello markhuang hello hadoop
[root@six hadoop2.3]# cat example/file2.txt
hadoop ok hadoop fail hadoop 2.3把数据文件加入到 hadoop 系统。
[root@six hadoop2.3]# ./bin/hadoop fs -mkdir /data [root@six hadoop2.3]# ./bin/hadoop fs -put -f example/file1.txt example/file2.txt /data运行 WordCount(java) 版本。
[root@six hadoop2.3]# ./bin/hadoop jar ./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.3.0-sources.jar org.apache.hadoop.examples.WordCount /data /output查看结果。
[root@six hadoop2.3]# ./bin/hadoop fs -cat /output/part-r-00000 2.3 1 fail 1 hadoop 4 hello 3 markhuang 1 ok 1 world 1转载地址:http://nnvwn.baihongyu.com/