Hadoop2.4.1集群配置(无Zookeeper版)

Hadoop2.4.1集群配置(无Zookeeper版)

【说明:】

本次安装使用CentOS6.5_x86

所用的JDK与hadoop2.4.1也均为32位

此次配置,并未使用Zookeeper

一、   准备Linux系统

用户全称:Cloud

用户名:   hadoop

密码:      hadoop

 

NameNode: CentOS001  192.168.35.50

Secondary:  CentOS002  192.168.35.51(预留,以后改配热备用)

DataNode:   CentOS003  192.168.35.52

      CentOS004  192.168.35.53

                      CentOS005  192.168.35.54

                      #所用虚拟机NAT网关为192.168.35.2

【注】Linux主机命名时不要有下划线,否则hadoop无法正常启动

 

首先在Master(即NameNode)上进行相关安装与配置

所有机器均需修改主机名,配置IP,配置IP与主机名的映射,关闭防火墙

JDK和Hadoop可通过scp复制到其他机器

【注:】所有机器上均需配置$JAVA_HOME和$HADOOP_HOME

二、   修改Linux主机名

root身份下,修改Linux主机名

#vi /etc/sysconfig/network

修改HOSTNAME为CentOS001

三、   修改IP地址

通过图形界面修改IP地址

IPv4->method选择manual->IP:192.168.1.50,子网掩码:24,网关:192.168.1.1,DNS:192.168.1.1

 

也可以通过命令行修改配置文件

$vi  /etc/sysconfig/network-scripts/ifcfg-eth0,如:

DEVICE="eth0"

BOOTPROTO=none

IPV6INIT="yes"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="b0a5c608-02b0-4573-8a2d-5a53e3bdfe50"

IPADDR=192.168.35.50

PREFIX=24

GATEWAY=192.168.35.2

DNS1=192.168.1.1

NAME="System eth0"

HWADDR=00:0C:29:BF:77:A2

 

随后重启网络服务

#service network restart

四、   修改主机名与IP映射关系

#vi /etc/hosts ,添加hostname与ip映射如下:

192.168.35.50  CentOS001

192.168.35.51  CentOS002

192.168.35.52  CentOS003

192.168.35.53  CentOS004

192.168.35.54  CentOS005

五、   关闭防火墙

用root用户进行设置

查看防火墙状态

#service iptables  status

关闭防火墙

#service iptables stop

查看防火墙开机启动状态

#chkconfig iptables  --list

关闭防火墙开机启动

#chkconfig iptables off

重启系统

#reboot

六、   不启用图形界面(省资源)

root用户下修改图形界面启动配置

#vi /etc/inittab,修改为id:3:initdefault:

以后想启动,#startx或init5即可

七、   安装JDK

下载相应版本的JDK,并解压

$ tar -zxvf jdk-7u65-linux-i586.tar.gz

把解压的文件放到/home/hadoop/app文件夹

$mv jdk1.7.0_65/ ../app/

 

用root用户身份,将JAVA添加到环境变量中

#vi /etc/profile,在文件末尾添加内容如下:

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

export PATH=$PATH:$JAVA_HOME/bin

保存文件,刷新配置

[$/#]  source/etc/profile

八、   安装Hadoop

下载相应版本的Hadoop,并解压

$ tar -zxvf hadoop-2.4.1.tar.gz

把解压的文件放到/home/hadoop/app文件夹

$mv hadoop-2.4.1/ ../app/

 

把hadoop添加到环境变量

$vi /etc/profile,添加HADOOP_HOME,内容如下:

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

$source /etc/profile令配置生效

 

找到hadoop-2.4.1/etc/hadoop/目录,修改配置hadoop文件

$cd  hadoop-2.4.1/etc/hadoop/

²  配置Hadoop

Ø  hadoop-env.sh

修改hadoop-env.sh文件

$vi  hadoop-env.sh,修改JAVA_HOME变量如下:

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

Ø  core-site.xml(未添加ZooKeeper版)

修改core-site.xml配置文件

$vi core-site.xml,添加如下内容:

<configuration>

<!--URI of the HDFS NameNode-->

<property>

       <name>fs.defaultFS</name>

       <value>hdfs://CentOS001:9000</value>

</property>

<!--Temporary dir of Hadoop Runtime-->

<property>

       <name>hadoop.tmp.dir</name>

       <value>/home/hadoop/app/hadoop-2.4.1/tmp</value>

</property>

</configuration>

Ø  hdfs-site.xml(未配置zookeeper版)

修改hdfs-site.xml配置文件

$ vi hdfs-site.xml,配置内容如下:

<configuration>

<!--Name Services-->

<!--(用于StandbyNameNode热备节点,HA功能依赖于Zookeeper)

<property>

       <name>dfs.nameservices</name>

       <value>hadoop-cluster</value>

</property>

-->

<!--Name Node-->

<property>

        <name>dfs.namenode.http-address</name>

       <value>CentOS001:50070</value>

</property>

<property>

       <name>dfs.namenode.name.dir</name>

       <value>/home/hadoop/dfs/name</value>

</property>

<!--Secondary Name Node-->

<property>

       <name>dfs.namenode.secondary.http-address</name>

       <value>CentOS002:50090</value>

</property>

<!--Data Node-->

<property>

       <name>dfs.datanode.data.dir</name>

       <value>/home/hadoop/dfs/data</value>

</property>

<!--Replication-->

<property>

        <name>dfs.replication</name>

       <value>2</value>

</property>

<!--Web HDFS-->

<property>

       <name>dfs.webhdfs.enabled</name>

       <value>true</value>

</property>

</configuration>

Ø  mapred-site.xml

修改文件名,创建mapred-site.xml文件

$mv mapred-site.xml.template mapred-site.xml

执行$ vi mapred-site.xml,配置MapReduce内容如下:

<configuration>

<!--Set MapReduce Framework-->

<property>

       <name>mapreduce.framework.name</name>

       <value>yarn</value>                                                                                             

</property>

</configuration>

Ø  yarn-site.xml(未配置Zookeeper版)

修改yarn-site.xml,配置yarn框架

$ vi yarn-site.xml,修改配置如下:

<configuration>

<!-- Site specific YARN configuration properties-->

<!-- 指定ResourceManager的地址 -->

<property>

       <name>yarn.resourcemanager.hostname</name>

       <value>CentOS001</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

       <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

</property>

</configuration>

Ø  修改slaves文件

$vi slaves,修改内容如下:

CentOS003

CentOS004

CentOS005

九、   配置SSH免密钥登录

NameNode与各DataNode之间要配置ssh免密码登录

SecondaryNameNode与各DataNode之间要配置ssh免密码登录

NameNode与SecondaryNameNode之间要配置ssh免密码登录

 

具体配置步骤如下:

在CentOS001上生成一对密钥

$ ssh-keygen -t rsa

将公钥拷贝到其他节点,包括自己

$ ssh-copy-id CentOS001

$ ssh-copy-id CentOS002

$ ssh-copy-id CentOS003

$ ssh-copy-id CentOS004

$ ssh-copy-id CentOS005

 

在CentOS002上生成一对密钥

$ ssh-keygen -t rsa

将公钥拷贝到其他节点,包括自己

$ ssh-copy-id CentOS001

……

$ ssh-copy-id CentOS005

 

在所有DataNode(CentOS003~005)节点上,生成一对密钥

$ ssh-keygen -t rsa

将公钥拷贝到CentOS001和CentOS002

$ ssh-copy-id CentOS001

$ ssh-copy-id CentOS002

实现NameNode与DataNode之间的ssh无密码互联

十、   SCP配置好的JDK与Hadoop

将配置好的JDK与Hadoop拷贝到其他节点

$ scp -r app/ hadoop@CentOS002:~/app/

$ scp -r app/ hadoop@CentOS003:~/app/

$ scp -r app/ hadoop@CentOS004:~/app/

$ scp -r app/ hadoop@CentOS005:~/app/

十一、     启动Hadoop

²  格式化HDFS

在CentOS001上执行

$ hdfs namenode -format

格式化后,也会根据hdfs-site.xml中的dfs.namenode.name.dir和dfs.datanode.data.dir生成一个文件

启动后,会根据core-site.xml中的hadoop.tmp.dir配置生成一个文件

²  启动HDFS

$sbin/start-dfs.sh

²  启动YARN

$sbin/start-yarn.sh

 

【注:】可用$sbin/start-all.sh启动所有服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值