02.hadoop环境构建

一. 系统配置与资源准备

  1. 操作系统:centos6.8
  2. java版本:1.7
  3. hadoop版本:2.5.0

二. 环境配置

1. 禁用selinux

vim /etc/sysconfig/selinux
SELINUX=disabled

2.关闭防火墙

service iptables status  # 查看防火墙状态
service iptables stop  # 关闭防火墙
chkconfig iptables off  # 关闭防火墙开机自启动

3.配置HOSTNAME(需要重启电脑)

vim /etc/sysconfig/network
HOSTNAME=bigguider21.com

4.配置域名解析

vim /etc/hosts
192.168.28.21 bigguider21.com

5.网络环境配置

[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# more /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
UUID=a8ef3dc5-deee-48cd-9e16-9e93815ccbc9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:6D:D2:A0
IPADDR=192.168.28.21  #ip地址
PREFIX=24
GATEWAY=192.168.28.2  #网关
DNS1=192.168.28.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

三. 创建目录结构

--datas :数据文件夹
--modules :软件安装文件夹
--software : 软件源文件
--tools : 工具文件夹

cd ~
mkdir datas modules software tools

四. 安装并配置java

1. 查看自带java并卸载

rpm -qa |  grep java   # 查看安装java信息
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
# 卸载已安装java(多个用空格分割) 
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 

2. 安装java并配置环境变量

# 解压java源文件
tar -zxvf software/jdk-7u67-linux-x64.tar.gz -C modules/
#配置环境变量
vim /etc/profile
export JAVA_HOME=/root/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
#使配置生效
source /etc/profile

3. 查看是否安装成功

java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

五.Hadoop的安装与配置

1. Hadoop安装与环境变量配置

# 解压Hadoop源文件
tar -zxvf software/hadoop-2.5.0-cdh5.3.6.tar.gz -C modules/
# 配置环境变量
vim /etc/profile
export HADOOP_HOME=/root/modules/hadoop-2.5.0-cdh5.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 使配置生效
source /etc/profile

2.配置设置

2.1 hadoop,mapreduce,yarn配置java路径

vim etc/hadoop/hadoop-env.sh
vim etc/hadoop/mapred-env.sh 
vim etc/hadoop/yarn-env.sh 
export JAVA_HOME=/root/modules/jdk1.7.0_67

2.2 Hadoop基本配置

# 创建临时文件目录
mkdir -p hadoop安装路径/data/tmp
# 修改core-site.xml
[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# vim etc/hadoop/core-site.xml 
<configuration>
      <property>
            <!--系统文件默认访问入口-->
            <name>fs.defaultFS</name> 
            <value>hdfs://bigguider21.com:8020</value>
      </property>
      <property>
             <!--系统生成文件的临时目录-->
             <name>hadoop.tmp.dir</name>
             <value>/root/modules/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
      </property>
</configuration>
# 修改hdfs-site.xml
[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# vim etc/hadoop/hdfs-site.xml 
<configuration>
       <property>
       <!--修改副本数量-->
               <name>dfs.replication</name>
               <value>1</value>
       </property>
</configuration>
# 修改slaves(从节点机器位置主机名)
[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# vim etc/hadoop/slaves
bigguider21.com

2.3 MapReduce配置文件修改

[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vim etc/hadoop/mapred-site.xml
<configuration>
         <!--使MapReduce运行在YARN上面-->
         <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
         </property>
</configuration>

2.4 YARN配置文件修改

[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# vim etc/hadoop/yarn-site.xml 
<configuration>
     <property> <!--MapReduce运行服务-->
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
     </property>
     <!--resourcemanager默认为启动的机器-->
     <!--为分布式可以不进行配置,配置一般为主机名-->
     <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>bigguider21.com</value>
    </property>
</configuration>

2.5 SecondaryNameNode配置(可选)

  1. 作用:1. 减少namenode启动时间,2.合并文件
  2. 原理:namenode启动时先读取fsimage文件,在读取edits文件,用户对HDFS操作越多,edits文件越大,导致读取时间过长,SecondaryNameNode合并fsimage/edits为新的fsimage,生成新的edits。用户对HDFS操作的任何行为操作都会记录在元数据文件,对于HDFS的操作会记录在编辑日志文件edits中。
  3. 配置:
vim  $hadoop_home/etc/hadoop/hdfs-site.xml
<property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>bigguider21.com:50090</value>
</property>
  1. 启动
# 外部访问:bigguider21.com:50090
sbin/hdaoop-daemon.sh start secondarynamenode

2.6 MapReduce历史服务器(可选)

  1. 作用:记录历史数据
  2. 配置:
vim  $hadoop_home/etc/hadoop/mapred-site.xml
<!--MapReduce历史服务器,需要重启HDFS与YARN-->
<!--内部交互地址-->
<property>
       <name>mapreduce.jobhistory.address</name>
       <value>lee.cniao5.com:10020</value>
</property>
<!--外部交互地址-->
<property>
       <name>mapreduce.jobhistory.webapp.address</name>
       <value>bigguider21.com:19888</value>
</property>
  1. 启动:
sbin/mr-jobhistory-daemon.sh start historyservier

2.7 日志聚合(可选)

  1. 作用:将MapReduce产生的日志上传到HDFS对应目录中,便于从web页面查看。
  2. 配置:
vim $hadoop_home/etc/hadoop/yarn-site.xml
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log.server.url</name>
    <value>http://bigguider21.com:19888/jobhistory/logs</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
  1. 启动:
# 重启yarn

2.8 文件权限(可选)

  1. 作用:HDFS的文件目录权限与Linux是完全一致的。(修改配置文件,使其不检测用户权限)
  2. 配置:
vim $hadoop_home/etc/hadoop/hdfs-site.xml
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>
  1. 启动:
# 重启yarn

3. 格式化元数据

# 格式化namenode
# 在data/tmp文件夹下生成文件
# 只能格式化一次,如果需要,将tmp文件下内容删除再格式化
# 多次格式化会导致集群ID不一致,手动修改集群ID也可以多次格式化
[root@bigguider21 hadoop-2.5.0-cdh5.3.6]# hdfs namenode -format

4. 启动集群

[root@bigguider21 modules]# hadoop-daemon.sh start namenode
[root@bigguider21 modules]# hadoop-daemon.sh start datanode
# [root@bigguider21 modules]# hadoop-daemon.sh start secondarynamenode
[root@bigguider21 modules]# yarn-daemon.sh start resourcemanager
[root@bigguider21 modules]# yarn-daemon.sh start nodemanager
# [root@bigguider21 modules]# mr-jobhistory-daemon.sh start historyserver  #历史服务器

5. 检验

游览HDFS界面网址
1. 192.168.28.21:50070
2. bigguider21.com:50070
启动SecondaryNameNode 外部访:bigguider21.com:50090
外部管理界面:bigguider21.com:8088

5.1.使用单词统计进行检验

hdfs dfs -help  #查看版主文档
#创建输入文件夹
hdfs dfs -mkdir -p mapreduce/input
#上传数据文件到输入文件夹
hdfs dfs -put ~/data/s/file.input /user/root/maperduce/input
#执行单词统计任务
#在yarn上运行job时都必须打包jar
#输出目录不存在时,任务运行完自动创建,防止任务结果覆盖
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
#查看运行结果:_SUCCESS表示成功,结果在part-r-00000
hdfs dfs -text /user/root/mapreduce/output/part-r-000000

9. 常见问题

9.1 集群ID不一致

cd $hadoop_home/data/tmp/dfs/name/current/
cat VERSION 
# Mon Apr 30 01:53:32 CST 2018
namespaceID=365367415
clusterID=CID-d45ee400-25dd-440f-92c8-858153467c48 #集群id
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1315402128-192.168.28.21-1525024412095
layoutVersion=-59
  1. 原因:tmp目录且清空就进行格式化。
  2. 方法:删除data/tmp目录下的文件后重新格式化。

9.2 多用户毁用

  1. 原因:操作时多个用户同时使用。
  2. 方法:重新格式化

9.3 pid号错误

  1. 原因:多个用户开启同一个进程时。
  2. 方法:删除/tmp文件下的.pid文件

9.4 Navite警告

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

推荐阅读更多精彩内容