折腾了2天终于安装完成,下面总结一下安装过程
1.首先安装jdk,这部分比较简单,不多说了,将jdk解压到/usr/java下
添加环境变量 sudo gedit /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_37
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使环境变量生效source /etc/profile
2、配置不需验证的ssh
(1)安装ssh服务
apt-get install sshssh-keygen -t rsa -P "" 之后一路回 车(产生秘钥)
进入/hostname/.ssh
cat id_rsa.pub >> authorized_keys
使用 ssh localhost第一次是 输入yes后即可无密码登录
当使用ssh localhost
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic i686)
* Documentation: https://help.ubuntu.com/
Last login: Wed Jul 9 23:07:00 2014 from localhost
设置成功
3、安装hadoop2.2.0
将hadoop2.2.0解压到/home/hostname下
(1)编辑hodoop-env.sh,修改以下对应行为
export JAVA_HOME=/usr/java/jdk1.6.0_37
配置环境变量
export HADOOP_HOME=/home/qht/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
(3)编辑hdfs-site.xml,添加以下配置:
配置name节点和data节点的数据存放位置,dfs.replication表示数据备份数
<configuration><property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/datanode</value>
</property>
</configuration>
(4)编辑mapred-site.xml加入以下配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)编辑yarn-site.xml加入以下配置
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
(6)格式化noamenode
hdfs namenode -format
(7)启动hadoop守护进程。依次执行以下命令:
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver
(8)运行以下命令可以查看各服务状态
http://localhost:50070或者http://ipaddr:5007
http://localhost:8088
http://localhost:19888
4、 如果hadoop进程启动成功,使用wordcount测试
(1)新建一个文件
- vi /home/hostname/test.txt
- hello world
- hello hadoop
(2)新建一个hafs文件夹
- hdfs dfs -mkdir /input
(3)将创建的test.txt放入/input
- hdfs dfs -copyFromLocal /home/hostname/test.txt /input
(4)执行jar
- hadoop jar /hoem/hostname/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /input/out
注意:/input里面必须是文件不能是文件夹并且out不能自己创建
5.还有测试方法,参考http://blog.youkuaiyun.com/zhaoyl03/article/details/8657104
结合学习hadoop2.2.0的安装配置,jps必须启动namenode,datanode, JobTracker , TaskTracker , Jps , SecondaryNameNode (一个都不能少!)。
格式化时出现无法create /home/hostname/namenode 是因为用户没有mkdir权限
sudo chmod 777 /home/
sudo chmod 777 /home/*