centos7.1安装部署Hadoop

明明之前已经在Ubuntu上部署过Hadoop了,换到CentOS又卡了好久,还是好弱,赶紧写篇博客记录下来。

一、安装JDK,配置环境变量

(1)查看CentOS自带JDK是否已安装

yum list installed|grep java


这里我已经安装过了java-1.8.0-openjdk,为了方便演示所以就当做自带环境了,不影响接下来的操作。(这里补充一下jdk和openjdk的区别:简单来讲,openjdk只包含最精简的jdk,而且两者授权协议不同,openjdk采用GPL V2协议,jdk采用JRL,虽然都是开源,但前者可以用于商业,后者只能用于个人)

(2)卸载自带的Java环境

yum -y remove java-1.8.0-openjdk*(注意不要漏掉*,表示卸载所有openjdk相关文件,-y表示选项默认选yes)


(3)查看yum库中的Java包

yum -y list java*注意*


(4)使用yum安装Java环境

yum -y install java-1.8.0-openjdk*注意*


安装完成后,就可以通过java -version和javac来查看刚安装的Java版本信息了


(5)配置环境变量

vim /etc/profile

添加下面几行内容


保存退出之后,再执行source /etc/profile

至此Java环境就配置成功了,接下来是Hadoop的配置。


二、配置Hadoop

(1)下载Hadoop压缩包

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

2)解压缩

tar -zxvf hadoop-1.2.1.tar.gz


3)4个需要配置的文件


3-1)配置hadoop-env.sh

这个文件是hadoop配置的环境变量等信息

vim hadoop-env.sh


这行的注释取消(去掉#)同时修改JAVA_HOME路径为上文配置Java环境变量时的JAVA_HOME路径

(3-2)配置core-site.xml

这个文件是用做全局配置

vim core-site.xml


具体配置情况如上图,其中doarcutine为我主机的hostname,hostname通过输入

hostname

就可以得到,这里还要注意主机名尽量不要包含特殊符号,centos修改主机名可以通过如下指令

sudo hostname doarcutine


(3-3)配置hdfs-site.xml

这个文件是hdfs的局部配置(hadoop的关键就是hdfs和MapReduce,自然要对这两个分别做设置)

vim hdfs-site.xml


配置情况如上图

(3-4)配置mapred-site.xml(mapred其实就是MapReduce的意思)

vim mapred-site.xml


(4)配置环境变量

vim /etc/profile

添加如下两项内容


source /etc/profile

执行之后,可以通过执行

hadoop


查看hadoop是否可以正常找到执行程序

5)格式化namenode

这里可能遇到问题,见下文(7)

这是执行之前的第一步,为什么要格式化呢?因为hadoop可以看做一个单独的文件系统(准确的说是hdfs),所以就像空硬盘需要格式化一样,通过格式化让存储空间知道以什么方式组织数据。

hadoop namenode -format  (建议在bin目录下执行


6)启动start-all.sh

这里可能遇到问题,见下文(7)

cd /opt/hadoop-1.2.1/bin

进入这个目录下,我们可以看到有start-all.sh这样一个文件,我们可以在任意一个地方执行这个文件。

start-all.sh

启动成功后如下图,输入jps可以看到启动的项目


大功告成


(7)一些可能遇到的问题

(7-1)执行(5)时如果报错,则很有可能是Java路径配置有问题,注意查看/etc/profile和/opt/hadoop-1.2.1/conf/hadoop-env.sh这两个文件中Java路径是否正确。

(7-2)执行(6)时如果报错异常了,并且有一句是Caused by: java.lang.RuntimeException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence。那么原因就是当前系统用的语言是GBK,所以需要前面配置的3个xml用GBK编码,当然更好的方式是把系统语言改成utf8,具体修改方法参考http://blog.csdn.net/wave_1102/article/details/45116783

(7-3)执行(6)总提示localhost的密码不对。

执行命令 ssh localhost,查看ssh是否可以免密码登录,如果不可以,启动下面命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

之后应该可以了  如果还是不可以就从新设置一下ssh文件权限之后再执行上述命令应该就可以了

(7-4)执行jps后,进程数目不正常(比截图中要少,只有其中的个别几个),这个原因在于配置文件中主机名错误,建议修改为一个没有特殊字符的主机名,修改方式见(3-2),然后/opt/hadoop-1.2.1/conf/core-site.xml和/opt/hadoop-1.2.1/conf/mapred-site.xml修改两个文件中主机名。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值