centos6.5下安装部署hadoop2.4(亲测)

来源:互联网 发布:java选择题及答案解析 编辑:程序博客网 时间:2024/06/05 17:28

3台虚拟机的集群结构:

192.168.6.194   master   --NameNode ResourceManager  SecondaryNameNode

192.168.6.195   slave1   --DataNode  ResourceManager

192.168.6.196   slave2   --DataNode  ResourceManager

1.首先VMware新建三个虚拟机并安装contos6.5系统,修改虚拟机网络连接模式为桥接模式(如下图)

修改主机IP地址,关闭防火墙(具体操作可百度,以上操作三台主机都需要root用户修改)

修改IP:vi /etc/sysconfig/network-scripts/ifcfg-eth0

添加以下内容

IPADDR=192.168.6.194
NETMASK=255.255.255.0
GATEWAY=192.168.6.1

并修改BOOTPROTO=static

执行service network restart 使修改的IP生效

执行ifconfig 查看IP是否修改成功

关闭防火墙:service iptables stop

查看防火墙状态:service iptables status    ----出现 Firewall is not running. 证明关闭成功

----第一步完成后可通过SecureCRT  Xshell等工具连接虚拟机

2.修改主机名(方便ssh免密码登录),上传解压jdk,配置环境变量,创建hadoop用户(以上操作三台主机都需要root用户修改)

修改主机名: vi /etc/hosts 

vi /etc/sysconfig/network

解压jdk命令:tar -zxvf jdk-7u76-linux-x64.tar.gz

配置环境变量:vi /etc/profile

添加如下内容

export JAVA_HOME=/usr/lib/jdk1.7.0_76
export JRE_HOME=/usr/lib/jdk1.7.0_76/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

使环境变量生效   source /etc/profile

验证jdk是否安装成功:java -version

创建hadoop用户:useradd  hadoop

3.上传hadoop-2.4.0.tar.gz,解压并配置hadoop环境变量 (以上操作三台主机都需要root用户修改)(以上操作三台主机都需要root用户修改)

解压hadoop命令:tar -zxvf hadoop-2.4.0.tar.gz ------建议解压到hadoop用户目录下(/home/hadoop)

配置环境变量:vi /etc/profile

添加如下内容

export HADOOP_HOME=/home/hadoop/hadoop-2.4.0
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX
export LD_LIBRARY_PATH=$HADOOP_PREFIX/lib/native
export PATH=$PATH:$HADOOP_HOME/bin

使环境变量生效   source /etc/profile

验证hadoop环境变量是否配置成功:hadoop version

4.ssh免密码登录

三台主机均切换到hadoop用户下  执行 ssh-keygen -t  rsa (一路回车)

master主机执行:cd .ssh/

master主机执行 cat  id_rsa.pub >> authorized_keys

然后 

scp .ssh/authorized_keys  hadoop@slave1:.ssh/

scp .ssh/authorized_keys  hadoop@slave2:.ssh/

ssh slave1 验证免密码登录

5.在/home/hadoop下并修改以下配置文件(先配置master,后通过scp命令上传至slave节点)

1)core-site.xml

<configuration><property>                <name>fs.defaultFS</name>                <value>hdfs://master:8020</value><!--此处配置为master的hostname+端口或IP+端口--> </property>  <property>                <name>io.file.buffer.size</name>                 <value>131072</value>><!--此处配置流文件缓冲区大小-->  </property>  <property>                 <name>hadoop.tmp.dir</name>                 <value>file:/home/hadoop/doop-2.4.0/dfs/name</value><!--文件存储临时文件夹-->                  <description>Abase for other temporary   directories.</description> </property></configuration>

2)hdfs-site.xml

<configuration><property>                <name>dfs.namenode.secondary.http-address</name>                <value>master:9001</value><!--此处配置SecondaryNameNode的主机名(IP)和端口--> </property> <property>                 <name>dfs.namenode.name.dir</name>                 <value>file:/home/hadoop/doop-2.4.0/dfs/name</value><!--此处配置存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份--></property><property>                  <name>dfs.datanode.data.dir</name>                  <value>file:/home/hadoop/hadoop-2.4.0/dfs/data</value><!--数据节点的块本地存放目录--></property><property>                   <name>dfs.replication</name>                   <value>2</value><!--datanode数量,伪分布填1,集群根据自己配置修改--></property></configuration>

3)mapred-site.xml(需要复制mapred-site.xml.template)

<configuration><property>                <name>mapreduce.framework.name</name>              <value>yarn</value></property><property>               <name>mapreduce.jobhistory.address</name>               <value>master:10020</value> </property>  <property>               <name>mapreduce.jobhistory.webapp.address</name>               <value>master:19888</value></property></configuration>

4)yarn-site.xml

<configuration><property>               <name>yarn.nodemanager.aux-services</name>               <value>mapreduce_shuffle</value></property><property>                                                                                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>                <value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property>                 <name>yarn.resourcemanager.address</name>                 <value>master:8032</value></property><property>                 <name>yarn.resourcemanager.scheduler.address</name>                 <value>master:8030</value></property><property>                 <name>yarn.resourcemanager.resource-tracker.address</name>                 <value>master:8031</value></property><property>                  <name>yarn.resourcemanager.admin.address</name>                  <value>master:8033</value>                                                                                                                                                                                                                     </property><property>                   <name>yarn.resourcemanager.webapp.address</name>                   <value>master:8088</value></property></configuration>

5)slaves(此文件配置数据节点主机名)

slave1
slave2

6)hadoop-env.sh

export JAVA_HOME=/usr/lib/jdk1.7.0_76(追加jdk环境变量配置)

详细配置请参考http://blog.csdn.net/yangjl38/article/details/7583374

6.通过scp -r 命令将配置好的hadoop部署到slave节点(jdk安装路径不同的需要修改)

scp -r /home/hadoop/hadoop-2.4.0   hadoop@slave1:/home/hadoop

7.格式化namenode:./bin/hdfs namenode –format

格式化成功会有format success字样

8.启动hadoop:./sbin/start-all.sh

1)jps查看进程

(同理slave2)

2)格式化和启动日志

master主机:logs/hadoop-hadoop-namenode-master.log

slave主机:logs/hadoop-hadoop-datanode-slave1.log

9.myeclipse/eclipse集成hadoop2.4

1)下载:hadoop-eclipse-plugin-2.6.0.jar   并放到myeclipse安装目录的dropins目录下,重启myeclipse

2)window--》preferences--》Hadoop Map/Reduce 配置本地路径(需将hadoop-2.4.0.tar.gz解压到此目录)

3)window--》open perspective--》Map/Reduce --》OK

4)new Hadoop  location 修改host、port、username、location name

8020端口为core-site文件配置,若配置不同则修改

50020端口据说可以随意配置,未验证过.

10.代码测试-----略






1 0