CentOS6.5 下搭建 Hadoop2.7.2 单机伪分布式环境

设置固定IP地址及网关

  • 设置IP
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:BD:9D:B5  #不用改
TYPE=Ethernet
UUID=53e4e4b6-9724-43ab-9da7-68792e611031 #不用改
ONBOOT=yes  #开机启动
NM_CONTROLLED=yes
BOOTPROTO=static  #静态IP
IPADDR=192.168.30.50  #IP地址
NETMASK=255.255.255.0 #子网掩码
  • 设置网关
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Hadoop.Master
GATEWAY=192.168.30.1 #网关
  • 设置DNS
vi /etc/resolv.conf
nameserver xxx.xxx.xxx.xxx #根据实际情况设置
nameserver 114.114.114.114 #可以设置多个
  • 重启网卡
service network restart
  • 测试网络
ping www.baidu.com #ping不通一般是DNS问题
  • 设置主机名对应IP地址
vi /etc/hosts
#添加如下内容
192.168.30.50 Hadoop.Master

添加Hadoop用户

  • 添加用户组
groupadd hadoop
  • 添加用户并分配用户组
useradd -g hadoop hadoop
  • 修改用户密码
passwd hadoop

关闭服务

  • 关闭防火墙
service iptables stop #关闭防火墙服务
chkconfig iptables off #关闭防火墙开机启动
service ip6tables stop
chkconfig ip6tables off
  • 关闭SELinux
vi /etc/sysconfig/selinux
#修改如下内容
SELINUX=enforcing -> SELINUX=disabled
#再执行如下命令
setenforce 0
getenforce

Required Software

  • 查看ssh与rsync安装状态
rpm -qa|grep openssh
rpm -qa|grep rsync
  • 安装ssh与rsync
yum -y install ssh
yum -y install rsync
  • 切换hadoop用户
 su - hadoop
  • Setup passphraseless ssh
#use dsa
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#use rsa
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#将id_dsa.pub追加到授权的key中
#选择 dsa 或 rsa 二选一
$ chmod 0600 ~/.ssh/authorized_keys
#权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能
  • 测试ssh连接
ssh localhost
#如果不需要输入密码,则是成功

Java安装与配置

  • 下载地址

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
注:我这里使用的是:jdk-8u91-linux-x64.tar.gz

  • 切换至root用户
sudo su -
  • 将压缩包解压至/usr/local/jdk1.8.0_91 目录
tar zxvf /home/hadoop/jdk-8u91-linux-x64.tar.gz -C /usr/local/jdk1.8.0_91
  • 设置环境变量
vi /etc/profile
#追加如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_91
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
  • 使环境变量生效
source /etc/profile
java -version

Hadoop安装与配置

  • 下载地址

http://hadoop.apache.org/releases.html
注:我下载的是hadoop-2.7.2.tar.gz

  • 将压缩包解压至/usr/local目录
tar zxvf /home/hadoop/hadoop-2.7.2.tar.gz -C /usr/local/
  • 创建hadoop数据目录
mkdir /usr/local/hadoop-2.7.2/tmp
  • 将hadoop文件夹授权给hadoop用户
chown -R hadoop:hadoop /usr/local/hadoop-2.7.2/
  • 设置环境变量
vim /etc/profile
#追加如下内容
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  • 使环境变量生效
source /etc/profile
#测试环境变量设置
hadoop version

配置HDFS

  • 切换至Hadoop用户
su - hadoop
  • 修改hadoop-env.sh
cd /usr/local/hadoop-2.7.2/etc/hadoop/
vi hadoop-env.sh 
#追加如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_91
  • 修改core-site.xml
vi core-site.xml 
#添加如下内容
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop:10080</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop-2.7.2/tmp/</value>
                <description>A base for other temporary directories.</description>
        </property>
</configuration>
  • 修改hdfs-site.xml
vi hdfs-site.xml
#添加如下内容
<configuration>
   <property>
        <name>dfs.replication</name>
        <value>1</value>
   </property>
   <property>
        <name>dfs.datanode.http.address</name>
        <value>0.0.0.0:10675</value>
   </property>
   <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:10670</value>
   </property>
</configuration>
  • 格式化hdfs
hdfs namenode -format
#注:出现Exiting with status 0即为成功
  • 启动hdfs
start-dfs.sh
#停止命令
stop-dfs.sh
#注:输出如下内容
15/09/21 18:09:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [Hadoop.Master]
Hadoop.Master: starting namenode, logging to /usr/hadoop/logs/hadoop-hadoop-namenode-Hadoop.Master.out
Hadoop.Master: starting datanode, logging to /usr/hadoop/logs/hadoop-hadoop-datanode-Hadoop.Master.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
RSA key fingerprint is b5:96:b2:68:e6:63:1a:3c:7d:08:67:4b:ae:80:e2:e3.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (RSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /usr/hadoop/logs/hadoop-hadoop-secondarynamenode-Hadoop.Master.out
15/09/21 18:09:45 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicab
  • 查看进程
jps
#注:输出类似如下内容
[hadoop@CDVM-213018144 hadoop]$ jps
1155 NameNode
1492 SecondaryNameNode
1307 DataNode
6142 Jps
  • 使用web查看Hadoop运行状态
http://10.213.18.144:10670/
#默认是50070

在HDFS上运行WordCount

  • 创建HDFS用户目录
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop #根据自己的情况调整/user/<username>
  • 复制输入文件(要处理的文件)到HDFS上
hdfs dfs -put /usr/local/hadoop-2.7.2/etc/hadoop input
  • 查看我们复制到HDFS上的文件
hdfs dfs -ls input
  • 运行单词检索(grep)程序
hadoop jar /usr/local/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
#WordCount
#hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output
#说明:output文件夹如已经存在则需要删除或指定其他文件夹。
  • 查看运行结果
hdfs dfs -cat output/*

配置YARN

  • 修改mapred-site.xml
cd /usr/local/hadoop-2.7.2/etc/hadoop/
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
#添加如下内容
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 修改yarn-site.xml
vi yarn-site.xml
#添加如下内容
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • 启动YARN
start-yarn.sh
#停止yarn stop-yarn.sh
  • 查看当前java进程
[hadoop@CDVM-213018144 hadoop]$ jps
#输出如下
1155 NameNode
1492 SecondaryNameNode
1307 DataNode
21979 Jps
21551 ResourceManager
21679 NodeManager

运行你的mapReduce程序
配置好如上配置再运行mapReduce程序时即是yarn中运行, 使用web

  • 查看Yarn运行状态
http://你的服务器ip地址:8088/

HDFS常用命令

  • 创建HDFS文件夹
在根目录创建input文件夹
hdfs dfs -mkdir -p /input
在用户目录创建input文件夹
说明:如果不指定“/目录”,则默认在用户目录创建文件夹
hdfs dfs -mkdir -p input
#hdfs dfs -mkdir -p /user/hadoop/input
  • 查看HDFS文件夹
查看HDFS根文件夹
hdfs  dfs  -ls /
查看HDFS用户目录文件夹
hdfs  dfs  -ls
查看HDFS用户目录文件夹下input文件夹
hdfs  dfs  -ls input
#等同与 hdfs  dfs  -ls /user/hadoop/input
复制文件到HDFS
hdfs dfs -put /usr/hadoop/etc/hadoop input
删除文件夹
hdfs  dfs  -rm -r input

参考资料

http://baike.xsoftlab.net/view/292.html
http://www.powerxing.com/install-hadoop/
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html
http://www.cnblogs.com/zx247549135/p/4381800.html
http://www.zhixing123.cn/ubuntu/40649.html
http://stackoverflow.com/questions/24119486/hadoop-namenode-recovery-from-metadata-backup
http://blog.csdn.net/amber_amber/article/details/46896719

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 1 目的将hadoop 2.7.1 安装到 166、167、168 三台机器上2 提供环境练习环境192.168....
    灼灼2015阅读 3,369评论 4 40
  • 所谓的伪分布式集群搭建指的是单主机的环境,所以我的暂时只需要一台虚拟机即可本次使用的是hadoop-2.8.0版本...
    剥离你的情绪阅读 8,143评论 2 10
  • 在虚拟机已安装ubuntu,由于系统的更新源存在问题需要进行更改。 (1)更新更新源sudo gedit /etc...
    d33911380280阅读 443评论 0 1
  • 最近如标题的这几个字,总是在脑海里辗转,拿呼啸形容它,只是觉得它够快,来不及回想,就带走了匆匆的时光。。。而你的态...
    梓睿2017阅读 282评论 0 0
  • 我后悔了!不知道你有没有后悔,我真的后悔了!我还一直在想你! 如果时光能倒流,我一定不那么任性,不故意激惹你...
    雨下阅读 383评论 1 0