Hadoop基础(二) :Hadoop集群配置

1.安装JDK环境

运行java -version查看节点中是否安装有jdk
在这里插入图片描述

添加环境变量
将安装jdk的目录添加到/etc/profile文件中
在这里插入图片描述
执行命令source /etc/profile使得配置生效

2.安装Hadoop

(1)准备安装包
先在官网上下载Hadoop的安装包https://archive.apache.org/dist/hadoop/core/hadoop-2.6.4/
在这里插入图片描述
(2)安装Hadoop
利用Xftp上传hadoop-2.6.4.tar.gz文件到/opt目录,解压缩hadoop-2.6.4.tar.gz 文件,tar -zxf hadoop-2.6.4.tar.gz -C /usr/local解压后即可,看到/usr/local/hadoop-2.6.4文件夹,标记的文件
在这里插入图片描述
(3)修改配置
进入目录:cd /usr/local/hadoop-2.6.4/etc/hadoop/
依次修改下面的文件:

  • core-site.xml
<configuration>
    <property>
    <name>fs.defaultFS</name>  
      <value>hdfs://master:8020</value>  
      </property>  
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/var/log/hadoop/tmp</value>
    </property>
</configuration>
  • hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151
  • hdfs-site.xml
<configuration>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>master:50090</value>
</property>
<property>
     <name>dfs.replication</name>
     <value>3</value>
</property>
</configuration>
  • 复制cp mapred-site.xml.template mapred-site.xml
  • mapred-site.xml
<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>master:19888</value>
</property>
</configuration>

  • yarn-site.xml
<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>    
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.https.address</name>
    <value>${yarn.resourcemanager.hostname}:8090</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>${yarn.resourcemanager.hostname}:8033</value>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/hadoop/yarn/local</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/data/tmp/logs</value>
  </property>
<property> 
 <name>yarn.log.server.url</name> 
 <value>http://master:19888/jobhistory/logs/</value>
 <description>URL for job history server</description>
</property>
<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
 <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.nodemanager.resource.memory-mb</name>  
        <value>2048</value>  
 </property>  
 <property>  
        <name>yarn.scheduler.minimum-allocation-mb</name>  
        <value>512</value>  
 </property>   
 <property>  
        <name>yarn.scheduler.maximum-allocation-mb</name>  
        <value>4096</value>  
 </property> 
 <property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>2048</value> 
 </property> 
 <property> 
    <name>yarn.nodemanager.resource.cpu-vcores</name> 
    <value>1</value> 
 </property>
</configuration>
  • yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151
  • slaves
删除localhost,添加:
slave1
slave2
slave3
  • 设置IP映射,编辑各节点/etc/hosts,添加:
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com
  • 拷贝hadoop安装文件到集群slave节点
scp -r /usr/local/hadoop-2.6.4 slave1:/usr/local
scp -r /usr/local/hadoop-2.6.4 slave2:/usr/local
scp -r /usr/local/hadoop-2.6.4 slave3:/usr/local

(4)配置SSH无密码登录

  • 使用ssh-keygen产生公钥与私钥对。输入命令“ssh-keygen -t rsa”,接着按三次Enter键
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a6:13:5a:7b:54:eb:77:58:bd:56:ef:d0:64:90:66:d4 root@master.centos.com
The key's randomart image is:
+--[ RSA 2048]----+
|              .. |
|             . .E|
|          .   =  |
|         . . o o |
|      o S .   . =|
|     o * .   o ++|
|    . + . . o ooo|
|       o   . ..o |
|                .|
+-----------------+

生成私有密钥id_rsa和公有密钥id_rsa.pub两个文件。ssh-keygen用来生成RSA类型的密钥以及管理该密钥,参数“-t”用于指定要创建的SSH密钥的类型为RSA。

  • 用ssh-copy-id将公钥复制到远程机器中,依次输入yes,123456(root用户的密码)
ssh-copy-id -i /root/.ssh/id_rsa.pub master
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3
  • 验证是否设置无密码登录,依次输入
ssh slave1
ssh slave2
ssh slave3

(5) 配置时间同步服务

  • 安装NTP服务。在各节点:
yum -y install ntp
ssh slave1 yum -y install ntp
ssh slave2 yum -y install ntp
ssh slave3 yum -y install ntp
  • 设置假设master节点为NTP服务主节点,那么其配置如下。
    使用命令“vim /etc/ntp.conf”打开/etc/ntp.conf文件,注释掉以server开头的行,并添加:
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
  • 在slave中配置NTP,同样修改vim /etc/ntp.conf文件,注释掉server开头的行,并添加:
server master
  • 永久性关闭防火墙,主节点和从节点都要关闭
service iptables stop & chkconfig iptables off
ssh slave1 service iptables stop & chkconfig iptables off
ssh slave2 service iptables stop & chkconfig iptables off
ssh slave3 service iptables stop & chkconfig iptables off
  • 启动NTP服务
service ntpd start & chkconfig ntpd on
ssh slave1 service ntpd start & chkconfig ntpd on
ssh slave2 service ntpd start & chkconfig ntpd on
ssh slave3 service ntpd start & chkconfig ntpd on
ssh slave1 ntpdate master
ssh slave2 ntpdate master
ssh slave3 ntpdate master

(6) 添加Hadoop环境变量
在/etc/profile添加JAVA_HOME和Hadoop路径,vim /etc/profile

export HADOOP_HOME=/usr/local/hadoop-2.6.4
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$HADOOP_HOME/bin:$PATH:$JAVA_HOME/bin

在这里插入图片描述
source /etc/profile使修改生效

  • 格式化NameNode,进入目录cd /usr/local/hadoop-2.6.4/bin,执行格式化 ./hdfs namenode -format
    注意!启动Hadoop前必须进行格式化,而且必须格式化成功才能成功启动

  • 启动集群,进入目录cd /usr/local/hadoop-2.6.4/sbin,执行启动:

./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver
  • 使用jps,查看进程,验证是否正常启动Hadoop集群
[root@master sbin]# jps
1765 NameNode
1929 SecondaryNameNode
2378 JobHistoryServer
2412 Jps
2077 ResourceManager

[root@slave1 ~]# jps
1844 Jps
1612 DataNode
1711 NodeManager
  • 关闭防火墙(在所有节点执行):
service iptables stop 
chkconfig iptables off
  • 在Windows下C:\Windows\System32\drivers\etc\hosts添加IP映射
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
192.168.128.133 slave3 slave3.centos.com
  • 浏览器查看:
http://master:50070
http://master:8088

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值