hadoop单节点安装实验

 

1.     实验环境

虚拟机环境 ubuntu 15(桌面版)

hadoop2.7.1

JDK1.8.0_51

o1

sudo apt-get install ssh

sudo apt-get install rsync

sudo apt-get install vim

 

2.实验及其结果

 

2.1安装hadoop

将文件上传到机器上,解压。并进入hadloop目录

mv hadoop-2.7.1 /usr/local/hadoop

cd hadoop

vim etc/hadoop/hadoop-env.sh  配置下列参数:

# set to the root of your Java installation

export JAVA_HOME=/usr/local/jdk1.8.0_51  #自己java的路径

/usr/local/hadoop/bin/hadoop:

123

显示使用hadoop的命令说明

2.2 独立操作模式下进行调试:

mkdir input

cp etc/hadoop/*.xml input

/usr/local/hadoop/bin/hadoop jar /usr/local/hadoop /share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar      grep input output ‘dfs[a-z.]+’

cat output/*

–注意:每次任务输出的文件目录应该不同,上面output就是输出的目录、input是之前配置的输入信息。如果要重新调试,要指定不同的目录或者删除原目录。

2.3 伪分布式操作:

 

cd hadoop/

 

vim etc/hadoop/core-site.xml:

configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

 

 

vim etc/hadoop/hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

 

 

配置ssh信任:

ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

export HADOOP\_PREFIX=/usr/local/hadoop

测试ssh 信任:

ssh localhost

 

查看文件系统启动的信息:

/usr/local/hadoop/bin/hdfs namenode -format

没问题的话就可以开启NameNode进程和 DataNode进程:

/usr/local/hadoop/sbin/start-dfs.sh

启动日志存放在:/usr/local/hadoop/logs/hadoop-dbdao-namenode-dbdao.out

第二节点是用0.0.0.0启动的

The authenticity of host ‘0.0.0.0 (0.0.0.0)’ can’t be established.

ECDSA key fingerprint is 5e:2e:56:ca:cf:a3:65:d6:25:55:b4:c2:f2:01:40:fe.

Are you sure you want to continue connecting (yes/no)? yes

第一次需要输入yes 注册ssh信息,进程已经都启动了,再次sbin/start-dfs.sh可以发现

1

本地启动了 namenode 和datanode进程,在第二个namenodes 0.0.0.0 也启动了一个namenode 进程3224

ps命令可以查看到这些java进程:

2

日志默认写在安装hadoop下logs文件中(这个和tomcat日志路径类似)

3

可以配置name节点的web页面,默认下面地址是可用的,在主机上打开页面:

http://localhost:50070/

–可以从web端直观地获取到一些节点进程的信息

 

为分布式任务配置HDFS目录:

/usr/local/hadoop/bin/hdfs dfs -mkdir /dbdao

/usr/local/hadoop/bin/hdfs dfs -mkdir /dbdao/test

/usr/local/hadoop/bin/hdfs dfs -put /usr/local/hadoop/etc/hadoop  /dbdao/test

 

查看:

/usr/local/hadoop/bin/hadoop fs -ls /dbdao/test/hadoop

4

可以发现 原来etc/hadoop下的文件都放入了hadoop文件系统中。

/usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /dbdao/test/hadoop output ‘dfs[a-z.]+’

将output 文件拷到本地文件系统来观察:

–默认是在文件系统中创建了/user/dbdao(没指定输出文件目录的话)然后输出到了output文件夹中

/usr/local/hadoop/bin/hadoop fs -ls /user/dbdao/output

 

/usr/local/hadoop/bin/hdfs dfs -get output output  –输出到本地文件系统

15/08/02 17:05:15 WARN hdfs.DFSClient: DFSInputStream has been closed already

15/08/02 17:05:15 WARN hdfs.DFSClient: DFSInputStream has been closed already

/usr/local/hadoop/bin/hdfs dfs -cat output/*  –直接查看文件系统

5

停止后台进程:

/usr/local/hadoop/sbin/stop-dfs.sh

Stopping namenodes on [localhost]

localhost: stopping namenode

localhost: stopping datanode

Stopping secondary namenodes [0.0.0.0]

0.0.0.0: stopping secondarynamenode

 

 

2.4在单独节点上使用YARN

配置:

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

 

 

 

vi /usr/local/hadoop/etc/hadoop/yarn-site.xml:

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

 

开启资源管理器:

/usr/local/hadoop/sbin/start-yarn.sh

 

默认的web地址是:

http://localhost:8088/

 

 

 

和之前2.3一样,你可以运行一个MapReduce 任务,观察运行的结果和情况(此处略)。

关闭:

/usr/local/hadoop/sbin/stop-yarn.sh

3.其他信息

debug调试时候会出现下面信息:

WARN io.ReadaheadPool: Failed readahead on ifile

EBADF: Bad file descriptor

查阅信息后,说由于在快速读取文件的时候,文件被关闭引起,也可能是其他bug导致,此处忽略。

4.总结

本次试验主要是简单节点的hadoop安装,以及将hadoop以单机的模式进行启动后,进行简单测试。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号