Hadoop2.7.5分布式集群搭建

原创 2018年04月15日 12:02:24
Hadoop2.7.5分布式集群搭建

1 服务器信息

2 关闭iptable与selinux
service iptables stop
chkconfig iptables off
chkconfig iptables --list

vi /etc/sysconfig/selinux
----------------------------------------
SELINUX=disabled

3 配置hosts文件
vi /etc/hosts
-----------------------------------------------
192.168.1.101   hadoop1
192.168.1.102   hadoop2
192.168.1.103   hadoop3
192.168.1.104   hadoop4
192.168.1.105   hadoop5

4 配置JDK
vi /etc/profile
hadoop1/hadoop2环境变量
----------------------------------------------
export JAVA_HOME=/app/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/app/hadoop-2.7.5
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
hadoop3/hadoop4/hadoop5环境变量
--------------------------------------------
export JAVA_HOME=/app/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/app/hadoop-2.7.5
export ZOOKEEPER_HOME=/app/zookeeper
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
执行命令:source /etc/profile刷新环境变量

5 配置ssh无密码登录
    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa      --在所有节点执行   

    vi /etc/authorized_keys

    -------------------------------------------

    将5台服务器的id_dsa.pub文件内容添加到新文件authorized_keys

6 创建相关目录
mkdir -p /data/hadoop/tmp
mkdir -p /data/hadoop/journal
mkdir -p /data/hadoop/hdfs/name
mkdir -p /data/hadoop/hdfs/data
mkdir -p /data/zookeeper/data

7 修改hadoop-env.sh/配置文件
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
vi $HADOOP_HOME/etc/hadoop/mapred-env.sh
vi $HADOOP_HOME/etc/hadoop/yarn-env.sh
添加jdk环境变量
--------------------------------
export JAVA_HOME=/app/jdk

8 修改core-site.xml配置文件
vi $HADOOP_HOME/etc/hadoop/core-site.xml
--------------------------------
<configuration>  
<!--指定hdfs的nameService1节点URL地址 -->  
<property>  
  <name>fs.defaultFS</name>  
  <value>hdfs://ns1</value>  
</property>  
<!-- Hadoop的运行时文件存放路径 -->
<property>  
   <name>hadoop.tmp.dir</name>  
   <value>/data/hadoop/tmp</value>  
</property>  
<!-- Zookeeper地址 -->  
<property>  
   <name>ha.zookeeper.quorum</name>  
   <value>hadoop3:2181,hadoop4:2181,hadoop5:2181</value>  
</property>  
<property>  
       <name>io.file.buffer.size</name>  
       <value>131072</value>  
</property>    
</configuration>  

8 修改hdfs-site.xml配置文件
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
--------------------------------
<configuration>    
<property>  
   <name>dfs.nameservices</name>  
   <value>ns1</value>  
</property>  
<property>  
   <name>dfs.ha.namenodes.ns1</name>  
   <value>nn1,nn2</value>  
</property>   
<property>  
   <name>dfs.namenode.rpc-address.ns1.nn1</name>  
   <value>hadoop1:8020</value>  
</property> 
<property>  
   <name>dfs.namenode.rpc-address.ns1.nn2</name>  
   <value>hadoop2:8020</value>     
<property>  
   <name>dfs.namenode.http-address.ns1.nn1</name>  
   <value>hadoop1:50070</value>  
</property>   
<property>  
   <name>dfs.namenode.http-address.ns1.nn2</name>  
   <value>hadoop2:50070</value>  
</property>     
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->  
<property>  
   <name>dfs.namenode.shared.edits.dir</name>  
   <value>qjournal://hadoop3:8485;hadoop4:8485;hadoop5:8485/ns1</value> 
</property>  
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->  
<property>  
   <name>dfs.journalnode.edits.dir</name>  
   <value>/data/hadoop/journal</value>  
</property>      
<!-- 开启NameNode失败自动切换 -->  
<property>  
   <name>dfs.ha.automatic-failover.enabled</name>  
   <value>true</value>  
</property>  
<!-- 配置失败自动切换实现方式 -->  
<property>  
   <name>dfs.client.failover.proxy.provider.ns1</name>  
   <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  
</property>  
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->  
<property>  
   <name>dfs.ha.fencing.methods</name>  
   <value>sshfence</value>  
</property>  
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->  
<property>  
   <name>dfs.ha.fencing.ssh.private-key-files</name>  
   <value>/root/.ssh/id_dsa</value>  
</property>  
<!-- 配置sshfence隔离机制超时时间 -->  
<property>  
   <name>dfs.ha.fencing.ssh.connect-timeout</name>  
   <value>30000</value>  
</property>  
<property>
   <name>dfs.replication</name>
   <value>3</value>
</property>
<!-- nameNode与datanode 存储目录--> 
<property>  
   <name>dfs.namenode.name.dir</name>  
   <value>file:///data/hadoop/hdfs/name</value>  
</property> 
<property>  
   <name>dfs.datanode.data.dir</name>  
   <value>file:///data/hadoop/hdfs/data</value>  
</property> 
</configuration>

9 修改mapred-site.xml配置文件
vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
----------------------------------
<configuration>  
<!-- 指定Hadoop的MapReduce运行在YARN环境 -->  
<property>  
<name>mapreduce.framework.name</name>  
<value>yarn</value>  
</property>

<!-- MapReduce JobHistory Server --> 
<property>  
<name>mapreduce.jobhistory.address</name>  
<value>hadoop1:10020</value>  
</property>  
<property>  
<name>mapreduce.jobhistory.webapp.address</name>  
<value>hadoop1:19888</value>  
</property>
</configuration>

10 修改yarn-site.xml配置文件
vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
----------------------------------
<configuration>  
<!-- NodeManager获取数据方式:shuffle -->  
<property>  
<name>yarn.nodemanager.aux-services</name>  
<value>mapreduce_shuffle</value>  
</property> 
<!-- yarn HA--> 
<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>
<property>
   <name>yarn.resourcemanager.hostname.rm1</name>
   <value>hadoop1</value>
</property>
<property>
   <name>yarn.resourcemanager.hostname.rm2</name>
   <value>hadoop2</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address.rm1</name>
   <value>hadoop1:8088</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address.rm2</name>
   <value>hadoop2:8088</value>
</property>
<property>
   <name>yarn.resourcemanager.zk-address</name>
   <value>hadoop3:2181,hadoop4:2181,hadoop5:2181</value>
</property>  
<property>
   <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
   <value>ture</value>
</property>     
</configuration>

11 修改slaves配置文件
vi $HADOOP_HOME/etc/hadoop/slaves
----------------------------------
hadoop3
hadoop4
hadoop5

12 zookeeper配置
vi $ZOOKEEPER_HOME/conf/zoo.cfg
----------------------------
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
server.3 = hadoop3:2888:3888
server.4 = hadoop4:2888:3888
server.5 = hadoop5:2888:3888

服务器标识配置
vi /data/zookeeper/data/myid --创建文件myid并填写内容为3
--把hadoop4、hadoop5中的myid文件里的值修改为4和5

13 HDFS HA初始化
1] 在hadoop3、hadoop4、hadoop5服务器启动zk与journalnode
zkServer.sh start
zkServer.sh status
hadoop-daemon.sh start journalnode

2] 主namenode节点格式化ZK,创建命名空间
hdfs zkfc -formatZK
打开Hadoop4服务器zookeeper客户端,查看是否存在hadoop-ha节点
执行命令:zkCli.sh
查看节点命令:ls  /

3] 在主namenode节点格式化namenode和journalnode目录
hdfs namenode -format ns1

4] 在主namenode节点启动namenode进程
hadoop-daemon.sh start namenode

5] 在备namenode节点,把备namenode节点的目录格式化并把元数据从主namenode节点同步过来
hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode --启动备namenode

6] 在两个namenode节点启动zkfc
hadoop-daemon.sh start zkfc

7] 在所有datanode节点启动datanode
hadoop-daemon.sh start datanode

8] HDFS HA状态
hdfs haadmin -getServiceState nn1
hdfs haadmin -getServiceState nn2

9] 启动yarn
start-yarn.sh --主namenode执行
yarn-daemon.sh start resourcemanager --备namenode执行

10] yarn HA状态
yarn rmadmin -getServiceState rm1
yarn rmadmin -getServiceState rm2

11] 启动历史服务
mr-jobhistory-daemon.sh start historyserver

14 日常启停命令
start-all.sh
stop-all.sh

单独启动:
hadoop-daemon.sh start journalnode  
hadoop-daemon.sh start namenode
hadoop-daemon.sh start zkfc
hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver

15 访问Hadoop服务页面
HDFS管理界面:http://192.168.1.101:50070/
YARN管理界面:http://192.168.1.101:8088/
JobHistory管理界面:http://192.168.1.101:19888/

16 验证HDFS - HA主备切换
1] 验证Hadoop1服务器NameNode和Hadoop2服务器NameNode数据文件是否可以共享
在Hadoop1上传文件hosts文件:hdfs dfs -put /etc/hosts /
杀掉Hadoop1 NameNode进程
查看进程:jps
在Hadoop2查看hosts文件:hdfs dfs -ls /hosts

17 测试运行MapReduce Job
1] 创建输入HDFS目录
hdfs dfs -mkdir -p /wordcountdemo/input
2] 创建原始文件
vi /app/wc.input内容如下
----------------------------------------
hadoop mapreduce hive
hbase spark storm
sqoop hadoop hive
spark hadoop
---------------------------------------
3] 将wc.input文件上传到HDFS的/wordcountdemo/input目录中
hdfs dfs -put /app/wc.input /wordcountdemo/input
4] 运行WordCount MapReduce Job
bin/yarn jar /app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /wordcountdemo/input /wordcountdemo/output
--输出目录不能创建,yarn会自动创建
5] 查看输出结果目录
hdfs dfs -ls /wordcountdemo/output
6] 查看输出文件内容

hdfs dfs -cat /wordcountdemo/output/part-r-00000


CentOS7部署Hadoop2.7.5全分布式群集

思路 安装虚拟机 安装JDK 克隆 安装HADOOP 配置ssh 搭建hadoop集群 配置hadoop-env.sh 配置hadoop-core-site.xm 配置hadoop-hdfs-s...
  • Magic_Ninja
  • Magic_Ninja
  • 2018-01-28 20:30:49
  • 537

Hadoop入门(五) Hadoop2.7.5集群分布式环境搭建

前期准备就不详细说了,需要七台linux虚拟机1.修改Linux主机名 2.修改IP 3.修改主机名和IP的映射关系     ######注意######如果你们公司是租用的服务器或是使用的云主机(如...
  • wangxueqing52
  • wangxueqing52
  • 2018-03-22 14:40:14
  • 151

Ubuntu16.4-Hadoop2.7.5分布式集群搭建(三)--- Hbase的安装与配置

一:Hadoop的安装与配置若没有提前安装好hadoop,请移步:Ubuntu16.4-Hadoop2.7.5分布式集群搭建(一)二:Zookeeper的安装与配置以下操作如若不作声明则全部在mast...
  • zyy_2018
  • zyy_2018
  • 2018-03-19 23:00:28
  • 68

hadoop2.7.5搭建高可用集群

本文目的:搭建hadoop的高可用集群集群规划1.下载 hadoop-2.7.5-centos-6.7.tar.gz 安装包2.通过CRT软件上传到hadoop02号机器3.解压软件到apps目录下t...
  • JENREY
  • JENREY
  • 2018-03-25 11:47:53
  • 186

Hadoop 2.2 YARN分布式集群搭建配置流程

搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoo...
  • uf_fantn
  • uf_fantn
  • 2013-11-27 17:37:10
  • 3607

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一、环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,...
  • reblue520
  • reblue520
  • 2017-04-28 10:48:44
  • 5522

Hadoop入门(三) Hadoop2.7.5伪分布式环境搭建

1.准备Linux环境 1.0 修改虚拟机参数                点击VMware快捷方式,右键打开文件所在位置 -&amp;gt; 双击vmnetcfg.exe -&amp;gt; VM...
  • wangxueqing52
  • wangxueqing52
  • 2018-02-28 18:17:58
  • 95

集群hadoop2.7.5运行wordcount实例

cd mkdir input vim input/test.txt 随便输入点内容 hello hadoop how are you fine thank you hadoop fs -...
  • qq_25628891
  • qq_25628891
  • 2018-01-13 14:53:34
  • 332

大数据分布式集群搭建(1)

在学习了几天的hadoop分布式集群搭建之后想写写文章记录一下一路以来遇到的困难和解决方案。 闲话不多说,进入正题。一、环境及准备 因为只有一台电脑,所以需要用虚拟机来模拟环境。 ...
  • kong1287988804
  • kong1287988804
  • 2017-07-21 11:20:00
  • 255

hadoop完全分布式集群搭建

算起来接触hadoop集群也有一段时间了,只是以前硬件条件有限,玩儿都是伪分布式。最近有了新服务器,应项目需求,完成了hadoop完全分布式的搭建,以下是具体过程。这是个人实践操作后的记录,欢迎各位阁...
  • bu_min
  • bu_min
  • 2015-04-24 10:11:32
  • 1152
收藏助手
不良信息举报
您举报文章:Hadoop2.7.5分布式集群搭建
举报原因:
原因补充:

(最多只允许输入30个字)