本篇根据 给力星 改动而来,文尾有来源
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为海量的数据提供了计算。 来源:百科
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.gz tar 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) ALL hadoop ALL=(ALL) ALL应用设置
方法一: 退出当前用户,改用hadoop登录,用命令su –,即可获得root权限进行操作方法二:重新启动系统切换用户
su hadoop进入当前用户目录 hadoop
cd ~ pwdpwd 命令会显示如下目录
/home/hadoop生成秘钥
mkdir -p /home/hadoop/.ssh cd ~/.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 >= 0 16/11/24 15:09:53 INFO util.ExitUtil: Exiting with status 0 16/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 NameNode 2801 SecondaryNameNode 2911 Jps 2600 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/* # 查看输出最后一行加入
export HADOOP_HOME=/home/hadoop/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export 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/ 伪分布式(单机多个进程)
主机名称问题 编辑以下文件查看主机名称是否是 localhost,如果不是则修改。一般只改第一个就可以解决问题
vim /etc/hostnameHOSTS
vim /etc/hosts如果有 localhost.localdomain(如下) 把它修改为 localhost
127.0.0.1 localhost localhost.localdomain重启系统
reboot这里有一个讨巧的方法,上面一步重启不执行,执行
hostname localhost这个意思是临时修改主机名称
出现这个问题的原因,你没有格式化,先退出,重新执行格式化命令
查看: http://www.powerxing.com/install-hadoop-simplify/
