赞
踩
实验用集群由3台虚拟机组成
一、环境和软件版本:
CentOS 6.5 64位操作系统
Hadoop 2.5.2
Zookeeper 3.4.6
HBase 0.99.2
二、系统配置
1.iptables
默认CentOS会启动iptables以保证网络安全,需要关闭。
$ sudo service iptables stop
同时,将配置去掉# setup
在终端界面中,将防火墙配置(Firewall Configuration)中的启用状态取消。
2./etc/sysconfig/network
修改HOSTNAME字段为合适的主机名,如hadoop1,hadoop2等。
也有的系统使用/etc/hostname这个文件。
修改后需要重启。或者用hostname命令直接修改。
3./etc/hosts
$ sudo vi /etc/hosts
将127.0.0.1指向主机名的一行删除:127.0.0.1 hadoopX
X为具体的节点编号。否则会和后边添加的指向发生冲突。
然后在末尾添加以下内容(示例),使机器可以直接通过主机名访问IP。
192.168.16.240 hadoop1
192.168.16.241 hadoop2
192.168.16.242 hadoop3
4.SSH公钥
5.SSH互通在每台计算机配置公钥,使用默认配置即可:
$ ssh-keygen
三、Hadoop2.5.2注意:此步骤很重要,务必确保从每台计算机都可以无密码的ssh连通任意节点,否则可能在启动Hadoop时会发生异常。如果配置完成后仍然无法直通,则将所有主机的~/.ssh目录下文件都删除,重新执行ssh-keygen命令生成公钥私钥,再重新逐一复制、合并、下发。
以4台服务器的互通为例,在NameNode上执行以下操作,确保从NameNode可以ssh直通各节点。
然后将收集的公钥合并:
$ cd ~/.ssh $ scp hadoop@192.168.16.241:/home/hadoop/.ssh/id_rsa.pub ./k1 $ scp hadoop@192.168.16.242:/home/hadoop/.ssh/id_rsa.pub ./k2 $ scp hadoop@192.168.16.243:/home/hadoop/.ssh/id_rsa.pub ./k3
然后执行以下命令:
$ cat k1 >> authorized_keys $ cat k2 >> authorized_keys $ cat k3 >> authorized_keys
以上操作确保在known_hosts文件中都有各个主机,首次连接需要输入yes确认,之后每次执行上述ssh命令应当不用输入密码。
$ ssh hadoop1 $ ssh hadoop2 $ ssh hadoop3
然后将authorized_keys和known_hosts下发到每个节点上:
known_hosts文件:
$ scp authorized_keys hadoop@192.168.16.241:/home/hadoop/.ssh $ scp authorized_keys hadoop@192.168.16.242:/home/hadoop/.ssh $ scp authorized_keys hadoop@192.168.16.243:/home/hadoop/.ssh
$ scp known_hosts hadoop@192.168.16.241:/home/hadoop/.ssh $ scp known_hosts hadoop@192.168.16.242:/home/hadoop/.ssh $ scp known_hosts hadoop@192.168.16.243:/home/hadoop/.ssh
2.环境变量建议将Hadoop安装在/opt下
$ tar xzvf hadoop-2.5.2.tar.gz $ mv hadoop-2.5.2 /opt
然后建议使用软连接:
创建Hadoop的数据存储目录
$ ln -s /opt/hadoop-2.5.2 /opt/hadoop
$ sudo mkdir /hadoop $ mkdir /hadoop/dfs $ mkdir /hadoop/tmp $ mkdir /hadoop/mapred
在/etc/profile的末尾加入:
export HADOOP_HOME=/opt/hadoop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。