Hadoop平台的搭建
Hadoop 虚拟机集群配置
一.在VM中安装CentOS6.0及以上版本(以Master.Hadoop为例)
a) 安装时设置所有的用户名为hadoop
b) 修改主机名为Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop……
i. 用vim打开/etc/sysconf/network,修改HOSTNAME后的参数,为主机名
c) 设置静态IP(防止由于外界网络环境的变化影响整个集群)
i. vim /etc/sysconfig/network-scripts/ifcgf-eth0 (修改eth0网卡)
IPDAAR:192.168.1.2
GATEWAY: 192.168.1.1
DNS:
ii. Service network restart 重启网卡
iii. Ifconfig命令,验证ip是否修改成功
d) 修改开机服务项,长期关闭防火墙iptables服务
i. vim /etc/sysconfig/iptables
ii. 在文件中加入:
-A INPUT -m state --state NEW -mtcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -mtcp -p tcp --dport 20 -j ACCEPT
e) 关闭seLinux服务(这个貌似影响不大)
i. getsebool -a | grep ftp查询selinux设置状态
ii. 执行:setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_full_access 1
(执行的时间会比较长)
Vim /etc/selinux/config,设置“SELINUX=disabled”
f) 设置各个结点之间的ssh无密码连接
i. 在/etc/hosts文件中加入主机名及其对应的ip,即可ping通主机名
ii. 查看本机中是否有ssh、rsync服务:
rpm –qa | grep openssh
rpm –qa | grep rsync
iii. 在Master结点执行:ssh-keygen –t rsa –P ‘’ 命令
iv. 在/home/hadoop/.ssh文件夹中会看到两个文件即为刚生成的密钥
v. 执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
vi. 修改权限:chmod 600 ~/.ssh/authorized_keys
vii. 重启ssh服务:service sshd restart
viii. 测试:ssh localhost
ix. 将公钥复制到其他结点:scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
x. 在Slave上创建文件夹mkdir /home/hadoop/.ssh,并改为700权限
xi. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
xii. 删掉刚才复制过来的文件即可。
xiii. 同理,在从Slave结点向Master结点搭建ssh无密码连接。
二.安装JDK
a) 在Oracle官网上下载jdk1.6.0_31(尽量在官网下载,否则之后可能会出现非常坑爹的情况)
b) 复制到linux虚拟机中(也可以配置vsftpd,利用服务器上传)
i. 进入根权限,mkdir /usr/java
ii. cp /home/hadoop/ jdk-6u31-linux-i586.bin /usr/java
iii. 进入“/usr/java”目录下,修改执行权限chmod +x jdk-6u31-linux-i586.bin
iv. 执行./jdk-6u31-linux-i586.bin
c) 配置环境变量
i. 用vim修改/etc/profile文件
在文件的尾部添加
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31/
export JRE_HOME=/usr/java/jdk1.6.0_31/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
ii. 执行source /etc/profile,使之生效
iii. 执行java -version命令,若看到刚安装的java版本,测成功
iv. 若出现如下错误(官方下载的JDK一般无此问题):
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
v. 打开jdk下的lib文件夹,执行unpack200 tools.pack tools.jar
进入/jdk/jre/lib 执行unpack200 rt.pack rt.jar,以及jsse.pack
再次java -version 验证
三.安装hadoop
a) 在官网上下载hadoop(hadoop1.0.0和hadoop1.2.0我都装过)
b) 安装包复制到虚拟机中
c) 解压至并改名至:/usr/hadoop
d) 修改hadoop文件夹的用户分组chown -R hadoop:hadoop hadoop
e) 在hadoop下创建tmp文件夹,一定要把权限修改为777满权限
f) 修改环境变量 vim /etc/profile
在结尾加入:
#set hadoop environment
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
相关阅读: