Hadoop集群搭建
来源:互联网 发布:莱芜网络电视台 编辑:程序博客网 时间:2024/05/18 03:29
准备环境:
Win7
内存4G,还是建议各位将内存升为8G,不然运行MR特别慢
虚拟机三台,每台内存512MB
======================================================================先配置三台主机的准备条件:
1、修改linux主机名
2、修改IP
3、修改主机名与映射关系
4、关闭防火墙
5、安装JDK,配置环境变量
先来看看我们的集群规划:
第一大步:
首先安装zookeeper集群
1.1解压
tar -zxvf zookeeper-3.4.5.tar.gz -C /hadoop/
1.2修改配置
cd /hadoop/zookeeper-3.4.5/conf/
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改数据存放的目录:
dataDir=/hadoop/zookeeper-3.4.5/tmp
在最后添加:
服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888
保存退出
然后创建一个tmp文件夹
mkdir /hadoop/zookeeper-3.4.5/tmp
再创建一个空文件
touch /hadoop/zookeeper-3.4.5/tmp/myid
最后向该文件写入ID,就是集群信息上的服务器编号
echo 1 > /hadoop/zookeeper-3.4.5/tmp/myid
1.3将配置好的zookeeper拷贝到其他节点
scp -r /hadoop/zookeeper-3.4.5/ hadoop02:/hadoop/
scp -r /hadoop/zookeeper-3.4.5/ hadoop03:/hadoop/
注意:修改hadoop02、hadoop03对应/hadoop/zookeeper-3.4.5/tmp/myid内容,
将其内容修改为对应ID
第二大步:
安装hadoop集群
2.1解压
tar -zxvf hadoop-2.2.0.tar.gz -C /hadoop/
2.2配置HDFS(hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop)
#将hadoop添加到环境变量中
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_55
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
2.2.1修改hadoo-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
2.2.2修改core-site.xml
2.2.3修改hdfs-site.xml
2.2.4修改mapred-site.xml
2.2.5修改yarn-site.xml
2.2.6修改slaves
(slaves是指定子节点的位置,因为要在namenode和resourcemanager都配置在hadoop01上,所以hadoop01上的slaves文件指定的是datanode和NodeManager的位置)
hadoop02
hadoop03
2.2.7配置免密码登陆
#首先要配置hadoop01到hadoop02,hadoop03的免密码登陆
#在hadoop01上生产一对钥匙
ssh-keygen -t rsa
#将公钥拷贝到其他节点,包括自己
ssh-coyp-id hadoop01
ssh-coyp-id hadoop02
ssh-coyp-id hadoop03
如果resourcemanager和namenode不在一个主机上,还需要配置RM到NM的免登陆
#注意:两个namenode之间要配置ssh免密码登陆,别忘了配置hadoop02到hadoop01的免登陆
在hadoop02上生产一对钥匙
ssh-keygen -t rsa
ssh-coyp-id -i hadoop01
2.4将配置好的hadoop拷贝到其他节点
scp -r /hadoop/hadoop-2.2.0/ root@hadoop02:/hadoop02/
scp -r /hadoop/hadoop-2.2.0/ root@hadoop03:/hadoop03/
严格按照以下步骤执行:
2.5启动zookeeper集群(分别在三台主机上启动)
cd /hadoop/zookeeper-3.4.5/bin/
./zkServer.sh start
#查看状态:一个leader,两个follower
./zkServer.sh status
2.6启动journalnode(在hadoop01上启动所有journalnode,注意:是调用的 hadoop-daemons.sh这个脚本,注意是复数s的那个脚本)
cd /hadoop/hadoop-2.2.0
sbin/hadoop-daemons.sh start journalnode
#运行jps命令检验,hadoop02、hadoop03上多了JournalNode进程
2.7格式化HDFS
#在hadoop01上执行命令:
hdfs namenode -format
#格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/hadoop/hadoop-2.2.0/tmp
#然后将/hadoop/hadoop-2.2.0/tmp拷贝到hadoop02的/hadoop/hadoop-2.2.0/下。
scp -r tmp/ hadoop02:/hadoop/hadoop-2.2.0/
2.8格式化ZK(在hadoop01上执行即可)
hdfs zkfc -formatZK
2.9启动HDFS(在hadoop01上执行)
sbin/start-dfs.sh
2.10启动YARN(在hadoop01上执行start-yarn.sh)
sbin/start-yarn.sh
验证HDFS HA
首先向hdfs上传一个文件
hadoop fs -put /etc/profile /profile
hadoop fs -ls /
然后再kill掉active的NameNode
kill -9 <pid of NN>
通过浏览器访问:http://192.168.1.202:50070
NameNode 'hadoop02:9000' (active)
这个时候hadoop02上的NameNode变成了active
在执行命令:
hadoop fs -ls /
-rw-r--r-- 3 root supergroup 1926 2014-02-06 15:36 /profile
刚才上传的文件依然存在!!!
手动启动那个挂掉的NameNode
sbin/hadoop-daemon.sh start namenode
通过浏览器访问:http://192.168.1.201:50070
NameNode ‘hadoop01:9000' (standby)
验证YARN:
运行一下hadoop提供的demo中的WordCount程序:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /profile /out
到这里,我们成功搭建集群!
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- hadoop集群搭建
- Hadoop集群的搭建
- Hadoop集群搭建
- Hadoop集群搭建
- 搭建hadoop集群
- Nutch+Hadoop集群搭建
- Hadoop集群搭建
- Hadoop集群搭建
- Hadoop环境搭建-集群
- 搭建hadoop集群
- 搭建hadoop集群
- Hadoop集群搭建
- Nutch+Hadoop集群搭建
- 如何搭建hadoop集群
- hadoop分布式集群搭建
- Hadoop集群搭建
- Maven项目中使用本地JAR包
- java乐观锁与悲观锁
- Nginx系列(六.nginx虚拟主机)
- IOS判断运营商网络类型2G/3G/4G/WIFI/是否有网络
- 单链表的实现
- Hadoop集群搭建
- IOS8下使用TestFlight进行Beta测试
- iOS-响应上下左右滑动手势
- JAVA 学习第5天(1)抽象类练习
- 第8周-项目1-复数类中的运算符重载(续)-++、--、>>、<<
- sqlite的数据导入 导出
- .VC获取EXCEL 表格的总行列数 新建文件
- ATS无法缓存QQ音乐的音频文件问题
- 2015编程之美资格赛-2月29日