CentOS 6.5 配置hadoop 2.6.0伪分布式

分类:CentOS运维 阅读:75515 次

操作系统:CentOS 6.5 32位

Java环境:jdk 1.7.0_71

hadoop下载地址:http://apache.fayea.com/hadoop/common/stable/hadoop-2.6.0.tar.gz

1.创建用户组和用户

使用su命令切换用户为root

  1. groupaddhadoop
  2. useraddhadoophadoop
  3. passwdhadoop#为用户添加密码可以不设置密码

2.安装ssh

  1. rpm-qa|grepssh#检查是否装了SSH包
  2. yuminstallopenssh-server#安装ssh
  3. chkconfig--listsshd#检查SSHD是否设置为开机启动
  4. chkconfig--level2345sshdon#如果没设置启动就设置下.
  5. servicesshdrestart#重新启动

3.配置ssh无密码登录

切换至hadoop用户

  1. suhadoop
生成密钥
  1. ssh-keygen-trsa-P""
执行后会在.ssh目录下生成id_rsa和id_rsa.pub两个文件

进入.ssh目录,并将id_rsa.pub追加到authorized_keys文件中

  1. cd./.ssh
  2. catid_rsa.pub>>authorized_keys
  3. chmod600authorized_keys#修改用户权限

测试是否可以登录

  1. sshlocalhost#执行后会提示输入yesorno.输入yes后如果提示为最后一次登录时间则表明成功。
4.安装hadoop

将下载的hadoop解压并移动到期望的安装目录,修改其访问权限

  1. tar-xvfhadoop-2.6.0.tar.gz
  2. mvhadoop-2.6.0/usr/opt/hadoop
  3. chmod-R775/usr/opt/hadoop
  4. chown-Rhadoop:hadoop/usr/opt/hadoop
配置hadoop 的环境变量(所有的环境变量都是必须的)
  1. su
  2. vim/etc/profile
  3. exportHADOOP_INSTALL=/usr/opt/hadoop
  4. exportPATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin${PATH}
  5. exportHADOOP_MAPRED_HOME=${HADOOP_INSTALL}
  6. exportHADOOP_COMMON_HOME=${HADOOP_INSTALL}
  7. exportHADOOP_HDFS_HOME=${HADOOP_INSTALL}
  8. exportYARN_HOME=${HADOOP_INSTALLL}
  9. exportHADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_INSTALL}/lib/natvie
  10. exportHADOOP_OPTS="-Djava.library.path=${HADOOP_INSTALL}/lib:${HADOOP_INSTALL}/lib/native"
设置hadoop-env.sh中的java环境变量
  1. cd/usr/opt/hadoop
  2. vim./etc/hadoop/hadoop-env.sh
  1. exportJAVA_HOME={你的java环境变量}

5.配置伪分布式

hadoop的配置文件主要有core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 三个文件。

  1. cd/usr/opt/hadoop/etc/hadoop

core-site.xml

  1. <configuration>
  2. <property>
  3. <name>hadoop.tmp.dir</name>
  4. <value>/usr/opt/hadoop/tmp</value><!--一定要配置系统默认的缓存文件夹在每次重启后会被删除-->
  5. </property>
  6. <property>
  7. <name>fs.defaultFS</name>
  8. <value>hdfs://localhost:9000</value>
  9. </property>
  10. </configuration>

hdfs.xml
  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:/usr/opt/hadoop/dfs/name</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>file:/usr/opt/hadoop/dfs/data</value>
  13. </property>
  14. <property><!--这个属性节点是为了防止后面eclipse存在拒绝读写设置的-->
  15. <name>dfs.permissions</name>
  16. <value>false</value>
  17. </property>
  18. </configuration>

yarn-site.xml
  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. <property>
  7. <name>yarn.nodemanager.aux-services</name>
  8. <value>mapreduce_shuffle</value>
  9. </property>
  10. </configuration>

接下来创建需要的文件夹
  1. cd/usr/local/hadoop
  2. mkdirtmpdfsdfs/namedfs/data

到目前为止所有的配置都已经完成。

6.运行

首先格式化文件系统

  1. .bin/hdfsnamenode-format
启动
  1. ./sbin/start-dfs.sh
  2. ./sbin/start-yarn.sh

提示如下则表明成功了。
  1. Startingnamenodeson[localhost]
  2. localhost:startingnamenode,loggingto/usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-namenode-.out
  3. localhost:startingdatanode,loggingto/usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-datanode-.out
  4. Startingsecondarynamenodes[0.0.0.0]
  5. 0.0.0.0:startingsecondarynamenode,loggingto/usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-secondarynamenode-.out
输入网址127.0.0.1:50070就可以看见hadoop的网页了。

PS :如果出现警告提示:

  1. Unabletoloadnative-hadooplibraryforyourplatform
也可以看到那个网页,但hadoop并没有完全装好。

出现这个问题有两种情况:

一、没有设置HADOOP_OPTS这个环境变量

二、是操作系统与hadoop.so文件不兼容导致的。

hadoop 2.5以后的release版本都是64位编译的,如果自己的电脑是32位的就出现不兼容的情况。这时需要重新编译hadoop源码(编译hadoop源码时,不要使用jdk1.8.0,使用1.6和1.7就可以了,不然会报这个错误[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while creating archive ):