虚拟机ubuntu部署hadoop2.2.0伪分布(2)

来源:互联网 发布:淘宝到美国邮费多少钱 编辑:程序博客网 时间:2024/04/30 01:59

所用软件下载网址:链接:http://pan.baidu.com/s/1bn4IIQF密码:ramg

 

1、hadoop文件配置

hadoop-2.2.0安装完成后接下来我们可以进行伪分布配置(Hadoop可以在伪分布模式下运行单结点)。(可参考网址:http://www.linuxidc.com/Linux/2014-09/106148.htm)

接下来我们要配置的文件有四个,分别是/usr/mywind/hadoop/etc/hadoop目录下的yarn-site.xml、mapred-site.xml、hdfs-site.xml、core-site.xml(注意:这个版本下默认没有yarn-site.xml文件,但有个yarn-site.xml.properties文件,把后缀修改成前者即可),关于yarn新特性可以参考官网或者这个文章http://www.linuxidc.com/Linux/2013-09/90090.htm 。

首先是core-site.xml配置HDFS地址及临时目录(默认的临时目录在重启后会删除):

<configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://192.168.0.106:9000</value>        <description>same as fs.default.name</description>    </property>    <property>      <name>hadoop.tmp.dir</name>      <value>/home/tom/tmp</value>        <description>A base for other temporary directories.</description>    </property></configuration>

然后是hdfs-site.xml配置集群数量及其他一些可选配置比如NameNode目录、DataNode目录等等:

<configuration>    <property>        <name>dfs.namenode.name.dir</name>        <value>/home/tom/name</value>        <description>same as dfs.name.dir</description>    </property>    <property>        <name>dfs.datanode.data.dir</name>        <value>/home/tom/data</value>        <description>same as dfs.data.dir</description>    </property>    <property>        <name>dfs.replication</name>        <value>1</value>        <description>same as old frame,recommend set the value as the cluster DataNode host numbers!</description>    </property></configuration>


接着是mapred-site.xml配置启用yarn框架:

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


最后是yarn-site.xml配置NodeManager:

<configuration> <!-- Site specific YARN configuration properties -->   <property>         <name>yarn.nodemanager.aux-services</name>         <value>mapreduce_shuffle</value>   </property> </configuration>


注意,网上的旧版本教程可能会把value写成mapreduce.shuffle,这个要特别注意一下的,至此我们所有的文件配置都已经完成了

2、HDFS文件系统格式化和系统启动

下面进行HDFS文件系统进行格式化:

 $ hdfs namenode -format
 
然后启用NameNode及DataNode进程:

$ start-dfs.sh

$ start-yarn.sh

启动了两个进程之后用jps命令查看进程情况,出现5个进程说明启动成功(除jps外)

 

问题1、启动start-dfs.sh时出现如下问题:

Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.Starting namenodes on []Error: Cannot find configuration directory: /etc/hadoopError: Cannot find configuration directory: /etc/hadoopStarting secondary namenodes [0.0.0.0]Error: Cannot find configuration directory: /etc/hadoop

解决方法1

(1)、调用stop-dfs.sh、stop-yarn.sh通知服务

(2)、在/etc/hosts中把

127.0.0.1       localhost
改为192.168.0.106      localhost

127.0.1.1       ubuntu
改为192.168.0.106      ubuntu

(3)把data文件夹中的文件删除:rm -r /home/tom/data/current

把tmp文件夹中的文件删除:rm -r /home/tom/tmp/dfs

进行HDFS文件系统进行格式化:$ hdfs namenode -format

(4)再次调用start-dfs.sh和start-yarn.sh,启动服务

解决方法2
在hdfs-site.xml中增加如下代码:(此9001端口设置后,fs.defaultFS中9000端口就无法启动,不建议用这种方式)

    <property>        <name>dfs.namenode.rpc-address</name>        <value>192.168.0.106:9001</value>    </property>

问题2、如果在jps中发现没有dataNode

(1)、调用stop-dfs.sh、stop-yarn.sh通知服务

(2)、在/etc/hosts中把

127.0.0.1       localhost
改为192.168.0.106      localhost

127.0.1.1       ubuntu
改为192.168.0.106      ubuntu

(3)把data文件夹中的文件删除:rm -r /home/tom/data/current

把tmp文件夹中的文件删除:rm -r /home/tom/tmp/dfs

进行HDFS文件系统进行格式化:$ hdfs namenode -format

(4)再次调用start-dfs.sh和start-yarn.sh,启动服务

3、进行hdfs文件测试

(1)、创建hdfs文件目录

$ hdfs dfs -mkdir /user
$ hdfs dfs -mkdir /user/tom 
注意,这个tom是我在Ubuntu上的用户名,最好保持与系统用户名一致,据说不一致会有许多权限等问题,我之前试过改成其他名字,报错,实在麻烦就改成跟系统用户名一致吧。

问题1、hdfs dfs -mkdir /user时出现如下错误:

mkdir: Call From ubuntu/10.31.3.108 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

解决方法:

由于9000端口没有启动造成的,把hdfs-site.xml中的 

    <property>        <name>dfs.namenode.rpc-address</name>        <value>192.168.0.106:9001</value>    </property>

这段代码去掉,在重新按照以下步骤启动

(1)、调用stop-dfs.sh、stop-yarn.sh通知服务

(2)、在/etc/hosts中把

127.0.0.1       localhost
改为192.168.0.106      localhost

127.0.1.1       ubuntu
改为192.168.0.106      ubuntu

(3)把data文件夹中的文件删除:rm -r /home/tom/data/current

把tmp文件夹中的文件删除:rm -r /home/tom/tmp/dfs

进行HDFS文件系统进行格式化:$ hdfs namenode -format

(4)再次调用start-dfs.sh和start-yarn.sh,启动服务

(2)、进行文件导入测试

把要测试的输入文件放在文件系统中,输入的文件为note.txt,文件的目录为/home/tom/psa,文件内容为:

12345679867623119010123456798676231190101234567986762311901012345679867623119010123456+00121234567890345612345679867623119010123456798676231190101234567986762311901012345679867623119010123456+01121234567890345612345679867623119010123456798676231190101234567986762311901012345679867623119010123456+02121234567890345612345679867623119010123456798676231190101234567986762311901012345679867623119010123456+00321234567890345612345679867623119010123456798676231190201234567986762311901012345679867623119010123456+00421234567890345612345679867623119010123456798676231190201234567986762311901012345679867623119010123456+01021234567890345612345679867623119010123456798676231190201234567986762311901012345679867623119010123456+01121234567890345612345679867623119010123456798676231190501234567986762311901012345679867623119010123456+04121234567890345612345679867623119010123456798676231190501234567986762311901012345679867623119010123456+008212345678903456


通过如下命令进行测

$ hdfs dfs -put /home/tom/psa input

http://192.168.0.106:50070/

这里的IP地址根据你实际的Hadoop服务器地址。

0 0
原创粉丝点击