Menu
hadoop2.7.3在centos7上部署安装(单机版)
hadoop单机版运行环境搭建,相对于分布式版本而言单机版相对简单,适合于初学者学习使用
(1)hadoop2.7.3下载
(前提:先安装java环境)
下载地址:http://hadoop.apache.org/releases.html
 
(注意是binary文件,source那个是源码)
 
(2)解压tar.gz 
 
 
(3)配置hadoop
1.修改/usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 文件的java环境,将java安装路径加进去:
[sql] view plain copy
  1. export JAVA_HOME=/alidata/server/java-1.7.0  
 
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
注意,不加此配置会导致部分hadoop命令运行时找不到native lib
#export HADOOP_ROOT_LOGGER=DEBUG,console //查看hadoop日志,一般报错上语句为报错原因,需要调试时开启
配置hadoop环境变量
vi /etc/profile
[plain] view plain copy
  1. export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3  
  2. export PATH=$PATH:$HADOOP_HOME/bin  
有的安装介绍中说是vi ~/.bash_profile,其实也可以用这个,2个命令在不同系统用户的环境配置的作用域不一样。参考:
http://blog.csdn.net/caiwenfeng_for_23/article/details/44242961
使之生效:
[sql] view plain copy
  1. source /etc/profile  
 
 
2.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/core-site.xml 文件,
[plain] view plain copy
  1. <configuration>  
  2.     <!-- 指定HDFS老大(namenode)的通信地址 -->  
  3.     <property>  
  4.         <name>fs.defaultFS</name>  
  5.         <value>hdfs://localhost:9000</value>  
  6.     </property>  
  7.     <!-- 指定hadoop运行时产生文件的存储路径 -->  
  8.     <property>  
  9.         <name>hadoop.tmp.dir</name>  
  10.         <value>/usr/hadoop/tmp</value>  
  11.     </property>  
  12. </configuration>  
 
fs.defaultFS直接用localhost就行,如果重命名了主机名,也可以用重命名的。
 
3.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/hdfs-site.xml 
[plain] view plain copy
  1. <configuration>  
  2.     <property>  
  3.         <name>dfs.name.dir</name>  
  4.         <value>/usr/hadoop/hdfs/name</value>  
  5.         <description>namenode上存储hdfs名字空间元数据 </description>   
  6.     </property>  
  7.   
  8.     <property>  
  9.         <name>dfs.data.dir</name>  
  10.         <value>/usr/hadoop/hdfs/data</value>  
  11.         <description>datanode上数据块的物理存储位置</description>  
  12.     </property>  
  13.   
  14.   
  15.     <!-- 设置hdfs副本数量 -->  
  16.     <property>  
  17.         <name>dfs.replication</name>  
  18.         <value>1</value>  
  19.     </property>  
  20. </configuration>  
 
 
 
4.SSH免密码登录
[plain] view plain copy
  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
  2. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
  3. chmod 0600 ~/.ssh/authorized_keys  
 
5.hdfs启动与停止
第一次启动hdfs需要格式化,之后启动就不需要的:
[plain] view plain copy
  1. cd /usr/hadoop/hadoop-2.7.3  
  2. ./bin/hdfs namenode -format  
 
启动命令:
./sbin/start-dfs.sh
停止命令:
[plain] view plain copy
  1. ./sbin/stop-dfs.sh  
 
 
 
 
从图中看,会启动namenode,datanode,secondarynamenode
浏览器输入:http://119.29.174.43:50070     查看效果:
 
6.接下来配置yarn文件. 配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml    。这里注意一下,hadoop里面默认是mapred-site.xml.template 文件,如果配置yarn,把mapred-site.xml.template   重命名为mapred-site.xml 。如果不启动yarn,把重命名还原。
 
[sql] view plain copy
  1. mv mapred-site.xml.template mapred-site.xml  
 
 
vi mapred-site.xml
[plain] view plain copy
  1. <configuration>  
  2.     <!-- 通知框架MR使用YARN -->  
  3.     <property>  
  4.         <name>mapreduce.framework.name</name>  
  5.         <value>yarn</value>  
  6.     </property>  
  7. </configuration>  
 
 
 
7.配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml文件,
[plain] view plain copy
  1. <configuration>  
  2.     <!-- reducer取数据的方式是mapreduce_shuffle -->  
  3.     <property>  
  4.         <name>yarn.nodemanager.aux-services</name>  
  5.         <value>mapreduce_shuffle</value>  
  6.     </property>  
  7. </configuration>  
 
8.启动yarn
启动:
[plain] view plain copy
  1. ./sbin/start-yarn.sh  
 
停止:
./sbin/stop-yarn.sh
 
如图:
 
会启动resourcemanager,nodemanager
可以用jps命令查看启动了什么进程:
 
 
浏览器输入:http://119.29.174.43:8088      (8088是默认端口,如果端口占用,先把占用的端口杀掉 netstat -ano)