Hadoop 2.0集群配置详细教程[虚拟机下配置成功]

1)、机器准备:

物理机器总共4台,想配置基于物理机的Hadoop集群中包括4个节点: 1 个 Master, 3个 Salve ,

节点之间局域网连接,可以相互 ping通  IP分布为:
192.168.216.131 hadoop1
192.168.216.132 hadoop2
192.168.216.133 hadoop3
192.168.216.134 hadoop4

操作系统为CentOS6.2 64bit
Master机器主要配置NameNode和JobTracker的角色,负责总管分布式数据和分解任务的执行;

3个Salve机器配置DataNode和TaskTracker的角色,负责分布式数据存储以及任务的执行。

其实应该还应该有1个Master机器,用来作为备用,以防止Master服务器宕机,还有一个备用马上启用。

后续经验积累一定阶段后补上一台备用Master机器。


2)、创建账户

使用root登陆所有机器后,所有的机器都创建 hadoop 用户
useradd hadoop
passwd hadoop

此时在 /home/下就会生成一个 hadoop目录,目录路径为 /home/hadoop

创建相关的目录

定义需要数据及目录的存放路径

定义代码及工具存放的路径
mkdir -p /home/hadoop/source
mkdir -p /home/hadoop/tools

定义数据节点存放的路径到跟目录下的hadoop文件夹,这里是数据节点存放目录需要有足够的空间存放
mkdir -p /hadoop/hdfs
mkdir -p /hadoop/tmp
mkdir -p /hadoop/log
设置可写权限
chmod -R 777 /hadoop

定义 Java安装程序路径
mkdir -p /usr/java


3)、安装JDK

在官网下载jdk1.7 (x64)

解压#tar zvxf jdk-7u10-linux-x64.tar.gz

#mv jdk1.7.0_10 /usr/java/jdk1.7

配置环境变量,执行 cd /etc命令后执行 vi profile,在行末尾添加

export JAVA_HOME=/usr/java/jdk1.7export

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

export PATH=$PATH :$JAVA_HOME/bin:

执行 chmod +x profile将其变成可执行文件
 执行 source profile使其配置立即生效
#source /etc/profile
 执行 java -version查看是否安装成功

这个步骤所有机器都必须安装


4)、修改主机名

修改主机名,所有节点均一样配置
    1 ,连接到主节点192.168.216.131,修改 network,执行 vim /etc/sysconfig/network,修改 HOSTNAME=hadoop1
      2 ,修改 hosts文件,执行 cd /etc命令后执行 vi hosts,在行末尾添加 :

192.168.216.131 hadoop1
192.168.216.132 hadoop2
192.168.216.133 hadoop3
192.168.216.134 hadoop4

3 ,执行 hostname hadoop1
    4 ,执行 exit后重新连接可看到主机名以修改 OK

其他节点也修改主机名后添加 Host,或者 host文件可以在后面执行 scp覆盖操作


5)、配置SSH无密码登陆

SSH 无密码原理简介 :
首先在 hadoop1上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到所有的slave(hadoop2-hadoop4)上。
然后当 master 通过 SSH连接 slave时, slave 就会生成一个随机数并用 master的公钥对随机数进行加密,并发送给 master。
最后 master 收到加密数之后再用私钥解密,并将解密数回传给 slave, slave确认解密数无误之后就允许 master不输入密码进行连接了

2 ,具体步骤(在root用户和hadoop用户登陆情况下执行)
1 、执行命令 ssh-keygen -t rsa之后一路回车,查看刚生成的无密码钥对: cd .ssh后执行 ll
2 、把 id_rsa.pub追加到授权的 key里面去。执行命令 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
3 、修改权限:执行 chmod 600 ~/.ssh/authorized_keys
4 、确保 cat/etc/ssh/sshd_config中存在如下内容

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如需修改,则在修改后执行重启 SSH服务命令使其生效 :service sshd restart

将公钥复制到所有的 slave机器上 :scp~/.ssh/id_rsa.pub192.168.216.133: ~/  然后输入 yes,最后输入 slave机器的密码;
在 slave机器上创建 .ssh文件夹 :mkdir ~/.ssh然后执行 chmod 700 ~/.ssh(若文件夹以存在则不需要创建);
追加到授权文件 authorized_keys执行命令 :cat ~/id_rsa.pub >>~/.ssh/authorized_keys然后执行 chmod 600 ~/.ssh/authorized_keys
重复第 4步
验证命令 :在 master 机器上执行 ssh 192.168.216.133发现主机名由 hadoop1变成 hadoop3 即成功,

最后删除 id_rsa.pub文件 :rm -r id_rsa.pub(这步不是必须,子要不和本机的公钥文件冲突就行)
按照以上步骤分别配置 hadoop1,hadoop2,hadoop3,hadoop4,要求每个都可以无密码登录

6)源码下载

HADOOP 版本
最新版本 hadoop-2.0.0-alpha安装包为 hadoop-2.0.0-alpha.tar.gz
下载官网地址 :
在/usr/local目录下解压目录
tar zxvf hadoop-2.0.0-alpha.tar.gz

mv hadoop-2.0.0-alpha hadoop


源码配置修改

/etc/profile

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/481d0ec52acd8ff14208cd3a1bf81a72.html