hadoop2.9+centos6.9集群完全分布式

一.准备工作 
1.1软硬件环境 
虚拟机软件:VMware Fusion 10 
虚拟操作系统:CentOs-6.9 64位 
JDk:1.8.0_121 64位 
Hadoop:2.9.0
1.2集群网络环境 
集群包括4个节点,1个Namenode、3个Datanode,其中节点之间可以相互ping通。节点IP地址和主机名如下: 



1.3注意
每个Centos操作系统的防火墙必须关闭,具体关闭方式查看:
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙状态:service iptables status
二.环境搭建 
2.1操作系统安装
先安装一个系统,然后利用VMWare的克隆功能
具体步骤查看:centos安装.docx
2.2本地环境配置
配置hosts(需切换root)

2.3操作系统设置 
在Hadoop安装过程中需要关闭防火墙和SElinux,否则会出现异常。 
(1)关闭防火墙 
具体操作查看:
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙状态:service iptables status
三.软件安装及环境配置 
以下的软件安装先在Master上安装,全部安装完后,再通过复制到Slave中即可。 
3.1 Java安装及其环境配置 
一、查找已经安装的open JDK
[root@localhost ~]# rpm -qa|grep jdk  
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64  
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64  
[root@localhost ~]# rpm -qa|grep gcj  
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115    
libgcj-4.1.2-48.el5  
二、移除open JDK
[root@localhost ~]# yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64  
[root@localhost ~]# yum -y remove java java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64  
[root@localhost ~]# yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115    
[root@localhost ~]# yum -y remove libgcj-4.1.2-48.el5 


三、下载SUN JDK
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
四、解压压缩包配置环境变量(以下方法根据需要两者取一)
1.编辑/etc/profile
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 
·用文本编辑器打开/etc/profile 
·在profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

·重新登录 
·注解 
a. 你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录 
b. linux下用冒号“:”来分隔路径 
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值 
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种 
常见的错误。 
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 
e. export是把这三个变量导出为全局变量。 
f. 大小写必须严格区分。
2. 修改.bash_profile文件 

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。 
·用文本编辑器打开用户目录下的.bash_profile文件 
·在.bash_profile文件末尾加入: 

export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
设置好之后重新打开终端,通过java -version查看是否安装成功
退出yum:
rm -rf /var/run/yum.pid
3.2 ssh免登
3.2.1生成密钥
# ssh-keygen -t rsa -P "" -f "/root/.ssh/id_rsa"
 
ssh-keygen命令常用选项:
•-t TYPE:指定密钥加密类型
•-P PASSWORD:指定私钥加密的密码,建议为空
•-f FILENAME:指定密钥保存位置
3.2.2将公钥复制至远程
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.193.135
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.193.136
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.193.137
3.2.3 验证是否成功
ssh root@172.16.193.135
3.3 Hadoop安装与配置
3.3.1解压hadoop到指定目录(自己喜欢哪个目录都可以)
      tar -zxvf hadoop-2.7.0.tar.gz /xxx/hadoop-2.7.0
        重命名文件:mv /xxx/hadoop-2.7.0 /xxx/hadoop
3.3.2配置hadoop环境变量
查找hadoop 目录:which Hadoop

 vim  /etc/profile
export HADOOP_HOME=/xx/xx/java/hadoop/hadoop-2.9.0
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

检查结果:

hadoop version


3.3.3修改hadoop配置文件
1、hadoop-env.sh:

export JAVA_HOME=jdk地址


2、core-site.xml:
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs:// Master.Hadoop:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/xxx/xxx/java/hadoop/hadoop-2.9.0/tmp</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>4320</value>
    </property>
</configuration>
3、hdfs-sit.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/xx/xx/java/hadoop/hadoop-2.9.0/current/dfs/name </value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/Users/leishuping/java/hadoop/hadoop-2.9.0/current /dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master.hadoop:50090</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>
4、mapred-site.xml
将mapred-site.xml.template复制并改为mapred-site.xml
cp /xx/xx/java/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template /xx/xx/java/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml


<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
          <final>true</final>
    </property>
  <property>
     <name>mapreduce.jobtracker.http.address</name>
     <value>master.hadoop:50030</value>
  </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master.hadoop:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master.hadoop:19888</value>
    </property>
    <property>
        <name>mapred.job.tracker</name>
        <value>http://master.hadoop:9001</value>
    </property>
</configuration>
5、yarn-sit.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
   <name>yarn.resourcemanager.hostname</name>
   <value> master.hadoop </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.resourcemanager.address</name>
   <value> master.hadoop:18040</value>
 </property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value> master.hadoop:18030</value>
 </property>
 <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value> master.hadoop:18025</value>
 </property> <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value> master.hadoop:18141</value>
 </property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value> master.hadoop:18088</value>
 </property>
<property>
   <name>yarn.log-aggregation-enable</name>
   <value>true</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.log-aggregation.retain-check-interval-seconds</name>
   <value>86400</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir</name>
   <value>/tmp/logs</value>
 </property>
<property>
   <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
   <value>logs</value>
 </property>
</configuration>
6、yarn-env.sh
export JAVA_HOME=jdk地址
7、slaves添加节点
在/xx/xx/java/hadoop/hadoop-2.9.0/etc/hadoop目录下的slaves


vim slaves


Salve01
Salve02
Salve03
3.3.4将master服务器上配置好的Hadoop复制到各个节点对应位置上,通过scp传送
scp -r /xx/xx/java/hadoop  172.16.193.135:/ /xx/xx/java 
scp -r /xx/xx/java/hadoop  172.16.193.136: /xx/xx/java
scp -r /xx/xx/java/hadoop  172.16.193.137: /xx/xx/java


3.4 启动hadoop
进入到/xx/xx/java/hadoop/hadoop-2.9.0/sbin目录
./ start-all.sh
分别在master、service01、service02、 service03输入jps查看信息
在master上
访问,输入http://loaclhost:50070


访问,输入http:// loaclhost:50070

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值