安装环境准备:
1、JDK版本支持
Hadoop 2.7 以后的版本需要 Java 7 支持
Hadoop 2.6 以前支持 Java 6
JDK 测试结果
JDK 安装(rpm 方式):
rpm -ivh jdk-7u79-linux-x64.rpm
配置环境变量
在 ~/.bash_profile 中追加
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
执行 source ~/.bash_profile 命令
2、能进行 ssh 远程连接,安装 rsync 文件同步工具
下载安装包
http://mirrors.cnnic.cn/apache/hadoop/common/
Hadoop安装准备工作
1、解压安装包到安装目录
[root@localhost ~]# cd /usr/local/hadoop
[root@localhost hadoop]# ls
hadoop-2.5.2-src.tar.gz
[root@localhost hadoop]# tar -zxvf hadoop-2.5.2.tar.gz
2、hadoop 环境变量配置
在 ~/.bash_profile 中追加
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin
执行 source ~/.bash_profile 命令
3 、编辑目录下 etc/hadoop/hadoop-env.sh 文件,增加如下配置
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest
# Assuming your installation directory is /usr/local/hadoop/hadoop-2.5.2
export HADOOP_PREFIX=/usr/local/hadoop/hadoop-2.5.2
Hadoop路径一定要正确,否则会报 Error: Could not find or load main class org.apache.hadoop.util.RunJar
单节点安装方式
Hadoop 默认是无分布式模式,如同一Java进程,这对于调试很有用。
下面的例子用来测试在文档中根据正则表达式匹配进行搜索,并将结果输出到指定目录。
$ mkdir input
$ cp etc/hadoop/*.xml input/
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar grep input output 'dfs[a-z.]+'
$ cat output/*
注意:output目录不能先创建,否则会报错。
伪分布式安装
Hadoop也可以在单个节点进行伪分布式安装,相当于每个Hadoop后台程序运行在单独的Java进程中。
1、文件配置:
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2、设置ssh免密码登陆
检查是否能ssh免密码连接本地: $ ssh localhost
如果不能,执行下面命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 生成一对公钥和密钥
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将公钥添加到认证文件中
3、本地运行 MapReduce job,如果想在Yarn中运行 job,可查看 Yarn 在单节点的安装
3.1 格式化文件系统
$ bin/hdfs namenode -format
3.2 启动 NameNode 和 DataNode 程序
$ sbin/start-dfs.sh
hadoop 的日志写入 $HADOOP_LOG_DIR目录(默认是 $HADOOP_HOME/logs目录)
3.3 通过浏览器访问 NameNode,默认访问地址: http://localhost:50070/
注意:这种访问方式&#x