Ubuntu 11.10和Ubuntu 11.04下配置Hadoop。
1.安装 JDK。
1.1 JDK的获取
去这里下载JDK,版本最好是6+,注意,对于ubuntu来说,它所使用的软件包并非
rpm 而是 deb,因此建议各位下载tar.gz版本。
1.2 JDK的安装与配置
将解压的压缩包解压至想安装的位置,如/usr/lib/jvm
修改环境变量:
sudo gedit .bashrc
export JAVA_HOME=/usr/lib/jvm/jdk.xx
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出。
执行source .bashrc使之生效。
1.3 测试
输入 java -version,显示下列内容说明成功。
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) Server VM (build 22.1-b02, mixed mode) .
2.安装Hadoop
解压到某一文件夹下,这里假设是/programfile
2.1配置ssh
无论是在单机环境还是多机环境中, Hadoop均采用SSH来访问各个节点的信息。在单机环境中,需要配置 SSH 来使用户 hadoop 能够访问 localhost 的信息。
首先需要安装 openssh-server。
sudo apt-get install openssh-server
其次是配置 SSH使得Hadoop应用能够实现无密码登录:
ssh-keygen -trsa -P ""
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
第1条命令将生成一个公钥和私钥对(即id_dsa和id_dsa.pub两个文件,位于~/.ssh文件夹下),第2条命令使得hadoop用户能够无 需输入密码通过SSH访问localhost。
这时可通过以下命令来验证安装是否成功(如果没有提示输入密码直接登录成功,则说明安装成功):
ssh localhost
2.2配置hadoop
Hadoop的配置文件都放在/hadoop/conf这个文件夹下面,主要是四个配置文件,分别是core-site.xml,hadoop-env.sh,hdsf-site.xml和mapred-site.xml。
修改conf/hadoop-‐env.sh,
设置JAVA_HOME,在该文件中找到如下行,去掉前面的注释。
# Thejava implementation to use. Required.
#export JAVA_HOME=/usr/lib/jvm/jdk.xx 改为:
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/JDK/jdk.xx(第一步安装的jdk)。
并在/etc/profile中加入
export HADOOP_HOME="/ProgramFile/Hadoop/hadoop-0.21.0"
export PATH="$HADOOP_HOME/bin:$PATH"
在core-site.xml的<configuration></configuration>之间加入如下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/program/tmp-${user.name}</value>
</property>
在conf/hdfs-site.xml的<configuration></configuration>之间加入如下内容:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
在conf/mapred-site.xml的<configuration></configuration>之间加入如下内容:
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
以上操作已经完成对Hadoop的配置,接下来是运行Hadoop。
Hadoop 相关的命令都在hadoop/bin目录下。
格式化HDFS:
1. ./hadoop namenode –format
2. 启动单节点集群: ./start-all.sh
3. 用jps命令查看启动的进程,会有 Namenode,SecondaryNameNode,Datanode,JobTracker和TaskTracker共计5个。
如果出现缺少namenode或者datanode 的情况,首先停止启动的进程, ./stop-all.sh 然后把/usr/tmp 下所有以hadoop开头的文件删除,重新执行1,2步。
另外可以通过以下网址查看节点的运行情况:
http://localhost:50030/ - Hadoop 管理界面
http://localhost:50060/ - Hadoop Task Tracker 状态
http://localhost:50070/ - Hadoop DFS 状态
运行wordcout示例。 本地新建N个文档(N>=1), 输入一些字符串或者单词。
然后创建输入文件夹 ./hadoop dfs -mkdir input
不用手动创建输出文件夹,否则系统会提示已经存在。
将本地文档上传至input
./hadoop dfs -copyFromLocal xxx input 注意xxx是本地文档的路径名,
如果有多个文档,建议分次上传。
执行: hadoop jar hadoop-mapred-example0.21.0.jar wordcount input output
查看结果 hadoop dfs -cat output/part-r-00000。