一、环境说明
集群中包括4个节点,1个Master,3个Slaver。
主机名 | IP地址 | 系统 |
---|---|---|
Master.Hadoop | 192.168.1.173 | CentOS6.5 |
Slave1.Hadoop | 192.168.1.174 | CentOS6.5 |
Slave2.Hadoop | 192.168.1.175 | CentOS6.5 |
Slave3.Hadoop | 192.168.1.176 | CentOS6.5 |
二、Java环境安装
2.1 JDK的安装
到http://www.oracle.com/technetwork/java/javase/downloads/index.html下载适合linux的JDK,下载指定的JDK版本,有些JDK可能和Hadoop不兼容,具体介绍请参考http://wiki.apache.org/hadoop/HadoopJavaVersions,我这里使用的是jdk-6u31-linux-i586-rpm.bin,使用VSFTP将其上传到各机器中。以root用户登录各机器
chmod +x jdk-6u31-linux-i586-rpm.bin<pre name="code" class="html">./jdk-6u31-linux-i586-rpm.bin
默认安装在/usr下
2.2 配置环境变量
要使某用户可以使用java,则编辑该用户主目录下的.bash_profile文件
vim ~/.bash_profile
<img src="https://img-blog.youkuaiyun.com/20141012152129828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3hkODcwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
加入如上内容,为使更改有效
source ~/.bash_profile
2.3 验证安装成功
java -version
其余机器安装参考以上步骤
三、 SSH无密码验证配置
3.1 安装和启动SSH协议
检查ssh和rsync是否已经安装
rpm -qa | grep ssh
rpm -qa | grep rsync
如果没有安装,通过以下命令安装
yum install ssh
yum install rsync
service sshd start
上述指令须在root用户下执行
</pre></div><h2>3.2<span style="white-space:pre"> </span>配置Master无密码登录Slave</h2><p>在Master节点上执行</p><pre name="code" class="html">ssh-keygen -t rsa -P ''
(上图来源网络)
接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="html"><pre name="code" class="html">修改<span style="font-family: Arial, Helvetica, sans-serif;">authorized_keys 文件的权限</span>
chmod 600 ~/.ssh/authorized_keys
以root用户身份修改SSH配置文件
vim /etc/ssh/sshd_config
RSAAuthentication yes # 启用RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
重启SSH服务
service sshd restart
将公钥复制到所有的Slave机器上
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
这里以Slave1为例
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.173:~/
登录到Slave1机器上
mkdir ~/.ssh
chmod 700 ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
在master上
ssh 192.168.173.1
其余Slave机器重复以上步骤
3.3 配置Slave无密码登录Master
在Slave1机器上
ssh-keygen –t rsa –P ''
cat ~/.ssh/id_rsa.pub >> authorized_keys
将.ssh文件夹下的公钥文件
id_rsa.pub复制到Master机器上的"/home/hadoop"下
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.173:~/
登录到Master上
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
验证
至此,“Master.Hadoop”与“Slave1.Hadoop”之间可以无密码登录了,其余机器重复以上步骤
四、 Hadoop集群安装
4.1 安装Hadoop2.5.1
从http://apache.mirrors.hoobly.com/hadoop/common/网址下载最新稳定版本的Hadoop,上传至Master节点上
tar -zxvf hadoop-2.5.1-32.tar.gz #解压压缩文件
mv hadoop-2.5.1-32 /usr/hadoop #将解压文件移动到/usr文件下并修改文件夹名为hadoop
4.2 配置Hadoop环境变量
修改当前用户主目录下的~/.bash_profilevim ~/.bash_profile
source ~/.bash_profile #使修改生效
4.3 配置Hadoop
4.3.1 修改"hadoop-env.sh"文件
cd /usr/hadoop/etc/hadoop #进入Hadoop配置目录
vim hadoop-env.sh
# 设置Java安装的根目录
export JAVA_HOME=/usr/java/latest
# 假设你的Hadoop安装目录为 /usr/hadoop
export HADOOP_PREFIX=/usr/hadoop
4.3.2 修改"core-site.xml"
4.3.3 修改"hdfs-site.xml"文件
4.3.4 修改"yarn-site.xml"文件
4.3.5 修改"mapred-site.xml"文件
4.3.6 修改"slaves"文件
将所有的Slave节点的主机名或IP地址填入其中,一行一个
4.3.7 配置其余Slave节点
将"/usr/hadoop"复制到其余节点上,配置Hadoop环境变量,具体步骤同上。
五、启动及验证
#格式化分布式系统
hdfs namenode -format
#启动分布式文件系统
start-dfs.sh
#"start-dfs.sh"后,在Master节点执行jps可看到输出"NameNode"和"SecondaryNameNode"
#在Slave节点执行jps可看到输出"DateNode"
#启动yarn
start-yarn.sh
#"start-yarn.sh"后,在Master节点执行jps可看到输出"ResourceManager"
#在Slave节点执行jps可看到输出"NodeManager"
web接口
<span style="font-size:24px;">http://192.168.1.173:50070</span>
<span style="font-size:24px;">http://192.168.1.173:8088</span>