共计 5540 个字符,预计需要花费 14 分钟才能阅读完成。
Hadoop2.6+HA+Zookeeper3.4.6+HBase1.0.0 集群安装过程详细记录。
安装 hadoop2.6+HA
1. 准备一台 CentOS6.4 系统
2. 环境 CentOS6.4 共 5 台
机器名 ip 地址 安装软件 运行进程
master1 192.168.3.141 hadoop、Zookeeper、hbase NN、RM、DFSZKFC、journalNode、HMaster、QuorumPeerMain
master2 192.168.3.142 hadoop、Zookeeper、hbase NN、RM、DFSZKFC、journalNode、HRegionServer、QuorumPeerMain
slave1 192.168.3.143 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain
slave2 192.168.3.144 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain
slave3 192.168.3.145 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain
3. 此时我们先对第一台机器做修改,其他的后期克隆该机器即可
4. 修改 /etc/hosts 文件
修改 /etc/sysconfig/network
5. 重启机器
或者
临时修改 hostname
6. 安装 JDK
将 JDK 解压
编辑 /etc/profile 添加 jdk 路径
保存退出
修改 CentOS 里的 java 优先级
此时 JDK 已经安装完成
7. 解压 hadoop 并修改环境变量
8. 修改配置文件
8.1 修改 $HADOOP_HOME/etc/hadoop/slaves 文件
加入所有 slave 节点的 hostname
8.2 修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 文件
修改 JAVA_HOME 路径
8.3 修改 $HADOOP_HOME/etc/hadoop/yarn-env.sh 文件
修改 JAVA_HOME 路径
8.4 修改 HADOOP H OME/etc/hadoop/core−site.xml 文件详见附件 8.5 修改 HADOOP_HOME/etc/hadoop/hdfs-site.xml 文件
详见附件
8.6 修改 HADOOP H OME/etc/hadoop/mapred−site.xml 文件详见附件 8.7 修改 HADOOP_HOME/etc/hadoop/yarn-site.xml 文件
详见附件(yarn.resourcemanager.ha.id 的属性值在 master2 机器中需要更改为 rm2)
8.8 添加 $HADOOP_HOME/etc/hadoop/fairscheduler.xml 文件
详见附件
8.9 创建相关文件夹
根据 xml 配置文件,建立相应的文件夹
此时 Hadoop+HA 配置文件已经配好,就差 ssh 免密码登录 + 格式化 Hadoop 系统。
等我们装完所有软件(Zookeeper+hbase),克隆机器后再进行 ssh 免密码登录及 Hadoop 格式化。克隆后还需要更改每个节点的 /etc/sysconfig/network 中的 hostname,以及更改 master2 中 $HADOOP_HOME/etc/hadoop/yarn-site.xml 文件的 yarn.resourcemanager.ha.id 属性值为 rm2
安装 Zookeeper3.4.6
1. 解压 Zookeeper
2.Zookeeper 环境变量的配置
添加 Zookeeper 的路径
3. 更改配置文件
将 conf/zoo_sample.cfg 改成 conf/zoo.cfg
然后对 zoo.cfg 进行更改
4. 在 DataDir 路径下创建 myid 文件
根据配置文件的 dataLogDir 路径
创建 /soft/zookeeper-3.4.6/var/datalog 文件夹
创建 /soft/zookeeper-3.4.6/var 文件夹
再创建 /soft/zookeeper-3.4.6/var/data 文件夹
再创建 /soft/zookeeper-3.4.6/var/data/myid 文件
向其中输入数字 1(对应 zoo.cfg 文件 server 后的数字)
其他节点在克隆后应根据 zoo.cfg 中对应的值进行更改
安装 Hbase1.0.0
1. 修改本机配置
2. 修改配置文件
conf/hbase-site.xml 详见附件(注意 hbase.rootdir 的值 用 ip 地址表示)
根据 conf/hbase-site.xml 中 hbase.tmp.dir 值来创建文件夹
3. 创建连接
4. 编辑 regionserver 文件
5. 覆盖 hbase 中 lib 文件夹下 hadoop*.jar 文件
(由于后期安装 hbase 出错,我把所有的 hadoop 下的 jar 包都导到 hbase/lib 下了)
如果 hbase 下的 lib 文件夹中的 zookeeper 的 jar 包与 Zookeeper 中的 jar 包也不符,那么也需要替换。
至此 hbase 也安装完了,克隆后需要做的是将集群节点的时间进行统一。
克隆机器
1. 此时机器克隆 4 份。
分别更改其 ip 地址。图形界面更改 ip 操作详情见附件。
2.ssh 免密码登录
2.1 更改 /etc/sysconfig/network 文件
2.2 生成密钥
一路回车即可
2.3 复制到公共密钥中
2.4 将该机器的公共密钥远程复制到想远程登录的机器中
在提示中输入 yes、密码
2.5 配置双向 ssh 登录。
此时 master1 已经可以通过 ssh 登录其他机器了,接下来我们配置所有机器相互无密码登录。
我们那其中一台机器 slave3 举例,其他机器 (master2 slave1 slave2) 都执行此操作, 这里我们就不一一写明。
把 slave3 密钥传到其他所有机器上。
根据提示,输入 yes、密码
在每一台机器上(master2 slave1 slave2 slave3),对其他所有机器都执行此操作。
然后在其他机器上将密钥追加到公钥文件末尾。
此时就可以双向无密钥登录了。
我们可以查看 /root/.ssh/authorized_keys 文件,就能发现每台机器的密钥。
3. 更改 hadoop 配置文件
更改 master2 中 $HADOOP_HOME/etc/hadoop/yarn-site.xml 文件中:
Yarn.resourcemanager.ha.id 的属性值为 rm2
4. 更改 Zookeeper 文件
更改 $ZOOKEEPER_HOME/var/data/myid 文件
相应的值根据 $ZOOKEEPER_HOME/conf/zoo.cfg 中的 id 来更改
5. 同步时间
首先我们确立 master1 为时间服务器,我们通过配置使其他节点自行与 master1 进行时间同步。
5.1 对 master1 时间服务器进行操作:
检查时间服务是否安装
更改相关配置文件
启动服务
检查 master1 是否和自己同步完成
5.2 其他机器相对于 master1 进行时间同步
当 master1 的时间服务器启动 3 - 5 分钟后,我们对其他节点进行与 master1 的时间同步。
更改 /etc/ntp.conf 文件配置
将 master2 的 /etc/ntp.conf 发送到其他的机器中
在其他��点将时间服务开启
5.3 时间服务设置为开机启动
分别在 master1 master2 slave1 slave2 slave3 执行该命令
5.4 在时间服务器上开放端口
根据 ip 地址来输入命令
第一次部署 + 启动 hadoop+zookeeper+hbase
刚刚安装完 hadoop 需要部署,再启动。以下是第一次所需的执行,以后再启动就不需要在这么做了。
1. 启动 Zookeeper
分别在每个机器上运行命令 zkServer.sh start 或者在 $ZOOKEEPER_HOME/bin 目录下运行./zkServer.sh start 命令。然后可以通过命令 jps 来查看 Zookeeper 启动的进程 QuorumPeerMain。
可通过 zkServer.sh status 命令来查看 Zookeeper 状态。正常是机器中只有一个 leader,其他的都是 follow
2. 格式化 ZooKeeper 集群
目的是在 ZooKeeper 集群上建立 HA 的相应节点。
在 master1 机器上执行命令
他会根据 $HADOOP_HOME/etc/hadoop/core-site.xml 文件中 ha.zookeeper.quorum 的值来进行初始化。
3. 启动 journalnode 进程
在 master1 节点上执行
或者在每台机器上执行
slave1 slave2 slave3
推荐第二种方法,第一种方法 master1 和 master2 的 journalnode 无法启动
启动后在所有节点上多出 JournalNode 进程
4. 格式化 namenode
在 master1 上执行命令
会在 mydata 文件下创建一些文件夹及文件(name 或者 data 以及 journal)
5. 启动 namenode
在 master1 上执行命令
在 master1 上多出进程 NameNode
6. 将刚才格式化的 namenode 信息同步到备用 namenode 上
在 master2 机器上执行命令
7. 在 master2 上启动 namenode
在 master2 上多出进程 NameNode
8. 启动所有 datanode
在 master1 上执行命令
执行后在 datanode 节点上显示的进程 datanode
9. 启动 yarn
在 master1 上执行命令
在 master1 上多出 ResourceManager 进程,在 slave1 slave2 slave3 上多出 NodeManager 进程
10. 启动 ZKFC
在 master1 和 master2 上启动 zkfc
11.Hadoop 启动成功
下图是两个启动后的 master 节点
12. 启动 hbase
在 master1 上执行命令
第 n 次启动
1. 对于 HA,要先启动 Zookeeper
zkServer.sh start (每个节点)
2. 启动 hadoop
start-dfs.sh start-yarn.sh (master1 节点)
3. 启动 hbase
start-hbase.sh (master1 节点)
后续待解决问题
希望大神能帮我指点一二。。。。
问题一: 对于 HA 框架,hbase-site.xml 如何根据当前 active 的 master 来配置?
问题二: 服务全部停止后重启,hbase 显示无法启动。不知为何。我只能全部清空格式化 hadoop。
步骤:
1. 删除 hadoop/mydata 下的所有文件夹 再新建 yarn 文件夹
2. 删除 hadoop/log 文件夹下的所有文件
3. 删除 zookeeper/var/data 下的除了 myid 的所有文件
4. 删除 Zookeeper/var/datalog 下的所有文件夹
5. 删除 hbase 下的 file: 文件
6. 删除 hbase 下的 logs 下的所有文件
7. 重新格式化 hadoop
本文要用到的所有附件下载地址:
—————————————— 分割线 ——————————————
FTP 地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2015 年 LinuxIDC.com\8 月 \Hadoop2.6+HA+Zookeeper3.4.6+HBase1.0.0 集群安装
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
—————————————— 分割线 ——————————————
Hadoop2.5.2+HA+Zookeeper3.4.6 配置过程详解 http://www.linuxidc.com/Linux/2015-08/121349.htm
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121397.htm