本帖最后由 xioaxu790 于 2014-5-28 13:00 编辑
问题导读:
1、如何安装部署hadoop2.3 ?
2、如何运行wordcount列子 ?
前言
hadoop2.3安装和wordcount运行验证,有需要的朋友可以参考下。 以下描述了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)
jdk下载
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 300
- sudo update-alternatives --config java
- sudo update-alternatives --config javac
复制代码
下载 hadoop 2.3 版本
官网http://hadoop.apache.org/去下载,具体地址可能是
其中一个镜像
下载得到文件 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) http://127.0.0.1:50070/
能看到 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
复制代码
|