hadoop集群搭建

前言:这两天刚学习了hadoop,想把知识梳理一下,写得有问题的地方望各位大佬指教。
此次我都集群是搭建在我自己的虚拟机上的,vm上安装的是centOS7,在虚拟机上克隆了三个系统来构成集群。

一、系统基本配置

1、修改主机名
在系统目录中修改/etc/sysconfig/network 修改内容为hostname=hadoopn
在三个系统中分别都修改下系统名,我修改的名称是hadoop1、hadoop2、hadoop3

2、IP配置
修改/etc/sysconfig/network-scripts/ifcfg-eth0,修改后的信息如下:

DEVICE="eth0"
#BOOTPROTO="dhcp"
BOOTPROTO="static"  //将IP设置成为静态IP,DHCP采用的是动态IP
HWADDR="00:0C:29:59:35:85"
IPV6INIT="no"   //将Ipv6设置为no
IPADDR=192.168.117.2  //根据自己IP来设置
NETMASK=255.255.0.0   //子网掩码设置
GATEWAY=192.168.117.3  //网关设置 2~254 最后一位的范围
DNS1=8.8.8.8
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="9a604f00-87f1-4d6d-8cb3-6eac05a8ac01"

说明:IP地址、子网淹码、网管、DNS要根据自己网络的实际情况进行配置 ,在三台上都配置一下
注意:如果是克隆的话会导致三个虚拟机的HWADDR地址是一样的,这里我们修改的方法如下:

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

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:18:ca:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"  //删除或注释掉

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:aa:f5:a5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" //改name="eth0" 将ATTR地址复制到下面HWADDR 使得虚拟mac相同

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:18:CA:EE"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="74c38759-942a-4ad2-9115-091ca1fa672a"

3、主机名与IP地址做映射
修改/etc/hosts文件,修改后的信息如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.117.2  hadoop1
192.168.117.3  hadoop2
192.168.117.4  hadoop3

三个系统一样,由于我是处同一电脑上,所以MAC必须做修改,修改步骤如下:

4、关闭防火墙
关闭防火墙命令如下:

chkconfig iptables off
chkconfig --level 0123456 iptabls off

这里的0123456分别代表着不同用户级别

5、关闭selinux
SELinux 有三种工作模式,分别是:
enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
disabled:关闭 SELinux。

(1)检查selinux 状态
执行getenforce命令,如果结果显示 permissive 或disabled,你可以跳过这一步
(2)打开/etc/selinux/config文件,修改SELINUX=enforcing 为SELINUX=permissive
(3)重启系统

6、JDK安装
jdk的安装比较简此处略

二、伪分布式安装配置

伪分布式其实就是把所有的进程安装在同一台服务器上,在同一台服务器上拉起所有的进程。

1、下载hadoop
hadoop 下载可以到官网下载 在也可以用yum命令安装
2、重要文件配置
(1)core-site.xml文件配置

<property>
 <name>fs.defaultFS</name>
 <value>hdfs://hadoop1:8020</value>
</property> 

(2)hdfs-site.xml文件配置

#配置超级用户集群组  root用户
<property>
 <name>dfs.permissions.superusergroup</name>
 <value>root</value>
</property>
#本地namenode 
<property>
 <name>dfs.namenode.name.dir</name>
 <value>/data/nn</value>
</property>
#本地datanode
<property>
 <name>dfs.datanode.data.dir</name>
<value>/data/dn</value>
</property>
#namenode配置在hadoop1上
 <property>
      <name>dfs.namenode.http-address</name>
      <value>hadoop1:50070</value>
      <description>
         The address and the base port on which the dfs NameNode Web UI will listen.
      </description>
   </property>
 #将namenode.secondary配置在hadoop2上
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop2:50070</value>
    <description>
      The address and the base port on which the dfs NameNode Web UI will listen.
    </description>
  </property>
</configuration>

(3)Yarn-site.xml配置

#将resourcemanager配置在hadoop3上
<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>/data/yarn/local</value>
  </property>
  <property>
<name>yarn.nodemanager.log-dirs</name>    
<value>/data/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>/var/log/hadoop-yarn/apps</value>
  </property>

(4)mapred-site.xml
该文件需要自己编写

<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>
#配置jobhistoryServer 在hadoop1上
<property>
 <name>mapreduce.jobhistory.address</name>
 <value>hadoop1:10020</value>
</property>
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>hadoop1:19888</value>
</property>

(5)、配置从动文件slaves

hadoop1
hadoop2
hadoop3

(6)配置hadoop-env.sh JDK路径

export JAVA_HOME=/usr/java/default 
#default 文件下面有个bin文件

(7)配置文件路径/etc/profile

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0-cdh5.10.1
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin
#bin文件的上一个目录

3、格式化namenode

hdfs namenode -format
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值