1.搭建环境
ubuntu-12.04.1-desktop-i386.iso
java jdk6
hadoop-1.0.4
2.jdk的安装与配置
下载 jdk 6 下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
创建安装目录 /usr/java
将下载的jdk复制到该目录下
进入usr/java 目录下 首先改变该文件的权限
然后执行自解压命令:sudo ./jdk-6u43-linux-i586.bin
配置java环境变量:进入/etc/profile
在文件尾添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_43
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后运行 source /etc/profile 让配置文件生效 可以用 echo $PATH 和echo $CLASSPATH 看配置是否正确
配置成功以后运行java -version 出现下图所示,java环境即配置成功
至此java环境配置成功。
3.hadoop安装及配置
1.创建Hadoop用户及用户组
sudo addgroup hadoop
sudo adduser -ingroup hadoop hadoop
java环境变量在hadoop用户下可能没有生效,用source /ect/profile 命令让配置文件生效即可
给hadoop用户赋予root权限
进入root下: su root
修改 /etc/sudoers 在root ALL=(ALL:ALL) ALL下增加一行
hadoop ALL=(ALL:ALL) ALL
2.SSH安装配置
从ubuntu的软件库中直接安装ssh
sudo apt-get install ssh openssh-server
生成密钥
ssh-keygen
进入密钥保存的目录
cd ~/.ssh
可以看到目录下有两个密钥文件 一个是私钥一个是公钥
复制ssh的公钥
cp id_rsa.pub authorized_keys
配置完成后就可以用ssh 进行无密码登录,第一次登录的时候可能会出现如下提示:
出现提示的时候输入yes即可 第二次登录就没有问题了
3.hadoop安装配置
下载hadoop-1.0.4.bin.tar.gz http://mirrors.cnnic.cn/apache/hadoop/common/
将其复制到/usr 目录下 并解压
改变hadoop-1.0.4的使用权限
sudo chown hadoop:hadoop hadoop-1.0.4
进入hadoop-1.0.1/conf/目录下 编辑hadoop的配置文件
首先配置hadoop-env.sh(记录脚本使用的环境变量)
sudo gedit hadoop-env.sh
(用ssh locahost登录以后 好像用gedit编辑不了 用exit退出以后就可以编辑了)
配置core-site.xml(hadoop core的配置项)
在configuration中加入
<property>
<name>fs.default.name</name>//默认的文件系统,通过该端口可以访问hadoop的namenode
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>//设置hadoop的临时目录,hdfs的临时目录存放在该临时目录下
<value>/opt/tmp/hadoop-${user.name}</value>
</property>
配置hdfs-site.xml(Hadoop守护进程的配置项)
在configuration中加入
<property>
<name>dfs.replication</name>//文件进行备份的份数
<value>1</value>
</property>
配置mapred-site.xml:(MapReduce守护进程的配置项)
在configuration中加入
<property>
<name>mapred.job.tracker</name>//指定jobtracker的RPC服务器地址和端口
<value>localhost:9001</value>
</property>
<property>
<name>mapred.child.tmp</name>//mapred运行时的临时目录
<value>/opt/tmp</value>
</property>
至此hadoop的安装配置完毕。
4.hadoop的运行
对namenode 进行格式化
在格式化的时候出现了错误:
这是由于hadoop用户没有/opt 目录的操作权限造成的 改变/opt目录的权限再进行格式化即可 sudo chown hadoop:hadoop opt
格式化以后即可启动hadoop
用jps可以看到系统启动了如下进程
启动的日志在/hadoop-1.0.4/logs/下 如果出错可以通过查看log来找出错误
启动hadoop以后通过localhost:50030发现不能访问,查看日志 发现是如下错误:
java.io.exception:could only be replicated to 0 nodes instead of 1;
检查以后将/opt 下的tmp目录删除,重新格式化了一下namenode并关闭了防火墙 sudo ufw disabled 就可以了
hadoop启动以后 就可以通过localhost:50030 访问jobtracker
通过localhost:50070 访问namenode
至此所有配置完毕。