Hadoop集群搭建图文

 

Hadoop分布式文件存储系统需要ssh 免密登录支撑

创建三个同名同密码的用户s

具体步骤详见之前的博客

 

然后配置Hadoop集群

1.ROOT用户下解压Hadoop

授权给用户

chown -R  s /usr/hadoop

2.创建hdfs相关文件

创建存储hadoop数据文件的目录: mkdir /usr/local/src/hadoopdir

存储临时文件,如pid:mkdir /usr/local/src/hadoopdir/tmp

创建dfs系统使用的dfs系统名称hdfs-site.xml使用:

mkdir /usr/local/src/hadoopdir/dfs/name

创建dfs系统使用的数据文件hdfs-site.xml文件使用:

mkdir  /usr/local/src/hadoopdir/dfs/data

授权给s: chown -R  s /usr/local/src/hadoopdir

3.配置环境变量

ROOT用户下

vim /etc/profile  添加如图:

保存退出后更新:source /etc/profile

修改{Hadoop}/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/etc/profile中的Javahome一样

防止Hadoop读不出来

最后验证:Hadoop version

4.配置Hadoop文件内容

总共要修改四个文件

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

5.Master虚拟机修改slaves文件

添加Slave1

Slave2

6.切换为s用户搭建集群(要是root用户运行了但是没有做ssh免密登录在切回s用户就来不及了反正当时拍了快照)

格式hadoop文件:hadoop  namenode -format  (最后出现“util.ExitUtil: Exiting with status 0”,表示成功)

发送dfs内容给Slave1:scp  -r /usr/local/src/hadoopdir/dfs/*  Slave1:/usr/local/src/hadoopdir/dfs

发给dfs内容给Slave2:scp  -r /usr/local/src/hadoopdir/dfs/*  Slave2:/usr/local/src/hadoopdir/dfs

发送hadoop文件给数据节点:scp -r /usr/local/src/hadoop/hadoop-2.6.5/*  Slave1:/usr/local/src/hadoop/hadoop-2.6.5/  scp -r /usr/local/src/hadoop/hadoop-2.6.5/*  Slave2:/usr/local/src/hadoop/hadoop-2.6.5/

 

/usr/local/src/hadoopdir/tmp

7.启动集群

在{Hadoop}文件夹下./sbin/start-all.sh

Master的jps

Slave的jsp

离开安全模式(master): hadoop dfsadmin  safemode  leave

查看结果:hadoop dfsadmin -report

登录网页查看:http://Master:50070  (查看live node)    查看yarn环境(http://Master/8088)

 

错误:Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:

 

这个提示了找不到文件,所以解决步骤如下:

1)确认下集群上的HDFS系统上有没有这个文件,没有的话用命令 hdfs dfs -mkdir -p XXXX 创建文件

2)用hdfs dfs -ls 确认下文件的存在,然后和自己输入的参数比较一下,看看有没有拼写错误

3)确认路径是否真的正确,因为hdfs上可能新建文件夹的时候无意识的都是用的相对路径,所以自己没

   确认正确的路径

比如自己认为的路径:hdfs://localhost:9000/input

实际上这个路径是错误的 输入 hdfs dfs -ls /

drwxr-xr-x   - root supergroup          0 2017-02-05 21:47 /user

发现实际上绝对路径应该是 hdfs://localhost:9000/user/hadoop/input

core-site.xml

 <property>

                <name>fs.defaultFS</name>

                <value>hdfs://Master:9000</value>

       </property>

       <property>

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

                <value>131072</value>

        </property>

       <property>

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

               <value>file:/usr/local/src/hadoopdir/tmp/</value>

               <description>A base for other temporary   directories.</description>

       </property>

        <property>

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

               <value>*</value>

       </property>

       <property>

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

               <value>*</value>

       </property>

hdfs-site.xml

<configuration>

     <property>

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

             <value>file:///usr/local/src/hadoopdir/dfs/name</value>

       </property>

      <property>

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

              <value>file:///usr/local/src/hadoopdir/dfs/data</value>

       </property>

       <property>

               <name>dfs.replication</name>

               <value>2</value>

        </property>

        <property>

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

                  <value>true</value>

         </property>

</configuration>

mapred-site.xml

<configuration>        

<property>

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

          <value>yarn</value>

           </property>

          <property>

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

                  <value>Master:10020</value>

          </property>

          <property>

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

                <value>Master:19888</value>

       </property>

 <property>

                <name>mapreduce.jobtracker.http.address</name>

                <value>Master:50030</value>

       </property>

 <property>

                <name>mapred.job.tracker</name>

                <value>Master:9001</value>

       </property>

</configuration>

yarn-site.xml

 <configuration>

 

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

        <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.hostname</name>

               <value>Master</value>

       </property>

        <property>

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

               <value>Master:8032</value>

       </property>

       <property>

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

               <value>Master:8030</value>

       </property>

       <property>

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

             <value>Master:8031</value>

      </property>

      <property>

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

               <value>Master:8033</value>

       </property>

       <property>

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

               <value>Master:8088</value>

       </property>

</configuration>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值