一.安装虚拟机及前期准备
1.
2.
su
输入root的口令,成功后就换成了root用户
继续输入命令:
chmod u+w/etc/sudoers
vi/etc/sudoers
在此行:root ALL=(ALL:ALL) ALL 后加一行:
hadoopALL=(ALL:ALL) ALL
意思就是允许hadoop用户sudo运行任何命令
保存
chmod u-w/etc/sudoers
这是把sudoers文件的权限改回440,即root用户通常也只读。Ubuntulinux的sudo命令运行时会检查这个文件权限是否440, 如果不是440, sudo命令都没有办法工作。所以改完之后一定要改回原来的440.
3.
二.ssh设置
1.
2.
ssh-keygen–t rsa –P ''
这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。
查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。
接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
cat~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
3.
1)修改文件"authorized_keys"
chmod 600~/.ssh/authorized_keys
备注:如果不进行设置,在验证时,扔提示你输入密码,在这里花费了将近半天时间来查找原因。
2)设置SSH配置
用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
vim/etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes# 启用公钥私钥配对认证方式
AuthorizedKeysFile.ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
设置完之后记得重启SSH服务,才能使刚才设置有效。
service sshdrestart
退出root登录,使用hadoop1普通用户验证是否成功。
sshlocalhost
三.安装JDK(JDK1.6)
(1)
#sudo chmod 777 jdk-6u24-linux-i586.bin
使当前用户拥有对jdk-6u24-linux-i586.bin的执行权限;
(2)
运行jdk-6u24-linux-i586.bin,这时会显示出JDK的安装许可协议,按空格翻页,最后程序会问你是不是同意上面的协议,当然同意啦,输入“yes”之后开始解压JDK到当前目录。此时屏幕上会显示解压的进度。
解压完成后 /usr/java目录下会新建一个名为“jdk-1.6.0_24”的目录,至此我们已经在CentOS下安装好了JDK。
(3)
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_24
export JRE_HOME=/usr/java/jdk1.6.0_24/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
在vi编辑器增加以上内容后保存退出,并执行以下命令使配置生效
配置完毕后,在命令行中输入java-version,如出现下列信息说明java环境安装成功。
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixedmode)
四.安装hadoop(以root登陆或者修改读写权限)
1. sudo chmod 777hadoop-0.20.2.tar.gz
sudo tar zxvfhadoop-0.20.2.tar.gz 进行hadoop压缩文件解压。
2.将hadoop的用户和用户组都改成创建者
sudo chown –Rhadoop:hadoop /usr/hadoop
这样就可以保存运行过程中产生的datanode和namenode等存储文件;
sudo chmod -Ra+w /usr/local
将hadoop的目录权限设为当前用户可写
3.配置hadoop-env.sh文件
命令为sudo vi hadoop-env.sh
添加 # set java environment
exportJAVA_HOME=/usr/java/jdk1.6.0_24
编辑后保存退出。
4.配置core-site.xml
[hadoop1@masterconf]# vi core-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>
<!-- Put site-specific property overrides inthis file. -->
<configuration>
<!-- file system properties-->
</configuration>
5.配置hdfs-site.xml
[hadoop1@masterconf]# vi hdfs-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>
<!-- Put site-specific property overrides inthis file. -->
<configuration>
</configuration>
6.配置mapred-site.xml
[hadoop@vm10110041conf]$ sudo vi mapred-site.xml
<?xmlversion="1.0"?>
<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>
<!-- Put site-specific property overrides inthis file. -->
<configuration>
</configuration>
7.配置masters文件和slaves文件
[hadoop@masterconf]# vi masters
192.168.131.131
[hadoop@masterconf]# sudo vi slaves
192.168.131.131
注:因为在伪分布模式下,作为master的namenode与作为slave的datanode是同一台服务器,所以配置文件中的ip是一样的。
8.编辑主机名
[hadoop@master ~]#sudo vi /etc/hosts
# Do not removethe following line, or various programs
that requirenetwork functionality will fail.
127.0.0.1localhost
192.168.131.131master
192.168.131.131slave
9.修改PATH
修改自己的环境变量:
Vi
未修改前是:Export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
在$PATH前面加入Hadoop的路径,不能在后面。
改完后是:
Export
10.启动hadoop(第一次需要格式化)
启动过程
查看进程(一个都不能少)
五.Windows下,用Eclipse配置与使用hadoop
1.
2.
3.