hadoop2.0的基本配置(修正)

1、      准备配置hadoop需要的软件

(1)    centos 6.5操作系统

(2)    jdk-7u79-linux-i586.tar.gz

(3)    hadoop-2.2.0-64bit.tar.gz


2、      安装jdk

(1)  解压缩jdk-7u79-linux-i586.tar.gz

执行命令  tar    -zxvf jdk-7u79-linux-i586.tar.gz

 

(2)重命名jdk1.7.0_79为jdk

执行命令  mv  jdk1.7.0_79    jdk

(3)配置环境变量,修改/etc/profile文件,增加以下信息

export  JAVA_HOME=/usr/local/jdk

export  PATH=$PATH:$JAVA_HOME/bin

 

执行命令 vi /etc/profile

(4)让配置立即生效

执行命令  source   /etc/profile


(5)查看是否安装成功

     执行命令    java    -version

3、      修改主机名

执行命令  vi   /etc/sysconfig/network   把文件里面的内容

 NETWORKING=yes                              改为  NETWORKING=yes   

 HOSTNAME=localhost.localdomain                HOSTNAME=hadoop13


4、配置/etc/hosts文件,使域名和ip对应起来

执行命令 vi   /etc/hosts   把文件的内容改为192.168.40.112     hadoop13


5、关闭防火墙,并且不允许防火墙再自动启动

(1)执行命令  service    iptables   stop  关闭防火墙


(2)执行命令  chkconfig   iptables  off    设置防火墙不能自启动



6、设置SSH免密码登录

(1)进入   ~/.ssh 目录,生成密钥和公钥

     执行命令   cd  ~/.ssh


  执行命令  ssh-keygen   -t   rsa  (默认的生成密钥方式是dsa)

     注意:要连续按下几下Enter键,直到出现一个图片的方框为止


(2)把  ~/.ssh/id_rsa.pub  文件放到   ~/.ssh/authorized_keys文件中

  执行命令 cp  ~/.ssh/id_rsa.pub      ~/.ssh/authorized_keys


(3)验证ssh免登录是否配置成功

   执行命令 ssh   hadoop13

7、安装hadoop

(1)进入 /usr/local/目录,解压缩文件hadoop-2.2.0-64bit.tar.gz

  执行命令 tar  -zxvf    hadoop-2.2.0-64bit.tar.gz


(2)重命名hadoop-2.2.0为hadoop

执行命令  mv    hadoop-2.2.0  hadoop


(3)配置环境变量,修改文件/etc/profile,添加hadoop的bin路径和sbin路径

修改的内容如下

  export   JAVA_HOME =/usr/local/jdk

  export   HADOOP_HOME=/usr/local/hadoop

  export    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(4)  让配置立即生效

执行命令  source   /etc/profile

(5)  修改/usr/local/hadoop/etc/hadoop目录下的六个文件夹

       ①修改hadoop-env.sh,这个文件只是修改JAVA_HOME的路径

        即export   JAVA_HOME=/usr/local/jdk

      

         ②修改core-site.xml文件,修改的内容如下

<configuration>

        <!-- 指定HDFS的地址-->

         <property>

             <name>fs.defaultFS</name>

             <value>hdfs://hadoop13:9000</value> 

         </property>

 

         <!-- 指定Hadoop的临时文件-->

         <property>

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

             <value>file:/usr/local/hadoop/tmp</value>                 

         </property>

    

         <!-- 指定文件缓冲区的大小-->

         <property>

             <name>io.file.buffer.size</name>

             <value>131072</value>

         </property>

 

         <!-- 配置可以访问的用户名-->

         <property>

             <name>hadoop.proxyuser.local.hosts</name>

              <value>*</value>

         </property>

 

         <!-- 配置可以访问的组-->

         <property>

        <name>hadoop.proxyuser.local.groups</name>

         <value>*</value>

         </property>

</configuration>


            ③修改hdfs-site.xml文件,修改的内容如下

<configuration>

 

         <!--分布式文件系统中的文件冗余数-->

          <property>

            <name>dfs.replication</name>

            <value>1</value>

          </property>

 

           <!--配置secondNameNode的地址-->

             <property>

                    <name>dfs.namenode.secondary.http-address</name>

                    <value>hadoop13:9001</value>

             </property>     

              

           <!--设置namenode存储的位置-->

              <property>

                     <name>dfs.namenode.name.dir</name>

                     <value>file:/usr/local/hadoop/dfs/name</value>

             </property>

 

            <!--设置datanode存储的位置-->

              <property>

                  <name>dfs.datanode.data.dir</name>

                  <value>file:/usr/local/hadoop/dfs/data</value>

              </property> 

 

              <!--设置是否可以用网页来查看hdfs系统-->

              <property>

                   <name>dfs.webhdfs.enabled</name>

                  <value>true</value>

              </property>

 

</configuration>




           ④把mapred-site.xml.template重命名为mapred-site.xml,然后修改里面的内容如下:

<configuration>

       <!--设置用yarn来运行mapreduce程序-->

           <property>

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

                <value>yarn</value>

          </property>  

 

       <!--mapreduce中job的地址-->

           <property>

              <name>mapreduce.jobhistory.address</name>

              <value>hadoop13:10020</value>

           </property>

         

         <!--网页jobhistory的地址-->

           <property>

             <name>mapreduce.jobhistory.webapp.address</name>

             <value>hadoop13:19888</value>

          </property>

 

</configuration>


             ⑤修改yarn-site.xml文件,修改的内容如下

<configuration>

 

<!-- Site specific YARN configuration properties -->

     <!-- reducer取数据的方式是mapreduce_shuffle -->

      <property>

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

         <value>mapreduce_shuffle</value>

 

      </property>

 

   <!-- shuffle的类路径 -->

<property>

      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

       <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

 

  <!-- resourcemanager的地址 -->

<property>

      <name>yarn.resourcemanager.address</name>

       <value>hadoop13:8032</value>

</property>

 

    <!-- scheduler的地址 --> 

<property>

      <name>yarn.resourcemanager.scheduler.address</name>

        <value>hadoop13:8030</value>

</property>

 

  <!-- resource-tracker的地址 -->

<property>

      <name>yarn.resourcemanager.resource-tracker.address</name>

       <value>hadoop13:8035</value>

</property>

 

 

<property>

      <name>yarn.resourcemanager.admin.address</name>

       <value>hadoop13:8033</value>

</property>

 

<property>

      <name>yarn.resourcemanager.webapp.address</name>

       <value>hadoop2:8088</value>

</property>

 

 

</configuration>



 

⑥修改slaves文件,这里主要就是datanode的地址,因为配置的是单节点的,所以可以把本机的ip放进去,如果没有的话,将不能存储数据,

                添加的内容如下:

                 hadoop13

                执行vi    slaves


8、格式化分布式文件系统

执行命令    hdfs  namenode  -format(hadoop    namenode  -format已经过时了)


9、启动hadoop

执行命令   start-all.sh

可以先启动start-dfs.sh  ,然后启动start-yarn.sh


10、查看是否启动成功

执行命令  jps,如果出现如下图所示的几个进程,则说明启动成功


总结:

1、安装jdk的时候一定要选择与linux系统相匹配的版本进行安装;

(1)查看linux是多少位的命令如下:

getconf     LONG_BIT


也可以通过uname  -a

如上图所示,没有出现64bit,所以他是32位的系统



(2)查看jdk是32位还是64位

 执行命令   java  -version

如上图,没有出现64bit,所以jdk是32位的



2、如果你使用的jdk版本是1.7,则会出现以下的错误

M: ssh: Could not resolve hostname VM: Nameor service not known

Client: ssh: Could not resolve hostnameClient: Name or service not known

warning:: ssh: Could not resolve hostnamewarning:: Name or service not known

library: ssh: Could not resolve hostnamelibrary: Name or service not known

Java: ssh: Could not resolve hostname Java:Name or service not known

have: ssh: Could not resolve hostname have:Name or service not known

loaded: ssh: Could not resolve hostnameloaded: Name or service not known

You: ssh: Could not resolve hostname You:Name or service not known

have: ssh: Could not resolve hostname have:Name or service not known

might: ssh: Could not resolve hostnamemight: Name or service not known

which: ssh: Could not resolve hostnamewhich: Name or service not known

 

解决的办法:

(1)/etc/profile文件夹中添加一些额外的环境变量:如以下所示

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native (额外添加)

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"(额外添加)

(2)上述问题还可能是由于/usr/local/hadoop/etc/hadoop/slaves里面配置的域名引起的,因为所配置的域名找不到与之对应的ip(默认的配置是localhost,即默认的存储数据的节点只有本地)


3、 如何添加多个datanode节点

Datanode节点主要是在/usr/local/hadoop/etc/hadoop/slaves里面配置的,在该文件可以配置datanode的域名或者ip地址,然后把/usr/local/hadoop整个文件夹发给各个datanode,然后再配置相关的环境变量,在启动hadoop之前,确保datanode节点是出于开机状态,这样才可以存储数据











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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值