首页 > 代码库 > #hadoop#单机(伪分布)安装及测试

#hadoop#单机(伪分布)安装及测试


tips:这个部署完全在以root用户操作,系统为ubuntu14.04,使用了Oracle JDK7_u55替换原来的OpenJDK


安装过程:


安装Java:

从自己的宿主机ftp服务器下载包:

cd /usr/lib/jvm
wget ftp://192.168.42.110/jdk-7u55-linux-x64.tar.gz 
tar xvf jdk-7u55-linux-x64.tar.gz
mv jdk1.7.0_55/ java-7-sun


编辑bashrc:

vi ~/.bashrc
#添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-7-sun
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#source一下
source ~/.bashrc


因为还有一个默认的OpenJDK,需要进行设置,修改默认JDK为刚刚安装的Oracle JDK:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300 
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 300 
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 300


执行:

update-alternatives --config java

出现以下提示:

root@docker:/usr/lib/jvm# update-alternatives --config java 
There are 2 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-755-sun/bin/java               300       manual mode
Press enter to keep the current choice[*], or type selection number:

根据自己的情况选择,输入相应的数字即可。


测试成功:

root@docker:/usr/lib/jvm# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)


安装SSH:

apt-get install ssh

尝试ssh本地,如果需要密码,则要设置对本地的无密码登陆:

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


安装rsync:

apt-get install rsync


配置Hadoop:

tar -xvf  hadoop-1.0.3.tar.gz
cd hadoop-1.0.3


编辑conf/hadoop-env.sh文件,修改这个export的内容:

# export JAVA_HOME=/usr/lib/j2sdk1.5-sun(原内容)
export JAVA_HOME=/usr/lib/jvm/java-7-sun


修改conf/core-site.xml:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>


修改conf/hdfs-site.xml:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/work/hadoop_tmp</value>
</property>
</configuration>


修改conf/mapred-site.xml:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>


格式化namenode:

bin/hadoop namenode –format


启动并检查运行状况:

#运行
bin/start-all.sh
#检查状态
jps
#输出     
5146 Jps
4538 TaskTracker
4312 JobTracker
4015 DataNode
4228 SecondaryNameNode
3789 NameNode

若能正确显示状态,即运行正确。


测试使用:


【1】web接口:

http://localhost:50030 

可以查看JobTracker的运行状态


http://localhost:50060 

可以查看TaskTracker的运行状态


http://localhost:50070 

可以查看NameNode以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及log等。


【2】使用附带hadoop1.0.3目录里的wordcount程序测试下:

先在本地磁盘建立两个输入文件file01 和 file02: 

echo "Hello World Bye World" > file01  
echo "Hello Hadoop Goodbye Hadoop" > file02

在hdfs 中建立一个input目录:

hadoop fs –mkdir input

将file01 和 file02 拷贝到hdfs中:  

hadoop fs –copyFromLocal file0* input

执行wordcount:  

hadoop jar hadoop-examples-1.0.3.jar wordcount input output

完成之后,查看结果:

bin/hadoop fs -ls        #查看已有的文件列表

hadoop fs -cat output/part-r-00000      #查看结果

结果为:可见把单词都统计了

Bye 1  
Goodbye 1 
Hadoop 2 
Hello 2 
World 2



参考资料:

Hadoop伪分布安装过程:Hadoop单机环境搭建指南(ubuntu)

http://www.aboutyun.com/thread-6487-1-1.html


集群安装完毕,该如何测试和使用集群-hadoop单机(伪分布) 

http://www.aboutyun.com/thread-6777-1-1.html


云技术基础:集群搭建SSH的作用及这些命令的含义

http://www.aboutyun.com/thread-6977-1-1.html


Linux系统下位(Ubuntu 11.04) 下安装配置 JDK 7安装步骤指导

http://www.aboutyun.com/thread-6750-1-1.html


#hadoop#单机(伪分布)安装及测试