安装Hadoop,让Wordcount飞起来

安装部署hadoop 伪分布集群。

在hadoop环境搭建之前,确保centos系统的网络配置正常、新用户已经创建、hostname已经设置、 静态IP已经设置、防火墙已经关闭、相关服务已经安装。

1、jdk安装

前面我们已经安装了64位的centos系统,所以我们的jdk也需要安装64位的。

创建安装目录/usr/java(当然,大家也可以使用其它目录)

大家注意:前面centos安装的时候,hostname为dajiangtai, 这里我换成了djt002,hostname大家可以自由修改,没有必要大惊小怪。当然大家可以直接使用dajiangtai就可以。

将下载好的jdk上传至/usr/java当前目录下。没有下载好的同学,可以点击下载

解压jdk安装包。

设置jdk环境变量,在/etc/profile.d目录下,新建一个java.sh脚本,添加如下内容。 当然配置jdk环境环境变量有很多种方式,大家也可以使用 vi /etc/profile 命令打开文件,添加相应的内容。

保存添加的内容并退出。

通过source使java.sh文件立即生效,如果能查看Java的版本号,代表jdk安装成功。

2、修改host文件,设置hostname与ip之间的映射关系。

大家注意:前面centos安装的时候,ip地址为192.168.20.160,这里我已经换了ip, ip变成了192.168.1.127, 大家没有必要大惊小怪。大家只需通过ifconfig命令查看当前ip地址, 然后设置hostname与ip之间的对应关系就可以了。当然大家直接使用前面配置的ip(192.168.20.160),没有问题。

3、配置ssh免密码

在hadoop用户下,切换到根目录。

[hadoop@djt002 root]$ cd
[hadoop@djt002 ~]$ 

创建‘.ssh’目录。

[hadoop@djt002 ~]$ mkdir .ssh

生成秘钥,输入命令后,一直回车。

进入 .ssh 目录下。

将公钥拷贝到认证文件。

退回到根目录下,为.ssh赋予权限。

使用ssh 登录djt002,第一次登陆需要输入yes,第二次以后登录就不需要密码,此时表明设置成功

4、安装hadoop

在/usr/java目录下,在线下载hadoop2.2.0安装文件。当然我们也可以直接下载Hadoop安装包进行安装。

解压hadoop安装文件。

修改hadoop解压文件名称

将hadoop安装目录的权限赋值为hadoop用户。

创建Hadoop数据目录,并赋予权限。

进入hadoop安装目录的配置文件路径下。

修改core-site.xml配置文件

修改hdfs-site.xml配置文件。

修改mapred-site.xml配置文件。

修改yarn-site.xml配置文件。

修改slaves配置文件。

配置hadoop 环境变量。

使配置文件生效。

5、测试运行。

格式化NameNode

启动hadoop

出现以下进程说明hadoop启动成功。

通过webui访问文件系统。

在本地新建一个djt.txt文件并输入内容。

在hdfs文件系统中,新建一个dajiangtai目录并将本地djt.txt文件上传至该目录下。

通过webui查看hadoop作业运行情况。

让Wordcount飞起来。

通过webui查看作业正在运行情况。

在文件系统中查看作业最后运行结果。

特别提醒:在地址栏中输入主机名:50070(即端口号是50070,而不是50075)

关闭hadoop集群。

注意:大家在hadoop集群启动或者关闭的时候,最好使用命令正常关闭。

hadoop出现问题怎么办?

查看hadoop集群相关进程的启动情况。

如果哪个进程没有启动起来,我们可以查看对应进程的日志。 假如datanode没有启动,我们查看datanode对应的日志。

如果hadoop集群作业运行过程中出现问题怎么办?

可以查看作业运行日志,而且是userlogs目录中最大编号的文件目录。

环境搭建常见问题

1、报类似如下错误:org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /dajiangtai/djt.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation. at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1384)

【问题分析】出现上述错误,一般是由于datanode没有启动。

【解决方案】(1)首先关闭hadoop集群;(2)清空创建的/data目录;(3)格式化NameNode,重启hadoop集群。

2、报类似如下错误:FATAL namenode.NameNode: Exception in namenode join java.io.IOException: Cannot remove current directory: /data/dfs/name/current at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:299)

【问题分析】/data目录的权限不够,NameNode无法启动。

【解决方案】(1)在root用户下,将/data/目录的操作权限赋给hadoop用户; (2)清空/data目录的文件;(3)重新格式化NameNode,重启hadoop集群。

集群启动失败如何排查?

首先查看启动进程,打开没有启动的进程对应的日志,查看错误信息进行排错。一定要先查看日志,才能帮助我们解决问题。如果日志看不出明显的错误,可以从以下几个思路检查集群状况。

1、检查防火墙是否关闭。

2、检查ssh是否配置正确。

3、检查hadoop相关目录是否具有hadoop用户权限。

4、检查Hadoop相关配置文件是否正确。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值