hadoop2.6.0伪分布式环境搭建

Hadoop作为分布式大数据处理框架在数据处理应用中有广泛的应用,本文介绍在Linux环境下搭建hadoop伪分布式集群,记录下自己的学习过程。

一、虚拟机准备,为了减少折腾,不建议在windows上利用cygwin来模拟linux系统,直接利用vmware新建Linux虚拟机,可以减少很多不必要的麻烦,尤其是ssh远程连接、免密钥登录等环节的设置,在虚拟机上几乎不用浪费时间。

以下截图是我安装的机器信息,最好对机器设置静态IP,不用每次重启就重新修改hosts配置文件,另外hosts文件一定要设置。
这里写图片描述

二、配置jdk

hadoop是用java语言写的,需要运行在java虚拟机上,因此需要安装jdk,这里不介绍如何安装jdk,在redhat上可以通过rpm方式安装jdk,也可以在oracle官网直接下载jdk的包,解压到指定位置就可以。另外还需要把jdk的安装路径加入到环境变量。

下图所示是我的linux虚拟机上安装的jdk和设置的环境变量
这里写图片描述

三、配置免密钥登录

默认情况下在redhat系列机器上自动就装上了ssh远程登录服务,因此不用再安装,如果需要可以使用yum install -y ssh-server来安装。ubuntu系统就使用apt-get install openssh-server.
接着生成密钥:

ssh-keygen -t rsa

输入该命令后,一路回车,会生成一个id_rsa.pub的文件,生成的密钥会在根目录下的.ssh文件夹下,将id_rsa.put文件拷贝一份为authorized_keys文件,必须要拷贝。

cd ~/.ssh
cp id_rsa.pub authorized_keys

这里写图片描述
之所以要生成密钥,主要是hadoop在启动时会远程登录节点(即使是单机模式和伪分布式模式),如果没有密钥,那么在ssh登录节点时,需要手工输入密码,这一步在单机模式下或着伪分布式模式下可以接受,但是完全分布式部署时机器数量非常大,一个个输入密码会非常麻烦,免密钥登录就是减少了输入密码的步骤,这一步至关重要。

四、配置Hadoop

这里包括Hadoop所在目录的环境变量(见第二步jdk环境配置)和Hadoop本身的配置文件(etc/hadoop目录下)。
1)core-site.xml

<configuration>
 <property>
         <name>fs.defaultFS</name>
         <value>hdfs://master:9000</value>
 </property>
 <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/software/ApacheHadoop/hadoop-2.6.0/hdfs/name</value>
 </property>
</configuration>

这里写图片描述
2)hdfs-site.xml

<configuration>
 <property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
 <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/software/ApacheHadoop/hadoop-2.6.0/hdfs/data</value>
 </property>
</configuration>

这里写图片描述
3)mapred-site.xml

<configuration>
 <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
  </property>
</configuration>

这里写图片描述
4)yarn-site.xml

<configuration>
  <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>
</configuration>

这里写图片描述
Hadoop的配置基本是按照官网的配置来的,没什么好说的。

五、数据格式化

hadoop namenode -format

这里写图片描述
如图数据格式化出现has been successfully formatted.表示格式化成功。接着就可以依次启动Hadoop的服务了。

六、启动Hadoop

进入Hadoop安装目录,先启动hdfs,后启动yarn,如果是关闭hadoop,那么刚好相反。

sbin/start-dfs.sh
sbin/start-yarn.sh

停止hadoop服务

sbin/stop-yarn.sh
sbin/stop-dfs.sh

这里写图片描述

七、检验Hadoop伪分布式集群环境

a)查看java进程jps

这里写图片描述

b)hadoop命令行检验hdfs文件系统

[root@master hadoop-2.6.0]# hadoop fs -ls /
[root@master hadoop-2.6.0]# vi student.txt
[root@master hadoop-2.6.0]# cat student.txt 
1   feiy    m   90
2   yibao   m   100
3   missma  f   99
4   feifi   m   88
[root@master hadoop-2.6.0]# hadoop fs -mkdir /usr
[root@master hadoop-2.6.0]# hadoop fs -mkdir /usr/feiy
[root@master hadoop-2.6.0]# hadoop fs -ls /usr
Found 1 items
drwxr-xr-x   - root supergroup          0 2016-11-18 01:58 /usr/feiy
[root@master hadoop-2.6.0]# hadoop fs -copyFromLocal student.txt /usr/feiy/
[root@master hadoop-2.6.0]# hadoop fs -ls /usr/feiy/
Found 1 items
-rw-r--r--   1 root supergroup         53 2016-11-18 01:59 /usr/feiy/student.txt
[root@master hadoop-2.6.0]# hadoop fs -cat /usr/feiy/student.txt
1   feiy    m   90
2   yibao   m   100
3   missma  f   99
4   feifi   m   88

以上命令依次是

  1. 查看hdfs文件系统根目录下的文件,返回为空。因为第一次操作,什么也没有。
  2. 接着在本地新建一个student.txt的文件,利用cat命令 查看到里面包含4条用tab键分割的用户信息,后面会用到。
  3. 然后在hdfs上创建了一个目录/usr
  4. 接着在/usr下创建了feiy文件夹,这两步可以合成一个命令:hadoop fs -mkdir -p /usr/feiy
  5. 接着利用copyFromLocal命令将本地文件上传到hdfs的/usr/feiy目录下,copyFromLocal可以使用put代替,效果是一样的,都比较直观,拷贝本地文件到hdfs上面。
  6. 查看该目录/usr/feiy下有什么文件(夹)
  7. 最后一条命令是查看hdfs上的student.txt文件,即为本地上传的student.txt文件。

这里写图片描述

c)浏览器查看hadoop服务(http://192.168.61.101:50070/)

服务概况
这里写图片描述
查看文件系统
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值