Hadoop 伪分布式配置

  •  环境:虚拟机VM  Centos 6.7 
  •  Java:jdk-7u67-linux-x64.tar.gz 
  •  Hadoop:  hadoop-2.5.0.tar.gz 
  •  IP/Host: 192.168.47.100/bigdata.001.com

 

设置虚拟机IP/Host

虚拟机  ->  编辑  ->  虚拟网络编辑器
1. 虚拟机设置为NAT模式。
2. 查看虚拟机的网段。
如图所示:网段是:192.168.47.* ,其中192.168.47.0/2这两个IP不可作为该虚拟机的IP地址。192.168.47.2 作为该虚拟机的DNS。


 3. 可视化j界面来设置IP,如下图所示。


当然,也可以通过编辑  /etc/sysconfig/network-scripts/ifcfg-XXX来进行配置IP。


3. hostname 在 /etc/hosts 与IP进行关联
    /etc/sysconfig/network 中修改hostname。


完成上述操作,重启Centos,可以通过hostname来查看Centos的hostname是否配置成功。

并且可以将虚拟机的Centos的IP写到windows中的hosts中,这样就可以在实体机window中ping通虚拟机Centos。

 


在配置 Hadoop 时,必须禁用selinux,

 vi  /etc/sysconfig/selinux

# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled

同时需要关闭防火墙

看状态service iptables status
设置关闭service iptables stop
自启关闭chkconfig iptables off

 

安装Oracle Java

查看自带的JDK

rpm -qa | grep java

卸载自带的JDK

rpm -e --nodeps 卸载内容(卸载多文件使用空格)

解压JDK

tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/

配置java环境

vi /etc/profile  打开文件,并将下列三行添加到文件中。
     ##JAVA_HOME
     export JAVA_HOME=/opt/moduels/jdk1.7.0_67
     export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile   加载全局变量文件,使其生效。
java -version   验证java是否安装成功

 Hadoop之HDFS

  •  解压 Hadoop压缩包, 这里选取 /opt/moduels 作为hadoop安装目录
 tar -zxf hadoop-2.5.0.tar.gz -C /opt/moduels/

解压完成后,可以删除 hadoop目录下的 /share/doc 文件夹

 

  • 修改 etc/hadoop/hadoop-env.sh, mapred-env.sh 和 yarn-env.sh 制定java安装路径。
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
  • 修改 etc/hadoop/core-site.xml
//默认文件系统访问入口,1.x系列端口号为9000
//hadoop.tmp.dir为hadoop系统生成文件的临时目录

     <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata.001.com:8020</value><!--可以用IP来代替主机名-->
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
        </property>
     </configuration>
  • 修改 hdfs-site.xml
//修改副本数量, 表示hadoop会备份的数量, 如果当前改为1, 那么之后的所有副本都是是 1, 之前的不会改变.
    <configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
    </configuration>
  • 修改 slaves,配置本机的主机名。如果有其他内容,可以全部都删去。
    //从节点机器位置主机名
    bigdata.001.com
  • 格式化 namenode
命令:bin/hdfs namenode -format
查看结果:data/tmp文件夹生成文件  (hadoop.tmp.dir 配置的路径)
//只能格式化一次,如果有需求,将tmp文件夹下内容删除再格式化  
//多次格式化会导致集群ID不一致,手动修改集群ID也可以修复多次格式化问题

可以通过下列两个路径下的文件进行对比
/opt/app/hadoop-2.5.0/data/tmp/dfs/data/current
  • 启动namenode和datanode
命令:
  sbin/hadoop-daemon.sh start namenode 
  sbin/hadoop-daemon.sh start datanode
验证:
  在 Centos 命令窗口使用jps查看进行。
  • 打开浏览器,查看相关界面是否存在。存在即表示hdfs配置成功
http://bigdata.001.com:50070/
http://192.168.47.105:50070/

SecondaryNameNode 配置

    //文件操作记录会进行存储为编辑日志edits文件
    //namenode格式化之后生成镜像文件,namenode启动时会读取镜像文件
    //SecondaryNameNode用于合并这两个文件,减少namenode启动时间
    文件地址:hadoop-2.5.0/data/tmp/dfs/name/current
    流程:SecondaryNameNode读取两种文件 -> 合并为fsimage文件 -> 生成新的edits文件 

  • 修改hdfs-site.xml文件,指定 secondarynamenode 机器位置和交互端口号:50090
       <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>192.168.47.105:50090</value>
        </property>
  • 启动
sbin/hadoop-daemon.sh start secondarynamenode
  • 访问验证
检验:jps
外部访问界面:http://lee.cniao5.com:50090

Hadoop配置——YARN与MapReduce

  • 修改mapred-site.xml.template //.template表示不生效
mv mapred-site.xml.template mapred-site.xml
  • 修改mapred-site.xml
//使MapReduce运行YARN上面
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
  • 修改yarn-site.xml
    //MapReduce运行服务
    <configuration>
        <!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
    </configuration>


    //resourcemanager 默认为启动的机器
    //伪分布式可以不进行配置,配置一般使用主机名
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>192.168.47.105</value>
        </property>
    </configuration>
  • 启动
命令:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager 

//MapReduce不需要启动
//使用jps查看

外部管理界面
    192.168.47.105:8088

MapReduce历史服务器

  •  修改mapred-site.xml
        //内部交互地址
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.47.105:10020</value>
        </property>
        //外部交互地址
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.47.105:19888</value>
        </property>
  • 启动
sbin/mr-jobhistory-daemon.sh start historyserver
    
检验:jps
//历史服务器需要重启HDFS与YARN

验证

使用单词统计进行检验
      创建input文件夹  bin/hdfs dfs -mkdir -p mapreduce/input
      上传统计文件    bin/hdfs dfs -put /opt/datas/file.input /user/root/mapreduce/input
 
//输出目录不需要提前存在,任务运行完自动创建,防止任务结果覆盖

//在yarn运行job时候都必须要打jar包

单词统计命令
      bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
                         (jar包中的类)  (需要计算文件的路径)      (得到结果的路径, 只能使用一次)


查看结果
   //_SUCCESS表示成功 结果在part-r-00000

   bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000

命令与操作

使用命令
     /user/root 是hadoop 内部创建的一个根目录地址,可以在浏览器上看到
     创建: bin/hdfs dfs -mkdir -p /user/root/lee
     上传: bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
     读取: bin/hdfs dfs -text /user/root/lee/core-site.xml
     下载: bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml 



service iptables stop
chkconfig iptables off
rpm -qa | grep java
rpm -e --nodeps
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/
sbin/hadoop-daemon.sh start namenode 
sbin/hadoop-daemon.sh start datanode
bin/hdfs dfs -mkdir -p /user/root/lee
bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
bin/hdfs dfs -text /user/root/lee/core-site.xml
bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000

可能存在的问题

集群ID不一致
   删除data/tmp,重新格式化

进程启动失败
  这个问题需要分析log,log位置/logs

尽量用IP来代替主机名

1. yum update  报错

处理: /etc/sysconfig/network-scripts/ifcfg-eth0 的文件进行修改,在最下边加上:

DNS1=8.8.4.4
DNS2=8.8.8.8
 

重启: service network restart

2. ssh 连接不上

处理:yum install openssh-server   -> service sshd start  ->  chkconfig sshd on

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值