centos7.1安装部署Hadoop

http://blog.csdn.net/u012852986/article/details/51488496

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

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

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

yum list installed|grep java

[图片上传中...(image-714da0-1513668920940-33)]

[图片上传中...(image-b5ea8f-1513668920938-20)]

**这里

我已经安装过了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)

[图片上传中...(image-b60898-1513668920937-4)]

[图片上传中...(image-9b7fb-1513668920937-7)]

(3)查看yum库中的Java包

*yum -y list java

注意*

)**

[图片上传中...(image-5cfd82-1513668920938-19)]

[图片上传中...(image-220169-1513668920937-6)]

(4)使用yum安装Java环境

*yum -y install java-1.8.0-openjdk

注意*

)**

[图片上传中...(image-990a11-1513668920937-3)]

[图片上传中...(image-385943-1513668920936-0)]

安装

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

[图片上传中...(image-b4f49b-1513668920937-2)]

[图片上传中...(image-203962-1513668920937-1)]

(5)配置环境变量

vim /etc/profile

添加下面几行内容

[图片上传中...(image-35926f-1513668920938-18)]

[图片上传中...(image-989626-1513668920937-5)]

保存退出之后,再执行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

[图片上传中...(image-48952e-1513668920938-17)]

**(

2)解压缩**

tar -zxvf hadoop-1.2.1.tar.gz

[图片上传中...(image-9d28ce-1513668920939-32)]

[图片上传中...(image-ca525a-1513668920938-16)]

**(

3)4个需要配置的文件**

[图片上传中...(image-92961a-1513668920939-31)]

[图片上传中...(image-b6991b-1513668920938-15)]

**(

3-1)配置hadoop-env.sh**

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

vim hadoop-env.sh

[图片上传中...(image-58f914-1513668920939-30)]

[图片上传中...(image-dbfe6e-1513668920938-14)]

**将

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

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

这个文件是用做全局配置

vim core-site.xml

[图片上传中...(image-783d57-1513668920939-29)]

[图片上传中...(image-e37302-1513668920938-13)]

**具体

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

hostname

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

sudo hostname doarcutine

[图片上传中...(image-b7c2b7-1513668920939-28)]

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

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

vim hdfs-site.xml

[图片上传中...(image-a350f8-1513668920939-27)]

[图片上传中...(image-283547-1513668920938-12)]

**配置

情况如上图**

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

vim mapred-site.xml

[图片上传中...(image-8075e5-1513668920939-26)]

[图片上传中...(image-f7ef66-1513668920938-11)]

(4)配置环境变量

vim /etc/profile

添加如下两项内容

[图片上传中...(image-ef91ed-1513668920939-25)]

[图片上传中...(image-f2f862-1513668920938-10)]

**s

ource /etc/profile**

执行之后,可以通过执行

hadoop

[图片上传中...(image-582199-1513668920939-24)]

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

[图片上传中...(image-c399fc-1513668920938-9)]

**(

5)格式化namenode**

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

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

**hadoop namenode -format (

建议在bin目录下执行

)**

[图片上传中...(image-22f042-1513668920938-23)]

[图片上传中...(image-e3f021-1513668920937-8)]

**(

6)启动start-all.sh**

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

cd /opt/hadoop-1.2.1/bin

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

start-all.sh

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

[图片上传中...(image-954755-1513668920938-22)]

[图片上传中...(image-cf3756-1513668920938-21)]

大功告成

(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修改两个文件中主机名。**

你可能感兴趣的:(centos7.1安装部署Hadoop)