Hadoop CentOS 7 安装配置

来源:互联网 发布:最终幻想零式hd优化 编辑:程序博客网 时间:2024/05/16 10:17

本篇根据 给力星 改动而来,文尾有来源

简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
[1] Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
来源:百科

JAVA JDK

http://blog.csdn.net/fenglailea/article/details/26006647
环境变量设置
http://blog.csdn.net/fenglailea/article/details/52457731
风.fox

环境说明

Centos 7.1 服务器
Hadoop 2.7.3

下载地址

http://archive.apache.org/dist/hadoop/common/
当前最新版 2.7.3

wget http://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gztar zxvf hadoop-2.7.3.tar.gz

安装Hadoop

cd ~mv hadoop-2.7.3 /home/hadoop/hadoop   #目录位置chmod -R +x /home/hadoop/hadoop/bin    # 修改文件权限chmod -R +x /home/hadoop/hadoop/sbin   # 修改文件权限mkdir -p /home/hadoop/hadoop/tmp

配置

配置文件 core-site.xml

vim /home/hadoop/hadoop/etc/hadoop/core-site.xml

修改为

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>    <property>        <name>hadoop.tmp.dir</name>        <value>file:/home/hadoop/hadoop/tmp</value>        <description>Abase for other temporary directories.</description>    </property>    <property>        <name>fs.defaultFS</name>        <value>hdfs://localhost:9000</value>    </property></configuration>

配置文件 hdfs-site.xml:

vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml

修改为

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>    <property>        <name>dfs.replication</name>        <value>1</value>    </property>    <property>        <name>dfs.namenode.name.dir</name>        <value>file:/home/hadoop/hadoop/tmp/dfs/name</value>    </property>    <property>        <name>dfs.datanode.data.dir</name>        <value>file:/home/hadoop/hadoop/tmp/dfs/data</value>    </property></configuration>

设置用户

JAVA 环境变量也要在此用户中设置
注意:如果不设置用户,那么将会已root用户启动,并且每次启动都要输入root的秘密
创建用户

useradd -m hadoop -s /bin/bash     # 创建hadoop用户passwd hadoop          # 修改密码,这个时候会让你输入密码2次usermod -G root hadoop    # 增加管理员权限

设置管理员或用户组权限
执行命令

visudo

方法一
找到以下 一行 去除 前缀#号

%wheel  ALL=(ALL)       ALL

方法二
在root 那行增加 hadoop一行,如下所示

root    ALL=(ALL)       ALLhadoop    ALL=(ALL)       ALL

应用设置

  • 方法一: 退出当前用户,改用hadoop登录,用命令su –,即可获得root权限进行操作
  • 方法二:重新启动系统

设置无密码登录

切换用户

su hadoop

进入当前用户目录 hadoop

cd ~pwd

pwd 命令会显示如下目录

/home/hadoop

生成秘钥

mkdir -p /home/hadoop/.sshcd ~/.ssh/ssh-keygen -t rsa    #如有提示,直接按回车cat id_rsa.pub >> authorized_keys  # 加入授权

启动

格式化

/home/hadoop/hadoop/bin/hdfs namenode -format       # namenode 格式化

输出如下信息正常,如有其他问题请看FAQ

16/11/24 15:09:53 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 016/11/24 15:09:53 INFO util.ExitUtil: Exiting with status 016/11/24 15:09:53 INFO namenode.NameNode: SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1************************************************************/

启动

/home/hadoop/hadoop/sbin/start-dfs.sh               # 开启守护进程

判断是否启动成功

jps

出现以下进程 表明启动成功

2433 NameNode2801 SecondaryNameNode2911 Jps2600 DataNode

关闭

/home/hadoop/hadoop/sbin/stop-dfs.sh   #这个是关闭命令

更多请看以下目录下

/home/hadoop/hadoop/sbin//home/hadoop/hadoop/bin/

运行 WordCount 实例:

/home/hadoop/hadoop/bin/hdfs dfs -mkdir -p /user/hadoop     # 创建HDFS目录/home/hadoop/hadoop/bin/hdfs dfs -mkdir input/home/hadoop/hadoop/bin/hdfs dfs -put /home/hadoop/hadoop/etc/hadoop/*.xml input  # 将配置文件作为输入/home/hadoop/hadoop/bin/hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'/home/hadoop/hadoop/bin/hdfs dfs -cat output/*                # 查看输出

配置hadoop 环境变量

vim ~/.bashrc

最后一行加入

export HADOOP_HOME=/home/hadoop/hadoopexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

这些变量在启动 Hadoop 进程时需要用到,不设置的话可能会报错(这些变量也可以通过修改 /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh 实现)。

集群配置

请看
http://www.powerxing.com/install-hadoop-simplify/
http://www.powerxing.com/install-hadoop-cluster/ 集群
http://www.powerxing.com/install-hadoop/ 伪分布式(单机多个进程)

FAQ

1. SHUTDOWN_MSG: Shutting down NameNode at localhost.localdomain/127.0.0.1

主机名称问题
编辑以下文件查看主机名称是否是 localhost,如果不是则修改。一般只改第一个就可以解决问题

vim /etc/hostname

HOSTS

vim /etc/hosts

如果有 localhost.localdomain(如下) 把它修改为 localhost

127.0.0.1  localhost localhost.localdomain

重启系统

reboot

这里有一个讨巧的方法,上面一步重启不执行,执行

hostname localhost

这个意思是临时修改主机名称

2 mkdir: Call From localhost/127.0.0.1 to localhost:9000 failed on connection exception

mkdir: Call From localhost/127.0.0.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:http://wiki.apache.org/hadoop/ConnectionRefused

出现这个问题的原因,你没有格式化,先退出,重新执行格式化命令

查看:
http://www.powerxing.com/install-hadoop-simplify/

0 0
原创粉丝点击