1.修改Linux主机名
2.修改IP
3.修改主机名和IP的映射关系
注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等)
/etc/hosts里面要配置的是内网IP地址和主机名的映射关系
4.关闭防火墙
5.ssh免登陆
6.安装JDK,配置环境变量等
集群规划:
主机名 | IP | 安装的软件 | 运行的进程 |
---|---|---|---|
service1 | 192.168.3.201 | jdk、hadoop、zookeeper | NameNode、DFSZKFailoverController(zkfc)、ResourceManager、QuorumPeerMain |
service2 | 192.168.3.202 | jdk、hadoop、zookeeper | JournalNode、DataNode、QuorumPeerMain |
service3 | 192.168.3.203 | jdk、hadoop、zookeeper | JournalNode、DataNode、QuorumPeerMain |
service4 | 192.168.3.204 | jdk、hadoop | JournalNode、DataNode |
service6 | 192.168.3.206 | jdk、hadoop、zookeeper | NameNode、DFSZKFailoverController(zkfc)、ResourceManager |
说明:
1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。
hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode
这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态
2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调
安装步骤:
1.安装配置zooekeeper集群(在service1上)
1.1解压
[root@service1 local]#tar -zxvf zookeeper-3.4.6.tar.g-C /zdq/
[root@service1 local]#mv zookeeper-3.4.6/ zookeeper
1.2修改配置
[root@service1 local]#cd /zdq/zookeeper/conf/
[root@service1 local]#cp zoo_sample.cfg zoo.cfg
[root@service1 local]#vim zoo.cfg
修改:
dataDir=/zdq/temp/zookeeper/zookeeper/zkData
在最后添加:
server.1=service1:2888:3888
server.2=service2:2888:3888
server.3=service3:2888:3888
保存退出
然后创建一个tmp文件夹
[root@service1 local]#mkdir /zdq/zookeeper/zkData
再创建一个空文件
[root@service1 local]#touch /zdq/zookeeper/zkData/myid
最后向该文件写入ID
[root@service1 local]#echo 1 > /zdq/zookeeper/zkData/myid
1.3将配置好的zookeeper拷贝到其他节点(首先分别在service2、service3根目录:/zdq/)
[root@service1 local]#scp -r /zdq/zookeeper/ service2:/zdq/
[root@service1 local]#scp -r /zdq/zookeeper/ service3:/zdq/
注意:修改service2、service3对应/zdq/zookeeper/zkData/myid内容
service2:
[root@service1 local]#echo 2 > /zdq/zookeeper/zkData/myid
service3:
[root@service1 local]#echo 3 > /zdq/zookeeper/zkData/myid
2.安装配置hadoop集群(在service1上操作)
2.1解压
[root@service1 local]#tar -zxvf hadoop-2.7.4.tar.gz -C /zdq/
2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目录下)
将hadoop添加到环境变量中
[root@service1 local]#vim /etc/profile
export JAVA_HOME=/zdq/jdk1.8
export HADOOP_HOME=/zdq/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
[root@service1 local]#cd /zdq/hadoop-2.