本文共 3132 字,大约阅读时间需要 10 分钟。
在三台虚拟机上配置Hadoop环境是一个典型的分布式计算项目,以下是详细的配置步骤。
配置主节点(master)和两台从属节点(slave1、slave2)。每台虚拟机预先安装了操作系统,接下来将进行硬件配置和网络设置。
查看当前使用网卡和IP地址
dmesg | grep -i eth
输出显示eth0接口使用 Bluetooth: BNEP (Ethernet Emulation),IP地址为192.168.182.138。
设置静态IP地址
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件: vi /etc/sysconfig/network-scripts/ifcfg-eth0
填写IPADDR、NETMASK、GATEWAY等参数:
IPADDR=192.168.182.101NETMASK=255.255.255.0GATEWAY=192.168.182.255
保存后, hostname 设置为 master,更新主机名:
hostname master
修改hosts文件
在/etc/hosts中添加以下内容: 192.168.182.100 master192.168.182.101 slave1192.168.182.102 slave2
确保所有节点互相识别。
关闭防火墙
停止并禁用iptables:service iptables stopchkconfig iptables off
关闭SELinux
修改/etc/selinux/config文件,将SELINUX设置为disabled: vi /etc/selinux/config
修改内容为:
SELINUX=disabled
启用新的设置:
setenforce 0
将slave1和slave2分别设置为IP地址192.168.182.102和192.168.182.103,主机名分别为slave1和slave2,并完成类似的网络配置。
在三台主机上创建hadoop用户,并设置密码:
useradd hadooppasswd hadoop
在每台主机上生成SSH密钥并将公钥复制到其他主机:
ssh-keygen -t rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将slave1和slave2上的authorized_keys文件复制到master:
scp ~/.ssh/authorized_keys master:~/.ssh/authorized_keys1scp ~/.ssh/authorized_keys master:~/.ssh/authorized_keys2
合并文件并复制回slave1和slave2:
cat authorized_keys1 >> authorized_keyscat authorized_keys2 >> authorized_keysscp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keysscp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys
确保权限为600:
chmod 600 authorized_keys
下载并解压Hadoop tar包到/home/hadoop目录:
tar xzvf hadoop-1.2.1-bin.tar.gzchown -R hadoop:hadoop hadoop-1.2.1
在/home/hadoop/.bashrc中添加以下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_45export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
将该文件推送到slave1和slave2:
scp .bashrc slave1:~/.bashrcscp .bashrc slave2:~/.bashrc
修改hadoop-1.2.1/conf/core-site.xml:
vi hadoop-1.2.1/conf/core-site.xml
添加以下配置:
hadoop.tmp.dir /home/hadoop/tmp fs.default.name hdfs://master:9000
修改hadoop-1.2.1/conf/hdfs-site.xml:
vi hadoop-1.2.1/conf/hdfs-site.xml
添加以下配置:
dfs.data.dir /home/hadoop/data dfs.replication 2
修改hadoop-1.2.1/conf/mapred-site.xml:
vi hadoop-1.2.1/conf/mapred-site.xml
添加以下配置:
mapred.job.tracker master:9001
在hadoop-1.2.1/conf/master文件中,修改节点信息:
vi hadoop-1.2.1/conf/master
添加节点信息:
slave1: slave2
将master节点上的Hadoop配置文件推送到slave1和slave2:
scp -r ./hadoop-1.2.1 slave1:/home/hadoopscp -r ./hadoop-1.2.1 slave2:/home/hadoop
在master节点上运行:
./hadoop namenode -format
在master节点上运行:
./start-all.sh
通过jps命令查看进程:
jps
http://192.168.182.100:50070/dfshealth.jsphttp://192.168.182.100:50030/jobtracker.jsp通过以上步骤,可以成功配置并运行Hadoop集群。
转载地址:http://exzfk.baihongyu.com/