一:环境准备
1:准备虚拟机一台,我安装的是redhat6.4的32位操作系统。
2 :修改hostname。使用命令hostname localhost(如需重启后生效,可以 修改配置文件/etc/sysconfig/network中的HOSTNAME=localhost即可)。另修改/etc/hosts ,用#注释掉默认的文本,添加127.0.0.1 localhost即可。
3:jdk安装(大家可根据操作系统的版本安装相应的JDK,建议1.6以上版本),我的虚拟机是32位的,可下载jdk-6u43-linux-i586.bin文件,上传到/home/software目录下,用命令chmod 755 jdk-6u43-linux-i586.bin授可执行权限。然后./jdk-6u43-linux-i586.bin执行即可快速安装,默认路径在/home/software/jdk1.6.0_43目录中。
4:配置JAVA_HOME。在/etc/profile文件中添加
export JAVA_HOME=/home/software/jdk1.6.0_43
export PATH = $PATH:$JAVA_HOME/bin
保存后用命令source /etc/profile使环境配置修改生效。
用命令java、javac、java -version测试jdk是否成功。
二 :免密码ssh设置
1 | ssh-keygen -t rsa |
一直按<Enter> 由于不设置密码,所以就一直回车就行。
如果是root用户,默认生成文件在/root/.ssh中,进入目录中,使用命令cp id_rsa_put authorized_keys
生成authorized_keys。
测试:
1 | ssh localhost |
如果不需要输入密码即设置成功,恭喜你,可以进入下一步了。
三、下载hadoop2.2.0包解压安装。
大家可以自行到www.apache.org官网下载安装,也可以到下面http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.2.0/这个地址下载hadoop-2.2.0.tar.gz这个包,下载好后放入/home根目录下,用命令tar -zxvf hadoop-2.2.0.tar.gz解压即可。
在/home目录下会生成hadoop-2.2.0目录,为了便于升级和管理,增加一个链接目录,用命令ln -s hadoop2.2.0 hadoop既可。
最后配置HADOOP_HOME的环境变量
同JAVA_HOME类似,在/etc/profile文件中添加
export HADOOP_HOME=/home/hadoop即可。
至此hadoop环境及环境变量已经安装完毕,够简单吧,够帅吧,离成功越来越近。
let's go!
四:修改配置文件
修改的文件都在/home/hadoop/etc/hadoop下:
core-site.xml、hdfs-site.xml、yarn-site.xml 、mapred-site.xml. 四个文件
文件说明(略)
配置文件的添加和修改都在<configuration></configuration> 中
1、core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop_tmp</value>
</property>
添加hdfs的指定URL路径,由于是伪分布模式,所以配置的是本机IP ,可为真实ip、localhost。
2、hdfs-site.xml
1 | <property> |
2 | <name>dfs.namenode.name.dir</name> |
3 | <value>/home/namenode </value> |
4 | </property> |
5 |
6 | <property> |
7 | <name>dfs.datanode.data.dir</name> |
8 | <value>/home/datanode </value> |
9 | </property> |
主要是对namenode 和 datanode 存储路径的设置。为了便于管理,最好配置一下。
3、mapred-site.xml
1 | <property> |
2 | <name>mapreduce.framework.name</name> |
3 | <value>yarn</value> |
4 | </property> |
hadoop2.0有了yarn所以原来的mapred配置都转向yarn-site.xml文件中了,这里也就指定yarn。
4、yarn-site.xml
为了简单,快速做测试,使用默认的即可。
五 :hadoop启动
启动的文件都是 sbin下,bin下的都是命令。
使用命令cd $HADOOP_HOME切换到该安装目录下
首先格式化 namenode
1 | bin/hdfs namenode -format |
确定不报错,且出现
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at startos/localhost
************************************************************/
启动namenode
1 | sbin/hadoop-daemon.sh start namenode |
2 | sbin/hadoop-daemon.sh start datanode |
运行测试
1 | jps |
出现:
12935 NameNode
5309 Jps
13012 DataNode
证明启动成功,如果没有出现DataNode或者NameNode,证明启动没有成功,可以查看hadoop安装目录下的logs下的日志记录。
可以使用sbin/hadoop-daemon.sh stop datanode(或namenode)来关闭。
启动Manage管理
1 | sbin/yarn-daemon.sh start resourcemanager |
2 | sbin/yarn-daemon.sh start nodemanager |
运行测试
1 | jps |
出现:
13338 NodeManager
13111 ResourceManager
12935 NameNode
5309 Jps
13012 DataNode
证明启动成功 同时也可以使用yarn-daemon.sh stop resourcemanager(nodemanager)来关闭。
如果没有单独配置yarn-site.xml中的yarn.resourcemanager.webapp.address,默认的端口8088 访问
http://127.0.0.1:8088/ 可以访问hadoop管理页面
如果没有单独配置 hdfs-site.xml中的dfs.namenode.http-address,默认端口50070
http://127.0.0.1:50070 可以访问namenode节点信息。
六:测试运行
操作命令与hadoop1.0非常类似,几乎相同。
首先进入HADOOP_HOME,cd $HADOOP_HOME
1: 在dfs上创建一个目录input
bin/hadoop dfs -mkdir /input
2:上传本地文件到input中
bin/hadoop dfs -put README.txt /input
3:查看上传的文件
bin/hadoop dfs -ls /input
同时也可以通过http://127.0.0.1:50070 查看节点下的文件。
OK,hadoop2.2.0稳定版__伪分布式安装完美收工。开心开启hadoop2.0之旅。