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