Hadoop2.7.4详细配置与相关问题讲解

安装前准备

node安装(这里使用VM12部署4个centos7.0系统,分布式部署)
jdk安装 (我这里使用的是jdk1.8)
ssh免密码登录
参考我的上一篇Hadoop1.2.1详细配置与相关问题讲解 有详细说明,这里就不再累赘。

环境说明

主机hosts:
node1 192.168.132.138 
node2 192.168.132.139
node3 192.168.132.140
node4 192.168.132.141
JDK:1.8
Hadoop:2.7.4
配置详细:

NameNodeDataNodeZooKeeperZKFlloverController
JournalNode
node1 √



node2




node3




node4


















配置文件编辑

1.zookeeper配置

下载解压 zookeeper-3.4.10
进入/zookeeper-3.4.10/conf目录
编辑zoo.cfg文件(vi zoo.cfg)
#修改dataDir,后续将创建
dataDir=/opt/zookeeper
#1 2 3表示zookeeper节点名
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

mkdir /opt/zookeeper 创建dataDir目录

cd /opt/zookeeper 创建节点名

vi myid

1

cd ../

scp -r zookeeper/ root@node2:/opt/

scp -r zookeeper/ root@node3:/opt/

同时修改node2和node3目录相应目录下myid文件内容,改为2和3

scp -r zookeeper-3.4.10 root@node2:~/

scp -r zookeeper-3.4.10 root@node3:~/

配置环境变量,,同时设置node2和node3

vi /etc/profile

export PATH = $PATH:/root/zookeeper-3.4.10/bin
source /etc/profile

测试开启zookeeper集群,同理node2和node3同时单独启动:
zkServer.sh start


启动成功!

2.hadoop文件配置

进入 /etc/hadoop 目录

一、hadoop-env.sh

1
export JAVA_HOME = / usr / lib / jvm / java - 1.8 . 0.openjdk

二、hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<configuration>
         #设置服务名
         < property >
                 <name>dfs.nameservices< / name>
                 <value>lhtnb< / value>
         < / property >
         #设置namenode名
         < property >
                 <name>dfs.ha.namenodes.lhtnb< / name>
                 <value>nn1,nn2< / value>
         < / property >
          #设置namenode rpc协议地址
         < property >
                 <name>dfs.namenode.rpc - address.lhtnb.nn1< / name>
                 <value>node1: 8020 < / value>
         < / property >
         < property >
                 <name>dfs.namenode.rpc - address.lhtnb.nn2< / name>
                 <value>node2: 8020 < / value>
         < / property >
          #设置namenode http协议地址
         < property >
                 <name>dfs.namenode.http - address.lhtnb.nn1< / name>
                 <value>node1: 50070 < / value>
         < / property >
         < property >
                 <name>dfs.namenode.http - address.lhtnb.nn2< / name>
                  <value>node2: 50070 < / value>
         < / property >
          #设置JournalNode
         < property >
                  <name>dfs.namenode.shared.edits. dir < / name>
                 <value>qjournal: / / node2: 8485 ;node3: 8485 ;node4: 8485 / lhtnb< / value>
         < / property >
          #设置自动寻找active namenode
         < property >
                 <name>dfs.client.failover.proxy.provider.lhtnb< / name>
                 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider< / value>
         < / property >
         #sshfence - SSH到Active NameNode并终止进程
         < property >
                 <name>dfs.ha.fencing.methods< / name>
                 <value>sshfence< / value>
         < / property >
         < property >
                 <name>dfs.ha.fencing.ssh.private - key - files< / name>
                 <value> / root / .ssh / id_dsa< / value>
         < / property >
         #设置jn数据存放目录
         < property >
                 <name> dfs.journalnode.edits. dir < / name>
                 <value> / opt / jn / data< / value>                          
         < / property >
         #开启自动切换
         < property >
                 <name>dfs.ha.automatic - failover.enabled< / name>
                 <value>true< / value>
         < / property >
< / configuration>

三、core-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#namenode的入口
< property >
   <name>fs.defaultFS< / name>
   <value>hdfs: / / lhtnb< / value>
< / property >
#设置zookeeper集群
< property >
    <name>ha.zookeeper.quorum< / name>
    <value>node1: 2181 ,node2: 2181 ,node3: 2181 < / value>
< / property >
#设置系统目录
< property >
    <name>hadoop.tmp. dir < / name>
    <value> / opt / hadoop2< / value>
< / property >

四、slaves

DataNode节点配置

1
2
3
node2
node3
node4

拷贝配置文件到其他节点上

scp ./* root@node2:/root/hadoop-2.7.4/etc/hadoop/

scp ./* root@node3:/root/hadoop-2.7.4/etc/hadoop/

scp ./* root@node4:/root/hadoop-2.7.4/etc/hadoop/

Mapreduce配置

mapred-site.xml

1
2
3
4
< property >
     <name>mapreduce.framework.name< / name>
     <value>yarn< / value>
< / property >


yarn-site.xml

  
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<configuration>
     < property >
         <name>yarn.resourcemanager.hostname< / name>
         <value>node1< / value>
    < / property >
 
     < property >
         <name>yarn.nodemanager.aux - services< / name>
         <value>mapreduce_shuffle< / value>
    < / property >
 
     < property >
         <name>yarn.nodemanager.aux - services.mapreduce.shuffle. class < / name>
         <value>org.apache.hadoop.mapred.ShuffleHandler< / value>
    < / property >
 
< / configuration>


启动

1.启动三个JournalNode: /root/hadoop-2.7.4/sbin
./hadoop-daemon.sh start journalnode

出现JournalNode表示启动成功!

2.在其中一个namenode(例如node1)上格式化:/root/hadoop-2.7.4/bin
./hdfs namenode -format
        启动namenode1:/root/hadoop-2.7.4/sbin
        ./hadoop-daemon.sh start namenode
        (cd ../logs    tail -n50 hadoop-root-namenode-node1.log  查看详细日志是否启动成功,有无错误。)
        启动namenode2(切换到node2主机,注意:必须有一台namenode主机先启动):/root/hadoop-2.7.4/bin
        ./hdfs namenode -bootstrapStandby
        验证:切换到上面设置的系统目录那/opt/hadoop2看是否有文件存在。

3.在其中一个namenode上格式化zkfc:/root/hadoop-2.7.4/bin
./hdfs zkfc -formatZK

4.停止上面节点:/root/hadoop-2.7.4/sbin
./stop-dfs.sh

5.全面启动



启动成功!

验证

除了输入jps命令查看节点是否开启之外,尝试开启web验证。
在window开启Hadoop Web界面
配置hosts后

打开浏览器
输入 HDFS界面
http://node1:50070/dfshealth.html#tab-overview第一次输入,建议输入完整地址,而不要输入http://node1:50070,有时会造成不会自动跳转,导致链接不到界面。
MapReduce界面
http://node1:8088/cluster

当然也可以尝试创建目录,上传文件操作
创建文件夹:/root/hadoop-2.7.4/bin
./hdfs dfs -mkdir -p /usr/file
上传文件
./hdfs dfs -put ./lhtpp /usr/file


如果有什么缺漏的记得留言,写的不好的多多指正!









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感冒灵pp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值