1.部署
搭建方案(no_HA):
project |
hadoop |
hadoop |
Hbase |
zookeeper |
主机 |
||||
master1 |
Namenode |
datanode(NM) |
HMaster HRegionServer |
zk |
slave1 |
SNM,JHS |
datanode(NM) |
HMaster HRegionServer |
zk |
slave2 |
RM |
datanode(NM) |
HRegionServer |
zk |
2.LINUX基础环境搭建
(1) JDK
安装JDK(jdk-7u40-linux-i586.tar.gz);(此步骤所有机子都要做)
部署目录 /opt/ jdk1.7.0_45
配置环境变量
(1) vi/etc/profile.d/java.sh (编辑文件)
(2) 添加
#set java environment
export JAVA_HOME=/opt/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
(3) 验证是否安装成功:java –version
(2) hosts
修改hosts
(此步骤所有机子都要做)
vi /etc/hosts
修改为:ip自定义
192.168.1.101 master1
192.168.1.102 slave1
192.168.1.103 slave2
(3) hostname
修改hostname(此步骤所有机子都要做)
vi/etc/sysconfig/network
修改为:
NETWORKING=yes
HOSTNAME=master1(slave1,slave2)
(4) ssh
配置ssh访问(看说明)
1)在(master1)当前用户(hadoop)主目录下执行
(1)$ ssh-keygen-t rsa
(2)cat.ssh/id_rsa.pub >> .ssh/authorized_keys
(3)chmod700 .ssh
(4)chmod644 .ssh/authorized_keys
2)master1到slave1,slave2机器的SSH无密码登录
接下来把authorized_keys复制到的slave1,slave2上。
scp~/.ssh/authorized_keys 远程用户名@远程服务器IP:~/
现在是master1可以无密码访问slave1,slave2.
要想实现任意两台机器互访,就在每台机器上都生成id_rsa和id_rsa.pub,然后把每台机器的公钥都添加进authorized_keys,然后把authorized_keys分发到所有机器上。
(5) 防火墙和selinux
关闭机器的防火墙和selinux(此步骤所有机子都要做)
关闭防火墙:
#/etc/init.d/iptables stop #关闭防火墙。
#chkconfig iptables off #关闭开机启动。
关闭selinux:
vi/etc/selinux/config,
把SELINUX=enforcing改成SELINUX=disable;需要重启机器
(6) 时间一致
授时服务(此步骤所有机子都要做)
配置时间同步
crontab-e
/usr/sbin/ntpdatecn.pool.ntp.org
手动同步时间
/usr/sbin/ntpdatecn.pool.ntp.org
(7)用户和本地目录
创建用户账号和Hadoop部署目录和数据目录(此步骤所有机子都要做)
#创建hadoop 用户
/usr/sbin/groupaddhadoop
#分配hadoop 到 hadoop组中
/usr/sbin/useraddhadoop -g hadoop
#创建hadoop,hbase,zookeepr部署目录
opt/hadoop-2.2.0
opt/hbase-0.96.0-hadoop2
opt/zookeeper-3.4.5
#修改目录结构权限为为hadoop
#本地文件系统涉及到的目录
mkdir -p /data/tmp_hadoop /data/hdfs/dn /data/hdfs/nn
/data/log/hadoop-hdfs /data/log/hadoop-yarn /data/log/hadoop-mapred
/data/yarn/local /data/yarn/logs
mkdir -p
/data/zookeeper/data/data/zookeeper/datalog
/data/tmp_hbase
/data/hbase
/data/journal
3.zookeeper集群安装
(1)部署
部署3个节点的 ZooKeeper,分别部署在master1、slave1、slave2三台机器上。ZooKeeper 部署的节点数为奇数个。
每个 ZooKeeper节点:
部署目录:/opt/zookeeper-3.4.5
创建目录
mkdir –p/data/zookeeper/data
mkdir –p/data/zookeeper/datalog
(2)环境变量
vi/etc/profile.d/zookeeper.sh
添加
#set zookeeper environment
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export ZOO_LOG_DIR=/data/zookeeper/datalog
(3)zoo.cfg
#编辑zookeeper-3.4.5 /conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir= /data/zookeeper/data
dataLogDir=/data/zookeeper/datalog
clientPort=2181
server.1=master1: