Hadoop伪分布式环境搭建

版本 : hadoop-2.6.0-cdh5.7.0

HDFS伪分布式搭建

1)创建hadoop用户与app文件夹

[root@hadoop001 ~]# useradd hadoop
[root@hadoop001 ~]# su - hadoop

[hadoop@hadoop001 ~]$ mkdir app
[hadoop@hadoop001 ~]$ cd app/

上传jar包到app下

下载地址:http://archive.cloudera.com/cdh5/cdh/5/         

 

注: 用户切不了怎么办? (This account is currently not available.)

修改 /etc/passwd。

把最后的/sbin/nologin --> /bin/bash

 

2)JDK安装

        按照cdh的部署方式。 

       mkdir /usr/java   jdk部署
       mkdir /usr/share/java   部署CDH需要mysql jdbc jar包

        解压:

[root@hadoop001 ~]# tar -zxvf jdk-8u45-linux-x64.tar.gz -C /usr/java

      注:ll检查解压后java的用户以及用户组, 如果不是root,改为root :

[root@hadoop001 java]# chown -R root:root jdk1.8.0_45

        

3)配置环境变量:

[root@hadoop001 java]# vi /etc/profile

                export JAVA_HOME=/usr/java/jdk1.8.0_45

                export JRE_HOME=$JAVA_HOME/jre
                export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
                export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

        使环境变量生效:source /etc/profile

        验证:java -v

 

4)安装ssh

        安装ssh:

[hadoop@hadoop001 java]$ sudo yum install ssh

        配置ssh免密码登陆:

            ssh-keygen -t rsa (全部回车)

            将密钥安装到/home/hadoop/.ssh下

            进入目录,

[hadoop@hadoop001 .ssh]$ ll
total 8
-rw------- 1 hadoop hadoop 1675 Feb 13 22:36 id_rsa       私钥
-rw-r--r-- 1 hadoop hadoop  398 Feb 13 22:36 id_rsa.pub   公钥

            执行cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 。 将公钥放到认证文件中。

            验证:ssh localhost/hadoop001

           注: 若验证失败。 

           查看authorized_keys的权限。 并将权限改为600

[hadoop@hadoop001 .ssh]$ chmod 600 authorized_keys

 

5)安装hadoop

 

        解压

        配置环境变量:

        export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

        export PATH=$HADOOP_HOME/bin:$PATH

 

        修改配置:

$HADOOP_HOME/etc/hadoop/hadoop-env.sh :

  # set to the root of your Java installation
  export JAVA_HOME=/usr/java/jdk1.8.0_45


  # Assuming your installation directory is /usr/local/hadoop
  export HADOOP_PREFIX=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
   因为进程的Pid文件默认存在/tmp下。 可能会被Linux非正常删除, 所以需要配:

       export HADOOP_PID_DIR=/data/tmp       

 

$HADOOP_HOME/etc/hadoop/core-site.xml:

 

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://hadoop001:8020</value>

    </property>

 

    <property>

        //指定临时文件存放目录

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/app/tmp</value>

    </property>

 

$HADOOP_HOME/etc/hadoop/hdfs-site.xml:

    <property>

        //设置副本系数为1

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>hadoop001:50090</value>
   </property>


   <property>
       <name>dfs.namenode.secondary.https-address</name>
       <value>hadoop001:50091</value>
   </property>

$HADOOP_HOME/etc/hadoop/slaves (配置DN节点的hostname)

hadoop001

 

6)启动HDFS

        格式化文件系统(仅第一次执行,不要重复执行):

                 $ bin/hdfs namenode -format

        启动NN进程和DN进程:

                  $ sbin/start-dfs.sh

        验证:

        

        访问:http://hadoop001:50070

 

遇到问题:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。造成启动进程时无法启动DataNode。

解决方法:

根据日志中的路径/home/hadoop/app/tmp/dfs能看到 data和name两个文件夹,将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID让两个保持一致

 

5)停止HDFS

        $ sbin/stop-dfs.sh

 

YARN伪分布式环境搭建

1)mapred-site.xml (将mapred-site.xml.template复制一份得到)

<property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

2)yarn-site.xml

<property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

</property>

 

3) 启动YARN相关的进程

sbin/start-yarn.sh

 

4)验证

        jps

                ResourceManager

                NodeManager

        http://hadoop001:8088

 

5)停止YARN相关的进程

        sbin/stop-yarn.sh

 

 

提交mr作业到YARN上运行:

/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar

 

命令:hadop jar

 

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 5 10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值