Hadoop2 QJM集群
1. 环境
节点 (192.168.118.*) | Node1(ip:142) | Node2(ip:142) | Node3(ip:142) | Node4(ip:142) |
NameNode | 是 | 是 |
|
|
ResourceManage | 是 |
|
|
|
NodeManage |
| 是 | 是 | 是 |
DataNode |
| 是 | 是 | 是 |
JournalNode |
| 是 | 是 | 是 |
Zookeeper | 是 | 是 | 是 |
|
ZKFC | 是 | 是 |
|
|
注意事项:
1. 关闭防火墙,保证各个节点的端口没有问题
2. 配置ssh连接,忽略密码登陆
#所有节点中执行该代码
$ ssh-keygen -t dsa -P '' -f~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
#将NameNode的id_dsa.pub复制到所有其他节点中,并且附加公钥
$ cat ~ /id_dsa.pub >>~/.ssh/authorized_keys
#保证namenode接节点能无密码登陆所有节点
3. 搭建zookeeper集群
3.1 解压zookeepe
tar -zxvfzookeeper-3.4.6.tar.gz
/root/soft/zookeeper-3.4.6
3.2 配置zoo.cfg
#修改目录
dataDir=/opt/zk_data_dir
#添加集群
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
3.3 添加节点id(node2与node3都执行以下操作)
#创建数据目录,在该目录下创建myid文件
mkdir/opt/zk_data_dir
#值为节点id,例如:node1则为1,node2则为2…
3.4 复制zookeeper到node2、node3上
scp -r soft/zookeeper-3.4.6 root@node2:~/soft/zookeeper-3.4.6
3.5创建软连接到zookeeper_home,
#node1、node2、node3中添加
ln -sf ~/soft/zookeeper-3.4.6 ~/zk
3.6 并且配置zookeeper环境变量
#node1、node2、node3中添加
#编辑/etc/profile,添加
PATH=$PATH:/root/zk/bin
export PATH
3.7 所有节点启动zookeeper
zkServer.shstart
4. 搭建Hadoop HA集群
注意事项:
1.官方下载的hadoop编译后的二进制包是32位的,所以如果要在64位系统中安装,需要下载源码在64位系统中编译
4.1 解压hadoop压缩包
#复制hadoop包到所有节点中
scp -p hadoop-2.5.1_x64.tar.gz root@node2:~/soft/
#解压
tar -zxvf hadoop-2.5.1_x64.tar.gz
4.2 配置软连接
ln -fs~/soft/hadoop-2.5.1 ~/Hadoop
4.3 配置NameNodes HA
#配置JAVA_HOME
编辑hadoop-env.sh
编辑hdfs-site.xml
#配置HA的集群名称、以及namenode节点名称
#配置namenode节点
#配置访问namenode的http地址
#配置JournalNode读写edits的URI
#配置hdfs客户端访问时,确认活跃的NameNode的JAVA类
#配置ssh的私钥文件地址,是由ZKFC来自动切换活动节点使用
#配置journalname的edits文件存放的位置
#配置启用namenode故障后,自动切换
设置dfs副本数
编辑core-site.xml
设置hadoop工作目录
设置访问namenode的地址为集群地址
zookeeper的节点
4.4 设置DataNode
编辑slaves
4.5 复制node1的配置文件到其他节点上
scp -p ~/hadoop/etc/hadoop/*root@node4:~/hadoop/etc/hadoop/
4.6 启动journalnode
#启动三个journalnode
./sbin/hadoop-daemon.sh start journalnode
4.7 格式化hdfs(必须先启动journalnode)
#在任意一台namenode上格式化
./bin/hdfs namenode –format
#启动这台namenode
./hadoop-daemon.sh start namenode
#在未格式化的namenode上执行
./bin/hdfs namenode –bootstrapStandby
#停止namenode
4.7 初始化HA的zookeeper状态
./bin/hdfs zkfc –formatZK
5. 搭建MapperReducer
5.1配置mapred-site.xml
#指定使用yarn
5.2 配置yarn-site.xml
6. 启动集群
./start-all.sh
访问namenode:http://node1:50070/
访问mapreduce:http://node1:8088/