安装hadoop之前,需先安装linux操作系统,使用Ubuntu Linux 12.04 LTS。Hadoop版本为:Hadoop
0.20.2
安装hadoop之前,对虚拟机做一下更新 $sudo
apt-get update
以下仅介绍hadoop的安装过程:
1.先安装java,安装java
1.6.x以上版本,执行以下4步:
1.1 sudo add-apt-repository
"deb http://archive.canonical.com/lucid
partner"
1.2 sudo apt-get update
1.3 sudo apt-get install sun-java6-jdk
1.4 sudo update-java-alternatives -s
java-6-sun (把java-6-sun设为默认的java环境)
安装完后可以用以下命令确认是否正确安装:使用命令 $java -version
(在执行第3步的时候,可能会提示错误。Package sun-java6-jdk is not available, but is
referred to by another package.)
下面介绍另外一种安装java方法
1.1到 Oracle 官网下载 JDK 7 的二进制压缩包。
附上下载地址:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
1.2解压。我求方便,就把压缩包放下用户目录下,然后打开终端:
tar xvzf /usr/jdk-7-linux-i586.tar.gz
这里的压缩包名根据各位下载的版本自行更改
1.3将解压后的文件夹移到你所希望的安装目录下,这里我就是放在用户目录下的“/usr/jdk1.7.0”
(就是刚才解压的目录)你也可以用如下命令把解压后的文件夹移到你所希望的安装目录:
sudo mv/usr/jdk1.7.0/ /usr/local/lib/
(红色部分就是你所希望的安装目录,这里我只是举个例子)
1.4配置环境,用到如下命令:
sudo gedit /etc/environment
打开后可以看到:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
一行文字,你们的可能跟我的有些出入。将其修改为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/jdk1.7.0/bin"
CLASSPATH=.:/usr/jdk1.7.0/lib
JAVA_HOME=/usr/jdk1.7.0
这里红色部分都是你刚才java安装目录,对应修改。
1.5到这里后运行 javac, java, 等命令还是不能用,接下来再执行下面命令:
$sudo update-alternatives --install /usr/bin/java java /usr/jdk1.7.0/bin/java 300
$sudo update-alternatives --install /usr/bin/javac javac /usr/jdk1.7.0/bin/javac 300
$sudo update-alternatives --install /usr/bin/javap javap /usr/jdk1.7.0/bin/javap 300
$sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/jdk1.7.0/bin/javadoc 300
到这里全部安装配置好了,可以运行 $java
-version 试试
2.安装并配置SSH:
hadoop运行过程中需要管理远端hadoop守护进程,需要运行ssh
server:
2.1安装ssh server:$sudo apt-get
install ssh
2.2免密码ssh的设置:ssh-keygen –t
rsa
输入命令后一路回车即可。这步按照默认选项生成密钥对并存在/usr/local/hadoop/.ssh/id_rsa文件中。
2.3$ cat
$HOME/.ssh/id_rsa.pub >>
$HOME/.ssh/authorized_keys (enable
SSH access to your local machine with this newly created
key)
或者:$cp $HOME/.ssh/id_rsa.pub
$HOME/.ssh/authorized_keys
2.4安装完成后,运行:$ ssh
localhost (尝试用ssh连接本机,应该成功)
3.安装hadoop:
3.1下载hadoop安装包至/usr/local
3.2执行命令,打开安装包所在的文件夹:cd
/usr/local
3.3解压安装包:sudo tar xzf
hadoop-0.20.2.tar.gz
3.4执行命令:sudo mv hadoop-0.20.2
hadoop
4.配置conf/hadoop-env.sh:
将JAVA_HOME设置为java安装的根路径,将文件中的export
JAVA_HOME=XXX行修改为实际的路径:Java路径上文已经介绍。
4.1打开文件所在文件夹:cd
/usr/local/hadoop/conf/
4.2配置环境:sudo
gedit hadoop-env.sh
修改export
JAVA_HOME=XXX行:export JAVA_HOME=/usr/jdk1.7.0(Java路径根据自己实际安装目录修改)
至此hadoop基本安装完成。
5.配置hadoop:
5.1
hadoop0.20.0版本以上的配置文件,以core-site.xml代替了hadoop-site.xml,另外两个配置文件是mapred-site.xml和hdfs-site.xml。(三个配置文件都是在/usr/local/hadoop/conf/目录下)
5.2修改conf/core-site.xml:
添加:
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/usr/local/hadoop-datastore
A base for other temporary
directories.
5.3修改mapred-site.xml:
添加:
mapred.job.tracker
localhost:9001
The host and port that the MapReduce job tracker
runsat. If "local", then jobs are run in-process
as a single map and reduce task.
5.4修改hdfs-site.xml:
添加:
dfs.replication
1
Default block replication.The actual number of
replications can be specified when the file is created.The default
is used if replication is not specified in create time.
6.运行hadoop:
6.1格式化分布式文件系统(formatting the
name node):
运行:hadoop namenode
-format
(当前目录是/usr/local/hadoop)
6.2启动hadoop(starting the
single-node cluster):
运行:start-all.sh
6.3停止hadoop进程,运行stop-all.sh
6.4浏览NameNode 和 JobTracker
的网络接口,它们的地址默认为:
NameNode -
http://localhost:50070/
JobTracker -
http://localhost:50030/