Hadoop 3.1.3 完全分布式集群搭建

1.解压Hadoop,zookeeper,配置环境变量

#JAVA_HOME

JAVA_HOME=/home/admin/modules/jdk1.8.0_144

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME

export HADOOP_HOME=/home/admin/modules/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

##ZOOKEEPER_HOME

export ZOOKEEPER_HOME=/home/admin/modules/zookeeper-3.4.10

export PATH=$PATH:$ZOOKEEPER_HOME/bin

2.修改配置文件

zoo.cfg

[root@node3 conf]# cat zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/home/admin/modules/zookeeper-3.4.10/zkData

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=node1:2888:3888

server.2=node2:2888:3888

server.3=node3:2888:3888

#server.4=node4:2888:3888

3.在zookeeper解压文件夹创建zkData

touch myid

echo 1 > myid

4.配置Hadoop

修改.env文件

在hadoop-env.sh, mapred-env.sh,yarn-env.sh  添加JAVA-HOME

export JAVA_HOME=/home/admin/modules/jdk1.8.0_144

5.添加节点

修改workers,添加三个节点

node1

node2

node3

6.修改  core-site.xml

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://mycluster</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/admin/modules/hadoop-3.1.3/hadoop-data</value>

</property>

<!--  监测集群-->

  <property>

  <name>ha.zookeeper.quorum</name>

  <value>node1:2181,node2:2181,node3:2181</value>

</property>

修改hdfs-site.xml

<!-- 副本数量-->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

  <name>dfs.nameservices</name>

  <value>mycluster</value>

</property>

<property>

  <name>dfs.ha.namenodes.mycluster</name>

  <value>nn1,nn2</value>

</property>

<property>

  <name>dfs.namenode.rpc-address.mycluster.nn1</name>

  <value>node1:8020</value>

</property>

<property>

  <name>dfs.namenode.rpc-address.mycluster.nn2</name>

  <value>node2:8020</value>

</property>

<property>

  <name>dfs.namenode.http-address.mycluster.nn1</name>

  <value>node1:9870</value>

</property>

<property>

  <name>dfs.namenode.http-address.mycluster.nn2</name>

  <value>node2:9870</value>

</property>

<!--  部署journalnode集群的目录 -->

<property>

  <name>dfs.namenode.shared.edits.dir</name>

  <value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>

</property>

<property>

  <name>dfs.client.failover.proxy.provider.mycluster</name>

  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<!--免密钥,和隔离 -->

    <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_rsa</value>

    </property>

<!--指定journalnode的数据路径 -->

<property>

  <name>dfs.journalnode.edits.dir</name>

  <value>/home/admin/modules/hadoop-3.1.3/journalnode</value>

</property>

<!-- 自动故障转移-->

<property>

  <name>dfs.ha.automatic-failover.enabled</name>

  <value>true</value>

</property>

<!--关闭权限检查-->

<property>

<name>dfs.permissions.enable</name>

<value>false</value>

</property>

<!-- 开启web方式-->

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

修改mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!--配置map reduce的job history server地址,默认10020-->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node1:10020</value>

</property>

<!--配置map reduce job history server web ui地址,默认19888-->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node1:19888</value>

</property>

修改yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- resourcemanager高可用-->

<property>

  <name>yarn.resourcemanager.ha.enabled</name>

  <value>true</value>

</property>

<property>

  <name>yarn.resourcemanager.cluster-id</name>

  <value>cluster1</value>

</property>

<property>

  <name>yarn.resourcemanager.ha.rm-ids</name>

  <value>rm1,rm2</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

  <name>yarn.resourcemanager.hostname.rm1</name>

  <value>node2</value>

</property>

<property>

  <name>yarn.resourcemanager.hostname.rm2</name>

  <value>node3</value>

  </property>


  <property>

  <name>yarn.resourcemanager.webapp.address.rm1</name>

  <value>node2:8088</value>

</property>

<property>

  <name>yarn.resourcemanager.webapp.address.rm2</name>

  <value>node3:8088</value>

</property>

  <!-- zookeeper 地址 -->

  <property>

  <name>yarn.resourcemanager.zk-address</name>

  <value>node1:2181,node2:2181,node3:2181</value>

</property>

<!--日志 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

  </property>

  <property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>86400</value>

  </property>

  <property>

<name>yarn.log.server.url</name>

<value>http://node1:19888/jobhistory/logs/</value>

  </property>

7.修改sbin下面的

start(stop)-dfs.sh,在最开头添加如下

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_JOURNALNODE_USER=root

HDFS_ZKFC_USER=root

start(stop)-yarn.sh,在最开头添加如下

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

8.分发Hadoop,zookeeper到各个节点

9.每个节点启动zookeeper

zkServer.sh start

10.每个节点启动journalnode

hdfs --daemon start journalnode

11. 格式化主namenode

hdfs namenode -format

12.启动主namenode

启动主namenoe hdfs --daemon start namenode

13.从namenode同步主namenode

hdfs namenode -bootstrapStandby 同步主节点

14.启动从namenode

namenoe hdfs --daemon start namenode

15.初始化zookeeper

在主节点 hdfs zkfc -formatZK

16.主节点启动集群

sbin/start-dfs.sh

17.查看进程

[root@node1 hadoop-3.1.3]# jps

3824 DataNode

1413 QuorumPeerMain

4422 NodeManager

4729 Jps

3692 NameNode

4108 JournalNode

4287 DFSZKFailoverController

18.启动resource manager 高可用

sbin/start-yarn.sh    

查看进程

[root@node2 hadoop-3.1.3]# jps

1713 NameNode

3971 Jps

1571 JournalNode

3350 NodeManager

1254 QuorumPeerMain

2438 DataNode

2606 DFSZKFailoverController

3231 ResourceManager

至此集群搭建完。

访问9870:


完美搭建!

谢谢大家~~~~~

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

推荐阅读更多精彩内容