hadoop-ha-qjm+hbase部署手册
- 格式:doc
- 大小:56.00 KB
- 文档页数:7
Hadoop+Zookeeper+HBase安装指南RUC DB-IIR 卞昊穹/bhq2010bianhaoqiong@2012.07.28-Version1集群情况:4个节点,IP分别为:node0: 192.168.181.136(NameNode/JobTracker/SecondaryNameNode/HMaster)node1: 192.168.181.132(DataNode/TaskTracker/HRegionServer/QuorumPeerMain)node2: 192.168.181.133(DataNode/TaskTracker/HRegionServer/QuorumPeerMain)node3: 192.168.181.134(DataNode/TaskTracker/HRegionServer/QuorumPeerMain)软件版本:CentOS Linux 6.2 x86_64(2.6.32)OpenJDK-1.6.0_24Hadoop-1.0.2Zookeeper-3.4.3HBase-0.94.0目录1. hosts和hostname设置 (2)2. SSH设置 (2)3. Hadoop配置安装 (3)4. Zookeeper配置安装 (5)5. HBase配置安装 (6)1. hosts和hostname设置安装分布式的Hadoop和HBase集群需要在每一个节点上都设置网络中的hosts和本机的hostname。
首先将/etc/hosts文件中127.0.0.1这一行的中间一段改为本机的主机名,并在文件末尾添加hosts配置,每行为一个ip地址和对应的主机名,以空格分隔。
以node0为例,修改后的hosts 文件如下:再将/etc/sysconfig/network文件中HOSTNAME=一行中“=”之后内容改为主机名,如:2. SSH设置之后,在node0生成ssh公钥,添加到node1/2/3的~/.ssh/authorized_keys文件中以实现node0无密码登录node1/2/3,参考:/bhq2010/article/details/6845985此处node0是ssh客户端,node1/2/3是ssh服务器端。
Hadoop学习之Hbase安装安装需注意:1、安装环境:Centos6.6 64位,2G内存(在虚拟机下安装Centos系统)。
Jdk版本:1.7.0_71Hadoop版本:2.5.1Hbase版本:0.98.72、Hadoop环境:节点名用户名IP地址master gznc 192.168.1.100slave01 gznc 192.168.1.101slave02 gznc 192.168.1.1021、把下载好的Hbase安转包上传或者移动到主节点的gznc目录下。
2、解压Hbase的安装包,命令如下:3、配置Hbase环境变量(备注:slave01(节点)也要配置),命令如下:在末尾添加以下代码:4、使环境变量生效,命令如下:5、进入Hbase安装目录下的conf文件夹,命令如下:6、配置hbase-env.sh文件,命令如下:找到JAVA_HOME和HBASE_CLASSPATH和HBASE_MANAGES_ZK配置选项,先把前面的“#”号去掉,在“=”号后添加以下代码:jdk安转目录:Hbase安装路径:使用自带的zookeeper的管理集群:7、配置hbase-site.xml文件,命令如下:添加以下代码:8、配置节点列表:删掉localhost,更改为自己的电脑的节点的主机名(hostname),有几个节点就填写几个,一个节点名独占一行(备注:如果不知道主机名,可以打开终端输入“hostname”,就可以查看)。
如下图:9、在主节点(master)为从节点(slave01)配置HMaster的备用节点,backup-masters文件本身不存在,命令执行完成后会自动生成:添加以下类容:10、把主节点hbase文件复制到从节点,命令如下:11、启动hbase,输入jps查看各个进程的情况,命令如下:启动hbase:查看主节点进程:从节点进程:12、进入hbase(在hbase安装目录的bin目录下输入“habse shell”):13、输入“help”查看hbase提供的功能:14、查看hbaseRegionserver运行状态,命令如下:15、查看当前用户:16、Enjoy!如需转载,请注明出处。
⼤数据学习笔记——Hbase⾼可⽤+完全分布式完整部署教程Hbase⾼可⽤+完全分布式完整部署教程本篇博客承接上⼀篇sqoop的部署教程,将会详细介绍完全分布式并且是⾼可⽤模式下的Hbase的部署流程,废话不多说,我们直接开始!1. 安装准备部署Hbase时,我们使⽤的版本为1.2.82. 正式安装1. 将hbase-1.2.8-bin.tar.gz⽂件使⽤远程传输软件放到s101的/home/centos/downloads下2. 将hbase-1.2.8-bin.tar.gz解压缩⾄/soft下tar -xzvf /home/centos/downloads/hbase-1.2.8-bin.tar.gz -C /soft3. 进⼊/soft⽬录,建⽴hbase的符号链接cd /softln -s hbase-1.2.8 hbase4. 修改并⽣效环境变量nano /etc/profile在⽂件末尾添加以下代码:#hbase环境变量export HBASE_HOME=/soft/hbaseexport PATH=PATH:HBASE_HOME/bin⽣效环境变量后保存退出source /etc/profile5. 分发hbase以及hbase的符号链接到其他所有的节点xsync.sh /soft/hbase-1.2.8然后在其他每个节点上输⼊命令:cd /softln -s hbase-1.2.8 hbase6. 同步环境变量xsync.sh /etc/profile然后在每个节点上⽣效环境变量:xcall.sh source /etc/profile7. 先只在s101节点上修改配置⽂件regionservers,类似于部署Hadoop时修改的slaves⽂件nano /soft/hbase/conf/regionservers添加以下代码:s102s103s1048. 在s101上修改配置⽂件hbase-env.shnano /soft/hbase/conf/hbase-env.sh因为HBase⾃带的就有zookeeper,因此我们需要将下⾯这个设置成false,从⽽可以使⽤我们⾃⼰的zookeeper配置修改:export HBASE_MANAGES_ZK=falseexport JAVA_HOME=/soft/jdk9. 在s101上修改配置⽂件hbase-site.xmlnano /soft/hbase/conf/hbase-site.xml添加以下配置即可:<configuration><!-- 启动hbase分布式 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- hbase⼯作⽬录 --><property><name>hbase.rootdir</name><value>hdfs://mycluster/user/hbase</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/home/centos/zk</value></property><property><name>hbase.zookeeper.quorum</name><value>s102:2181,s103:2181,s104:2181</value></property></configuration>10. 在s101上将hadoop配置⽂件core-site.xml和hdfs-site.xml放置在/soft/hbase/conf下cp /soft/hadoop/etc/hadoop/core-site.xml /soft/hbase/conf/cp /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/11. s101上的配置⽂件均已配置完毕,现在进⾏同步xsync.sh /soft/hbase/conf/12. ⾼可⽤配置:在/soft/hbase/conf/下添加backup-masters⽂件nano /soft/hbase/conf/backup-masters添加:s10513. 全部配置完毕,启动hbase由于hbase是架构在HDFS⽂件系统上的,因此需要先启动zookeeper和HDFSxzk.sh startstart-dfs.sh最后再启动hbase:start-hbase.sh14. 验证启动是否成功hbase version,出现下⾯的画⾯:查看WebUI:s101:16010,发现Master和备份Master还有Region Servers都已经启动,配置⼤功告成Processing math: 0%。
Hadoop、Zookeeper、Hbase、Hive集群安装配置手册运行环境机器配置虚机CPU E5504*2 (4核心)、内存 4G、硬盘25G进程说明QuorumPeerMain ZooKeeper ensemble member DFSZKFailoverController Hadoop HA进程,维持NameNode高可用 JournalNode Hadoop HA进程,JournalNode存储EditLog,每次写数据操作有大多数(>=N+1)返回成功时即认为该次写成功,保证数据高可用 NameNode Hadoop HDFS进程,名字节点DataNode HadoopHDFS进程, serves blocks NodeManager Hadoop YARN进程,负责 Container 状态的维护,并向 RM 保持心跳。
ResourceManager Hadoop YARN进程,资源管理 JobTracker Hadoop MR1进程,管理哪些程序应该跑在哪些机器上,需要管理所有 job 失败、重启等操作。
TaskTracker Hadoop MR1进程,manages the local Childs RunJar Hive进程HMaster HBase主节点HRegionServer HBase RegionServer, serves regions JobHistoryServer 可以通过该服务查看已经运行完的mapreduce作业记录应用 服务进程 主机/hostname 系统版本mysql mysqld10.12.34.14/ Centos5.810.12.34.15/h15 Centos5.8 HadoopZookeeperHbaseHiveQuorumPeerMainDFSZKFailoverControllerNameNodeNodeManagerRunJarHMasterJournalNodeJobHistoryServerResourceManagerDataNodeHRegionServer10.12.34.16/h16 Centos5.8 HadoopZookeeperHbaseHiveDFSZKFailoverControllerQuorumPeerMainHMasterJournalNodeNameNodeResourceManagerDataNodeHRegionServerNodeManager10.12.34.17/h17 Centos5.8 HadoopZookeeperHbaseHiveNodeManagerDataNodeQuorumPeerMainJournalNodeHRegionServer环境准备1.关闭防火墙15、16、17主机:# service iptables stop2.配置主机名a) 15、16、17主机:# vi /etc/hosts添加如下内容:10.12.34.15 h1510.12.34.16 h1610.12.34.17 h17b) 立即生效15主机:# /bin/hostname h1516主机:# /bin/hostname h1617主机:# /bin/hostname h173. 创建用户15、16、17主机:# useraddhduser密码为hduser# chown -R hduser:hduser /usr/local/4.配置SSH无密码登录a)修改SSH配置文件15、16、17主机:# vi /etc/ssh/sshd_config打开以下注释内容:#RSAAuthentication yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keysb)重启SSHD服务15、16、17主机:# service sshd restartc)切换用户15、16、17主机:# su hduserd)生成证书公私钥15、16、17主机:$ ssh‐keygen ‐t rsae)拷贝公钥到文件(先把各主机上生成的SSHD公钥拷贝到15上的authorized_keys文件,再把包含所有主机的SSHD公钥文件authorized_keys拷贝到其它主机上)15主机:$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys16主机:$cat ~/.ssh/id_rsa.pub | ssh hduser@h15 'cat >> ~/.ssh/authorized_keys'17主机:$cat ~/.ssh/id_rsa.pub | ssh hduser@h15 'cat >> ~/.ssh/authorized_keys'15主机:# cat ~/.ssh/authorized_keys | ssh hduser@h16 'cat >> ~/.ssh/authorized_keys'# cat ~/.ssh/authorized_keys | ssh hduser@h17 'cat >> ~/.ssh/authorized_keys'5.Mysqla) Host10.12.34.14:3306b) username、passwordhduser@hduserZookeeper使用hduser用户# su hduser安装(在15主机上)1.下载/apache/zookeeper/2.解压缩$ tar ‐zxvf /zookeeper‐3.4.6.tar.gz ‐C /usr/local/配置(在15主机上)1.将zoo_sample.cfg重命名为zoo.cfg$ mv /usr/local/zookeeper‐3.4.6/conf/zoo_sample.cfg /usr/local/zookeeper‐3.4.6/conf/zoo.cfg2.编辑配置文件$ vi /usr/local/zookeeper‐3.4.6/conf/zoo.cfga)修改数据目录dataDir=/tmp/zookeeper修改为dataDir=/usr/local/zookeeper‐3.4.6/datab)配置server添加如下内容:server.1=h15:2888:3888server.2=h16:2888:3888server.3=h17:2888:3888server.X=A:B:C说明:X:表示这是第几号serverA:该server hostname/所在IP地址B:该server和集群中的leader交换消息时所使用的端口C:配置选举leader时所使用的端口3.创建数据目录$ mkdir /usr/local/zookeeper‐3.4.6/data4.创建、编辑文件$ vi /usr/local/zookeeper‐3.4.6/data/myid添加内容(与zoo.cfg中server号码对应):1在16、17主机上安装、配置1.拷贝目录$ scp ‐r /usr/local/zookeeper‐3.4.6/ hduser@10.12.34.16:/usr/local/$ scp ‐r /usr/local/zookeeper‐3.4.6/ hduser@10.12.34.17:/usr/local/2.修改myida)16主机$ vi /usr/local/zookeeper‐3.4.6/data/myid1 修改为2b)17主机$ vi /usr/local/zookeeper‐3.4.6/data/myid1修改为3启动$ cd /usr/local/zookeeper‐3.4.6/$./bin/zkServer.sh start查看状态:$./bin/zkServer.sh statusHadoop使用hduser用户# su hduser安装(在15主机上)一、安装Hadoop1.下载/apache/hadoop/common/2.解压缩$ tar ‐zxvf /hadoop‐2.4.0.tar.gz ‐C /usr/local/二、 编译本地库,主机必须可以访问internet。
云计算实验——Hadoop和Hbase的安装使用作者:中国云计算论坛云计算_龙竹(aiken)E-mail:brucexu1988@ 欢迎访问中国云计算:1 准备工作1.1 安装VMware(网上可以下载,按照步骤一步一步地安装即可);1.2 安装SSH secure client1.3 在虚拟机中启动打开Hadoop虚拟机文件,修改IP地址和Hostname,具体方法如下:(1)在Linux操作系统启动后,右击鼠标,打开终端“open terminal”;(2)配置ip地址,输入指令:“gedit /etc/sysconfig/network-scripts/ifcfg-eth0”;(3)按“回车键”,进入配置Ip的窗口。
(4)修改BOOTPRO,“BOOTPRO=static”;(5)设置ip地址:“IPADDR=192.168.10.152”(根据自己的需要配置);(6)保存(ctrl+s),退出;(7)配置Hostname,输入指令“gedit /etc/sysconfig/network”;(8)按“回车键”,进入配置Hostname的窗口。
(9)将Hostname修改为“sev152”(根据自己的需要配置);(10)保存(ctrl+s),退出;(11)重启:输入指令“reboot”。
1.4检查IP和Hostname是否配置完好(1)重新启动后,右击鼠标,打开终端“open terminal”;(2)检查IP ,输入指令:“ip addr show”;如图1.1所示显示,ip地址已经被修改。
图1 .1 IP地址检查(3)检查Hostname ,使用指令“ping sev152”(sev152是刚刚自己配置的主机名);如图1.2所示,主机名修改无误。
图1.2 检查Hostname(4)按“ctrl+c”快捷键,退出“ping”;2 安装SSH打开SSH Secure Shell,点击“Quick Connect”,会跳出如图2.1所示的窗口,在Host Name 中输入刚刚所配置的Ip地址:“192.168.10.152”,然后单击“connect”。
Hadoop的安装部署与配置文档撰写:田俊组名:Coding on Cloud组员:张传强(CEO)田俊(CTO)施伟(Project Manager)刘孟涛(System Architect)于廷照(Advanced Programmer)Hadoop分布式安装与部署任务总览一、实验环境准备本机配置CPU:Intel Core i5-3317,1.7GHzMemory:8GOS:WIN8VMware及Ubuntu12.04VMware的安装略。
先安装一个虚拟机(本实验安装的是Ubuntu12.04LST64bit)JDK安装JDK下载/technetwork/java/javase/downloads/jdk7-d ownloads-1880260.html提升管理员权限、解压:编辑/ect/profile配置JDK环境变量在/etc/profile文件中添加以下内容测试配置是否正确Hadoop安装下载/apache/hadoop/common/我下载的是1.2.1版本,解压下载的hadoop到/opt目录下在/etc/profile添加让配置文件生效:然后在hadoop-env.sh中配置好java的目录编辑/conf下的core-site.xml在这里添加了一个hadoop.tmp.dir变量,主要是默认的hadoop目录是个tmp文件,容易被系统删除,所以重新指定了一个目录,然后在terminal下新建该目录并赋予完全访问权限。
mkdir/home/tianjun/hadoopchown777/home/tianjun/hadoop然后再编辑hdfs-site.xml保存后再编辑mapred-site.xml最后需要做的是在hadoop安装目录下添加logs文件夹并赋予完全访问权(不然后面有点麻烦)主要命令是sudo mkdir/opt/hadoop/logschown777/opt/hadoop/logs然后就可以看到以下()至此在单个机器上的环境已配置好。
Hadoop、ZooKeeper及HBase的安装配置过程(绝对可用)这两天正在为公司配置一个Hadoop集群(以及HBase),作为存储及计算海量数据的平台。
现在将安装的过程贴出来,仅供参考。
Hadoop的配置∙集群的物理配置情况集群IP: 172.16.38.213 ~ 172.16.38.218(hostname分别为master、slave0、slave1、slave2、slave3、slave4)用户名/密码:root/123456其中,master作为jobtracker和namenode,其余节点作为tasktracker和datanode∙节点角色分配修改每个节点的 /etc/hosts文件,追加如下内容172.16.38.213 master172.16.38.214 slave0172.16.38.215 slave1172.16.38.216 slave2172.16.38.217 slave3172.16.38.218 slave4再修改每个节点自己的hostname,如对于master,将其/etc/sysconfig/network文件改为 NETWORKING=yesHOSTNAME=master然后,运行hostname master退出,再进入输入env | grep hostname发现修改生效∙为每个节点设置无密码ssh登录1、在master节点上运行ssh-keygen–t rsa2、在master节点上,首先cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys启动Hadoop在master节点的/home/LTE/hadoop-1.1.2目录下进行HDFS的格式化bin/hadoopnamenode –format格式化后,HDFS中的内容会全部丢失然后,开启Hadoop集群bin/start-all.sh此时,Hadoop集群已经启动,可以提交运算的作业了。
Hbase的安装和部署本篇主要讲解hbase的完全分布式的安装,⾄于伪分布和单机就很简单了。
安装步骤:1.⾸先到官⽹下载适合hadoop版本的hbase,本章使⽤2.0.1版本。
下载地址/apache/hbase/2.下载完毕后,利⽤Xftp上传到相应的⽬录,解压也可以⽤“-C 路径”,来指定解压到的⽬录tar -zxf hbase-2.0.1-hadoop1-bin.tar.gz3.设置环境变量使⽤sudo vi /etc/profile命令修改系统环境变量export HBASE_HOME=/app/hbase-0.96.2export PATH=$PATH:$HBASE_HOME/bin然后使⽤source /etc/profile 使得配置环境变量⽣效。
4.产看版本是否安装hbase version5.编辑hbase-env.shsudo vi hbase-env.sh修改⽂件配置(2.0版本⽤⾃带zookeeper只⽤更改这⼀个即可)#Java环境export JAVA_HOME=/app/lib/jdk1.7.0_55这⾥要注意的是:1、由于hbase⾃带zookeeper,所以我们不⽤去管zookeeper的配置问题,如果是⾃⼰安装的zookeeper,可以⼿动进⾏更改例如#通过hadoop的配置⽂件找到hadoop集群export HBASE_CLASSPATH=/app/hadoop-1.1.2/conf#使⽤HBASE⾃带的zookeeper管理集群export HBASE_MANAGES_ZK=true6.配置hbase-site.xml⽂件 <property> <name>hbase.rootdir</name> <!-- hbase存放数据⽬录 --> <value>hdfs://master:9000/opt/hbase/hbase_db</value> <!-- 端⼝要和Hadoop的fs.defaultFS端⼝⼀致--> </property> <property> <name>hbase.cluster.distributed</name> <!-- 是否分布式部署 --> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <!-- list of zookooper --> <value>master,slave1,slave2</value> </property> <property><!--zookooper配置、⽇志等的存储位置 --> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/hbase/zookeeper</value> </property>以上根据⾃⼰的机器进⾏适当的修改。
HadoopHBase使⽤指南第1章集群的搭建1.1集群的结构实验环境中共有6台服务器,搭建完全分布式HDFS与HBase环境,采⽤的Hadoop与HBase版本为hadoop0.20.2HBase0.92.0,其中⼀台节点做为NameNode和Master,另⼀台做为Master备份节点(可以不要备份Master节点),剩余四台则做为DataNode和RegionServer节点,并且在其上运⾏Zookeeper服务,整个实验环境结构如图1-1所⽰。
图1-1 HBase 集群结构1.2基础环境整个系统要能正常的运⾏,在各机器上安装需要的程序软件之前,也要正确的配置好⽹络连接、程序参数和系统设置等,主要包括:操作系统Ubuntu10.04、sun-java-6和OpenSSH。
分别在每台服务器上安装上述的系统和程序,过程中要注意:根据Hadoop和HBase的系统兼容性要求Linux系统的版本可以不⼀致,不影响HDFS和HBase的运⾏。
JDK的版本、安装位置和环境变量的设置都应保持⼀致。
OpenSSH要设置为⽆密码访问,确保各服务器之间能正常通信。
各服务器配置如表1-1所⽰。
表1-1服务器的配置信息主机名IP地址(在同⼀⽹段内)备注Master1 Master2 Slave1 Slave2 Slave3 Slave4 192.168.1.100192.168.1.99192.168.1.101192.168.1.102192.168.1.103192.168.1.104NameNode和Master节点Master备份节点DataNode和RegionServerDataNode和RegionServerDataNode和RegionServerDataNode和RegionServer1.3软件的安装集群中Hadoop和HBase的版本要保持⼀致,并确保Hadoop和HBase版本相互之间兼容。
1、该部署手册仅适用了hadoop-2.0.3alpha版本,不适用于之前的版本。
应该适用于之后的版本,待验证。
部署步骤如下:1.首先,关闭iptablesService iptables stop并在chkconfig 里面关闭掉A、命名nameservices及namenode主机名的端口等,目前只支持2个namenode的HA,该步骤的主要修改/hadoop-2.0.3-alpha/etc/hadoop /hdfs-site.xml文件,添加的内容如下<property><name>services</name><value>mycluster</value></property><property><name>nodes.mycluster</name><value>nn1,nn2</value></property><property><name>node.rpc-address.mycluster.nn1</name><value>activenode:8020</value></property><property><name>node.rpc-address.mycluster.nn2</name><value>standbynode:8020</value></property><property><name>node.http-address.mycluster.nn1</name><value>activenode:50070</value></property><property><name>node.http-address.mycluster.nn2</name><value>standbynode:50070</value></property>B、设置Quorum Journal Manager (QJM) to share edit logs between the Active and StandbyNameNodes。
在hdfs-site.xml文件中的设置如下:<property><name>node.shared.edits.dir</name><value>qjournal://hadoopslave5:8485;hadoopslave6:8485;hadoopslave7:8485/mycluster</value></property><property><name>dfs.journalnode.edits.dir</name><value>/home/hadoop_space/data</value></property>这里的node.shared.edits.dir指定namenode存储共享日志的一个journalnode群。
这里的hadoopslave5\6\7是任意一台机器,并非是namenode。
Dfs.journalnode.edits.dir是上面journalnode群中机器本地存储的日志文件的地址。
这里的journalnode应该是奇数个。
C、添加客户端尝试activeNamenode的实现类,在hdfs-site.xml中添加如下文件:<property><name>dfs.client.failover.proxy.provider.mycluster</name><value>node.ha.ConfiguredFailoverProxyProvider</value><description>指定客户端用于HA切换的代理类,不同的NS可以用不同的代理类以上示例为Hadoop 2.0自带的缺省代理类</description></property>D、设置防止脑裂的ssh及其私钥文件,在hdfs-site.xml中添加如下文件,其中dfs.ha.fencing.ssh.private-key-files文件是该主机设置ssh到其他机器时生成的私钥文件,注意名称不要写错!有的是rsa的,示例中是dsa的,注意区分细节。
<property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_dsa</value></property><property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property>三台服务器都修改hadoop-2.0.3-alpha/etc/hadoop/slaves 文件,里面加上hostname E、设置其他的一些属性,该部分同之前的版本相比没有变化,在hdfs-site.xml文件中添加内容如下:<property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>/usr/local/policehaauto/datahadoop/name</value></property><property><name>dfs.datanode.data.dir</name><value>/usr/local/policehaauto/datahadoop/data</value></property><property><name>dfs.permissions</name><value>false</value></property>F、设置fs的默认路径,在core-site.xml中设置如下:<property><name>fs.defaultFS</name><value>hdfs://mycluster</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/policehaauto/datahadoop/tmp</value></property>G、修改hadoop-env.sh,将JA VA_HOME指向正确的目录,将设置后hadoop进程号文件的所在目录,修改的内容如下:export JA VA_HOME=/usr/java/jdk1.6.0_21export HADOOP_PID_DIR=/usr/local/policehaauto/hadoop-2.0.3-alpha以上是HA手动切换NameNode的具体配置信息,以下是启动hadoop集群的步骤:步骤1、把JNS一组机器上的journalnode都启来,指令是:hadoop-daemon.sh start journalnode步骤2、在任意一台namenode上执行命令:hdfs namenode –format命令,对namenode 进行格式化。
步骤3、在第一台namenode机器上,执行命令启动namenode,hadoop-daemon.sh start namenode。
步骤4、在另一台namenode机器上,执行命令hdfs namenode -bootstrapStandby。
步骤5、关闭所有已经启动的namenode进程。
步骤6、在任意一台机器上执行start-dfs.sh,此时两个namenode都被启动,并都处于standby状态,可以通过命令hdfs haadmin –failover nn1 nn2将nn2设置为active,并在此时进行相关上传文件测试。
(我没执行)2、接下来是进行HA autofailover的设置,在进行此操作之前确保之前的配置能够正常运行。
A、hadoopHA的autofailover依赖于zookeeper集群,请先部署好zookeeper集群,建议zookeeper集群数是3个或5个。
B、在部署自动failover之前,先停止掉上面已经启动的hadoop集群(zookeeper集群不用停止),即在任意一个namenode上执行stop-dfs.sh,目前不支持从非autofailover 到自动failover的热切换。
C、设置autofailover设置需要在hdfs-site.xml中添加如下的内容:<property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property>D、zookeeper集群,在hdfs-site.xml中添加如下的内容:<property><name>ha.zookeeper.quorum</name><value>pmaster:2181,datanode1:2181,datanode2:2181</value></property>Zookeeper 在/opt/hadoopcluster/hadoopdata/zookeeperdata/data/myid里面设置节点顺序E、在zookeeper集群中初始化znode,在任意一个namenode节点上执行如下命令:hdfs zkfc –formatZK (进入到/hadoop-2.0.3-alpha/bin,执行./hdfs zkfc -formatZK) (在重新添加节点或者更换节点的时候这一步是必须的,只有这样才能监听数据节点的心跳,才能使一个节点处于active一个处于standby)。