最近要升级Hadoop的版本,需要重新安装测试环境,特此记录一下安装配置步骤O(∩_∩)O
1. 依赖软件
1.1 Java
Hadoop 2.7及以上版本需要Java 7,之前的版本支持Java 6,本文使用Hadoop 2.6.5版本,所以安装Java 6就可以了(本文省略安装步骤)
1.2 ssh
集群、单节点模式都需要用到SSH登陆,安装完SSH之后(本文省略安装步骤)执行以下命令在用户的主文件夹生成密钥和加入授权
[root@xxx ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@xxx ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
* 本文为了方便测试使用root用户,生产环境最好创建一个新用户,例如hadoop,然后用新用户登录之后再执行上述命令
生成密钥和加入授权后就执行以下命令进行无密码直接登录
[root@xxx ~]# ssh localhost
2. 下载和解压Hadoop
2.1 如果服务器可以访问公网,可以执行以下命令下载
[root@xxx ~]# wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
* 上面的下载link使用的是其中一个镜像
* 可自行修改上面的link下载相应的版本
* 如果不能访问公网,则需要自行下载然后上传到服务器
2.2 执行以下命令解压
[root@xxx ~]# tar xvf hadoop-2.6.5.tar.gz
3. 修改环境变量
3.1 修改解压目录下面的etc/hadoop/hadoop-env.sh,根据服务器实际情况,新增或添加下面2行
# 指定JAVA安装根目录
export JAVA_HOME=/usr/java/latest
# 指定HADOOP安装根目录(上述解压的目录)
export HADOOP_PREFIX=/usr/local/hadoop-2.6.5
3.2 执行以下命令测试一下环境变量是否配置成功
[root@xxx ~]# cd hadoop-2.6.5
[root@xxx hadoop-2.6.5]# bin/hadoop
如果出现类似以下结果证明配置成功
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar run a jar file
checknative [-a|-h] check native hadoop and compression libraries availability
distcp copy file or directories recursively
archive -archiveName NAME -p * create a hadoop archive
classpath prints the class path needed to get the
credential interact with credential providers
Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon
trace view and modify Hadoop tracing settings
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
4. 修改配置文件
4.1 修改解压目录下面的etc/hadoop/core-site.xml,定义一些基本的配置,例如启动的端口(例如9000),临时文件存放目录(/tmp目录需要先创建)等等
fs.defaultFS
hdfs://localhost:9000
hadoop.tmp.dir
/tmp/hadoop-${user.name}
4.2 修改解压目录下面的etc/hadoop/hdfs-site.xml,定义复制的数量,下面使用1
dfs.replication
1
5. 执行以下命令格式化Hadoop的文件系统
[root@xxx hadoop-2.6.5]# bin/hdfs namenode -format
* 检查一下输出的日志,如果没有出现ERROR就证明格式化成功
* 关键INFO是common.Storage: Storage directory xxx has been successfully formatted和util.ExitUtil: Exiting with status 0
6. 执行以下命令启动NameNode和DataNode
[root@xxx hadoop-2.6.5]# sbin/start-dfs.sh
* 日志文件默认保存在$HADOOP_HOME/logs
* 检查一下输出的日志,如果没有出现ERROR就证明启动成功
7. 查看NameNode状态页面
启动成功后可以访问http://ip:50070/查看状态
8. 执行以下命令在HDFS创建测试目录
[root@xxx hadoop-2.6.5]# bin/hdfs dfs -mkdir /user
[root@xxx hadoop-2.6.5]# bin/hdfs dfs -mkdir /user/
*
执行以下命令验证一下是否创建成功
[root@ocmp hadoop-2.6.5]# bin/hdfs dfs -ls -R /
drwxr-xr-x - root supergroup 0 2016-11-28 16:19 /user
drwxr-xr-x - root supergroup 0 2016-11-28 16:22 /user/root
* 如果返回类似上述结果证明创建成功
9. 配置YARN
9.1 修改解压目录下面的etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
9.2 修改解压目录下面的etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
9.3 执行以下命令启动ResourceManager和NodeManager
[root@xxx hadoop-2.6.5]# sbin/start-yarn.sh
* 日志文件默认保存在$HADOOP_HOME/logs
* 检查一下输出的日志,如果没有出现ERROR就证明启动成功
9.4 查看ResourceManager信息页面
启动成功后可以访问http://ip:8088/查看信息
10. 停止命令
[root@xxx hadoop-2.6.5]# sbin/stop-dfs.sh
[root@xxx hadoop-2.6.5]# sbin/stop-yarn.sh