http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
http://www.iyunv.com/thread-25655-1-1.html
http://www.cnblogs.com/liuling/archive/2013/06/16/2013-6-16-01.html
持续更新中:资料整理的比较潦草
Hadoop1.2.1
Cenos 6.5 x86
参考 1.2.1 的配置信息
http://www.douban.com/note/331360533/
说明:本来是打算安装最新版本的hadoop,但是发现需要和系统相适应,而2.0之后基本都是64的官方编译版本,则只能在其官方镜像中找到1.2.1的版本重新安装,这个工程也能感觉到两个版本配置文件的路径是有不同的。
一、安装JDK(使用sun的jdk,如果有openjdk需要首先删除,然后安装sun的jdk)
卸载openjdk
rpm -qa | grep java
显示如下:
tzdata-java-2013i-1.el6.noarch
java-1.7.0-openjdk-1.7.0.45-2.4.3.4.el6_5.x86_64
卸载:
rpm -e --nodeps tzdata-java-2013i-1.el6.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.4.el6_5.x86_64
安装sunjdk:
./是执行文件
chmod +x test.bin 将文件权限变为可以执行的
配置环境变量:
vi /etc/profile
export JAVA_HOME=/opt/jdk1.6.0_32
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
二、配置网络
-------------------------
-------SSH 配置,home/hadoop 下的.ssh权限要属于hadoop的用户,否则仍然需要输入密码
---------------------------
[root@Slave2 桌面]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.101 Master.Hadoop
192.168.1.102 Slave1.Hadoop
192.168.1.103 Slave2.Hadoop
[hadoop@Slave2 桌面]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoopt/.ssh/id_rsa.pub.
The key fingerprint is:
26:59:a0:28:db:a2:29:d5:38:25:ab:a9:dd:0b:dd:d9 hadoop@Slave2.Hadoop
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . . . |
|. o o . |
| + * o |
|o * . o S |
|.* o . = |
|* . . o E |
|o. o |
|. . o. |
+-----------------+
[hadoop@Slave2 桌面]# cd /home/hadoop/.ssh
[hadoop@Slave2 .ssh]# ls
id_rsa id_rsa.pub
把id_rsa.pub追加到授权的authorized_keys里面去
[hadoop@Slave2 .ssh]# cat id_rsa.pub >> authorized_keys
[hadoop@Slave2 .ssh]#chmod 600 authorized_keys
[root@Slave2 .ssh]#
[root@Slave2 .ssh]# vim /etc/ssh/sshd_config
打开如下注释
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
[root@Slave2 .ssh]# service sshd restart
停止 sshd: [确定]
正在启动 sshd:
拷贝公钥到其他服务器中
切换为普通用户hadoop测试是否可以免密码登陆到其他服务器上
[root@Slave1 ~]# su hadoop
[hadoop@Slave1 root]$ ssh localhost
Last login: Thu Oct 8 18:07:03 2015 from slave1.hadoop
[hadoop@Slave1 ~]$
SSH登陆到本地完成
其他机器配置相同,完成后,吧其他机器上的id_rsa.pub内容追加到本机的authorized_keys
root重启SHH服务后测试登陆其他机器(仅限于其id_rsa.pub内容已经存在本机上authorized_keys的)
四、配置ssh无密码登录(如果用户下没有ssh目录,先用ssh命令访问一下自己就有了)
在zhangpan这个用户下执行
在master上执行
ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys
保证权限为以下状态:
-rw-------. 1 hadoop hadoop 395 20:55 authorized_keys
-rw-------. 1 hadoop hadoop 1675 20:52 id_rsa
-rw-r--r--. 1 hadoop hadoop 395 20:52 id_rsa.pub
将文件分发给client以及每个slave
scp ~/.ssh/* zhangp@slave1:~/.ssh/
切换到root用户,配置/etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重新启动ssh
service sshd restart
五、安装hadoop
将hadoop-1.0.4拷贝并解压缩(为了操作简单,修改hadoop-1.0.4名字为hadoop)
配置hadoop环境变量/etc/profile
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
修改配置文件
hadoop-env.sh(export JAVA_HOME=/opt/jdk1.6.0_32)
core-site.xml
hdfs-site.xml(文件夹权限为755)
mkdir ~/data/
mkdir ~/tmp/
chmod 755 ~/data/
chmod 755 ~/tmp/
mapred-site.xml
masters
slaves
我的配置文件都放在share里面了 所以(cd ~/hadoop/conf)
cp /mnt/share/hadoop-env.sh ./hadoop-env.sh
cp /mnt/share/core-site.xml ./core-site.xml
cp /mnt/share/hdfs-site.xml ./hdfs-site.xml
cp /mnt/share/mapred-site.xml ./mapred-site.xml
cp /mnt/share/masters ./masters
cp /mnt/share/slaves ./slaves
六、启动hadoop
4.1 测试hadoop配置是否成功
通过以下命令,当我们看到hadoop的版本时则表明配置无误。
hadoop version
4.2 格式化namenode
cd /home/hadoop/software/hadoop/hadoop-1.2.1/bin
./hadoop namenode –format
启动后可能会提示错误不成功,特别是hadoop下面有的文件或文件夹不属于hadoop而是root的,或者没有执行权限的,需要手动修改
修改logs和其子文件都是hadoop组hadoop用户的
chown -R hadoop:hadoop /usr/hadoop/libexec/../logs
修改..文件下的所有子文件读写权限
chmod 777 -R /usr/hadoop/libexec/../
-
---------------------
---HADOOP
-----------------------
chown -R hadoop:hadoop tmp
四、启动hadoop
4.1 测试hadoop配置是否成功
通过以下命令,当我们看到hadoop的版本时则表明配置无误。
hadoop version
4.2 格式化namenode
cd /home/hadoop/software/hadoop/hadoop-1.2.1/bin
./hadoop namenode –format