1.添加hadoop组(专门用来进行hadoop测试)到系统用户:java
<!-- lang: java --> sudo addgroup hadoop
2.在hadoop中添加hadoop用户:node
<!-- lang: java --> sudo adduser --ingroup hadoop hadoop
3.赋予hadoop管理员权限apache
<!-- lang: java --> sudo usermod -aG sudo hadoop
( 若是不想新建用户,只在本身现有用户下搭建,上面三步能够省去直接进入第四步) 4切换用户!! 5.安装ssh远程登陆协议:ssh
<!-- lang: java --> sudo apt-get install openssh-server
6.启动sshjvm
<!-- lang: java --> sudo /etc/init.d/ssh start
7.免密码登陆,并生成公钥与私钥:分布式
<!-- lang: java --> ssh-keygen -t rsa -P ""
第一次操做时会提示输入密码,按Enter直接过,这时会在~/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥. 8.如今咱们将公钥追加到authorized_keys中(authorized_keys用于保存全部容许以当前用户身份登陆到ssh客户端用户的公钥内容)oop
<!-- lang: java --> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
9登陆ssh测试
<!-- lang: java --> ssh localhost
10退出.net
<!-- lang: java --> exit
11再登陆退出一次,以后登陆就不用输入密码了。 12安装java 13安装hadoop,hadoop官网下载这里选择的是hadoop-1.2.1.tar.gz ,解压并放到你想放的地方code
<!-- lang: java --> sudo mv /Downloads/hadoop-1.2.1.tar.gz /usr/local/hadoop
14确保全部操做均在hadoop用户下
<!-- lang: java --> sudo chown -R hadoop:hadoop /usr/local/hadoop
15配置hadoop-env.sh,所在目录:/usr/local/hadoop/conf,添加以下代码
<!-- lang: cpp --> export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 (视你机器的java安装路径而定) export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:/usr/local/hadoop/bin export HADOOP_HOME_WARN_SUPPRESS="TRUE"
16让环境变量配置生效
<!-- lang: java --> source /usr/local/hadoop/conf/hadoop-env.sh
17单机配置成功:
<!-- lang: java --> hadoop version
伪分布模式继续: 18配置conf目录下三个文件:core-site.xml,hdfs-site.xml,mapred-site.xml core-site.xml:
<!-- lang: java --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>
hdfs-site.xml:
<!-- lang: java --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>/usr/local/hadoop/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/local/hadoop/hdfs/data</value> </property> </configuration>
mapred-site.xml:
<!-- lang: java --> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
19 在hadoop目录下新建几个目录:
<!-- lang: java --> ~/hadoop$ mkdir tmp ~/hadoop$ mkdir hdfs ~/hadoop$ mkdir hdfs/name ~/hadoop$ mkdir hdfs/data
20 修改data文件夹的权限:
<!-- lang: java --> sudo chmod g-w /usr/local/hadoop/hdfs/data
21 让配置文件生效:
<!-- lang: java --> source /usr/local/hadoop/conf/hadoop-env.sh
22.确认hadoop没有运行:
<!-- lang: java --> usr/local/hadoop bin/stop-all.sh
23 格式化namenode
<!-- lang: java --> usr/local/hadoop bin/hadoop namenode -format
24运行
<!-- lang: java --> /usr/local/hadoop bin/start-all.sh
25 jps 若是出现下图表示成功
26测试程序: 在伪分布模式下运行一下hadoop自带的例子WordCount来感觉如下MapReduce过程:
这时注意程序是在文件系统dfs运行的,建立的文件也都基于文件系统:
首先在dfs中建立input目录
<!-- lang: java --> hadoop@lcj:/usr/local/hadoop$ bin/hadoop dfs -mkdir input
将conf中的文件拷贝到dfs中的input
<!-- lang: java --> hadoop@lcj:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal conf/* input
在伪分布式模式下运行WordCount
<!-- lang: java --> hadoop@lcj:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output
显示输出结果
<!-- lang: java --> hadoop@lcj:/usr/local/hadoop$ bin/hadoop dfs -cat output/*
当Hadoop结束时,能够经过stop-all.sh脚原本关闭Hadoop的守护进程
<!-- lang: java --> hadoop@lcj:/usr/local/hadoop$ bin/stop-all.sh
本文主要参考的csdn狂奔的蜗牛,Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)连接,在此表示感谢,结合本身在安装时候出现的问题给以解决方法,加以总结。