centos6.7下的hadoop集群配置安装

centos6.7下的hadoop集群环境配置

一.系统配置

1.修改主机名

在所有的主机上修改/etc/sysconfig/network文件中的HOSTNAME=hadoop1(hadoop2、hadoop3等)
root权限下修改/etc/sysconfig/network:
vi /etc/sysconfig/network
source /etc/sysconfig/network #使文件network生效

2.配置IP地址

修改/etc/sysconfig/network-scripts/ifcfg-eth0,以hadoop1为例,修改后的信息如下:

查看mac地址:

cat /etc/udev/rules.d/70-persistent-net.rules

要修改得地方:BOOTPROTO,IPADDR,NETMASK,GATEWAY,DNS1,HWADDR

IPADDR=192.168.84.110 
HWADDR="00:0C:29:23:C0:B2"
NETMASK=255.255.255.0 
GATEWAY=192.168.84.2 
DNS1=192.168.84.2 
DNS2=8.8.8.8

改完后的例子:

DEVICE="eth0"#网卡名
BOOTPROTO="static" #修改静态地址
HWADDR="00:0C:29:23:C0:B2"#MAC地址
IPV6INIT="no"#禁用IPV6
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.84.110 #实际的IP地址,根据自己的网络情况进行设置
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.84.2 #网关
DNS1=192.168.84.2 #DNS,和网关一样
DNS2=8.8.8.8
UUID="476b3e36-f94f-4d6e-8835-93da6035a00f"

3.主机名与IP地址做映射

把所有节点的IP地址与主机名做映射后写入到/etc/hosts文件,然后分发到所有主机,样例如下:
vi /etc/hosts
127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6
192.168.84.110 hadoop1
192.168.84.120 hadoop2
192.168.84.130 hadoop3 #ip地址根据自己得实际修改情况

4.关闭防火墙

在所有主机节点上关闭防火墙,命令如下:
service iptables stop

注意:对于centos 6.7 ,使用命令chkconfig iptables off关闭防火墙好像没用。

方便局域网中不同计算机之间的通信。(没有关闭防火墙的话,部分服务不能跨计算机进行访问,即部分端口是关闭的)

5.设置selinux

修改所有主机/etc/selinux/config文件SELINUX=disabled。
方便局域网中不同计算机之间的通信。
vi /etc/selinux/config
注意:SELinux 是部署在 Linux 系统中的安全增强功能模块,它通过对进程和文件资源采用 MAC(强制访问控制方式)为 Linux 系统提供了改进的安全性。

6.设置hadoop服务器集群各台服务器之间免密登录

1.在集群中所有服务器中的hadoop用户环境下,使用命令ssh-keygen -t rsa 生成密钥对;
ssh-keygen -t rsa
2.将所有用户生成的公钥放在一个文件authorized_keys之中;
3.将该文件拷贝到所有服务器下的/home/hadoop/.ssh之中;
4.将.ssh目录的权限设置为
chmod 700 .ssh 
chmod 600 authorized_keys
注意:必须要修改目录以及文件权限

二.安装JDK

从网上下载jdk1.8以上64位linux版本。在此,我们安装jdk-1.8.0-8u60-linux-x64.rpm版

1.安装

rpm -ivh jdk-1.8.0-8u60-linux-x64.rpm

2.验证

java -version
若显示一下类似得信息,则说明安装成功:
java version "1.8.0_60"Java(TM) SE Runtime Environment (build 1.8.0_60-b27)Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

三.安装Hadoop

说明:本次实验我们定义的三台主机名分别为hadoop1、hadoop2、hadoop3对应的ip地址是根据我自己的环境来设置的,大家可以根据自己的实际情况来设置ip地址。

hadoop1(192.168.190.110)hadoop2(192.168.190.120)hadoop3(192.168.190.130)
NameNodeSecondaryNameNodeResourceManager
DataNodeDataNodeDataNode
NodeManagerNodeManagerNodeManager

1、Hadoop的下载和解压

我从网上下载Hadoop的安装包,然后在所有的主机上解压即可(本次我们下载的hadoop-2.6.0-cdh5.10.1.tar.gz)。解压命令如下:

tar -zxf /home/hadoop/Desktop/hadoop-2.6.0-cdh5.11.2.tar.gz -C /home/hadoop

注:这里的解压路径我选择的是/home/hadoop

解压后转换到/home/hadoop目录,我们发现当前目录下有个文件hadoop-2.6.0-cdh5.11.2,我们把它改下名字
mv hadoop-2.6.0-cdh5.11.2 hadoop

2、Hadoop系统环境变量的配置

在所有主机的/etc/profile文件中最后一行添加下边的信息

export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

配置完后

source /etc/profile

注释:/home/hadoop/hadoop是Hadoop的解压路径

四.配置Hadoop

在所有的主机上做以下配置(也可以在一台主机上配置完后,拷贝到其他主机)。所有配置的都在/home/hadoop/hadoop/etc/hadoop目录下(Hadoop解压后目录里的etc/hadoop里)。

注意:以下四个配置文件的内容包含路径,目录等内容要对上自己的虚拟机。

1、core-site.xml的配置

<configuration>
<property>
<name>fs.defaultFS</name> #hdfs访问的唯一入口
<value>hdfs://hadoop1:8020</value>
</property>
</configuration>

2.hdfs-site.xml的配置

<configuration>
<property>
<name>dfs.permissions.superusergroup</name>
<value>hadoop</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoopdata/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoopdata/dn</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop1:50070</value>
<description>
       The address and the base port on which the dfsNameNode Web UI will listen.
</description>
</property>
<property>
<name>dfs.secondary.http-address</name>
<value>hadoop2:50090</value>
<description>
       The address and the base port on which the dfsNameNode Web UI will listen.
</description>
</property>
</configuration>

3、mapred-site.xml配置

这个配置复杂一点,因为开始只提供了一个mapred-site.xml.template模板,所以要新建一个mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

4、yarn-site.xml配置

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>
<property>
<description>Classpath for typical applications.</description>
<name>yarn.application.classpath</name>
<value>
        $HADOOP_CONF_DIR,
        $HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,
        $HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,
        $HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,
        $HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/*
</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/home/hadoop/hadoopdata/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/home/hadoop/hadoopdata/yarn/logs</value>
</property>
<property>
<name>yarn.log.aggregation-enable</name>
<value>true</value>
</property>
<property>
<description>Where to aggregate logs</description>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/home/hadoop/hadoopdata/log/hadoop-yarn/apps</value>
</property>
</configuration>

5.这里要创建几个文件夹,配置文件要用:

cd /home/hadoop
mkdir hadoopdata
cd hadoopdata
mkdir nn dn log yarn

6.添加JAVA_HOME到hadoop-env.sh文件里

export JAVA_HOME=/usr/java/jdk1.8.0_60
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
source hadoop-env.sh

五.格式化namenode

在namenode所在主机(我们本次所规划的hadoop1)执行命令
/home/hadoop/hadoop/bin/hdfs namenode -format

六.启动所有进程

我们的启动方式有两种,一种是单独启动,也就是分别进入到每一台主机,一个一个进程启动。另外一种是批量启动,也就是在任一主机上通过两个脚本就可以把所有进程全部拉起来。

1.单独启动

在/home/hadoop/hadoop/sbin目录下运行脚本
hadoop1:
cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager
hadoop2:
cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start secondarynamenode
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager
hadoop3:
cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start resourcemanager
./yarn-daemon.sh start nodemanager
如果能通过jps命令显示以下类似的结果说明节点启动成功:
jps
3145 NodeManager
3018 NameNode
3068 DataNode
3183 Jps

2、 批量启动

分别进入hadoop1和hadoop3中的/root/hadoop-2.6.0-cdh5.10.1/sbin目录后,在hadoop1中执行./ start-dfs.sh,在hadoop3中执行./start-yarn.sh。

七.验证集群是否成功

1、 通过web界面来查看集群:

在浏览器中输入http://hadoop1:50070和http://hadoop3:8088,能够看到如下界面,说明机器启动成功

下面的命令表示分别在hadoop1和hadoop3中操作,具体的原因可以看以上四个配置文件

hadoop1:
http://hadoop1:50070
hadoop3:
http://hadoop3:8088

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值