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