您的位置:首页 > 其它

zookeeper&hbase安装流程

2016-11-21 14:28 246 查看

Zookeeper安装流程:

1.    下载并解压zookeeper

下载并解压zookeeper-3.4.6.tar.gz,命令如下

]# tar –zxvf zookeeper-3.4.6.tar.gz

]# mv zookeeper-3.4.6/home/hadoop     //将zookeeper放到hadoop目录下,方便管理

2.    添加环境变量

修改/etc/profile

]# vim /etc/profile

export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.6

exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin

 

]# source/etc/profile                //使profile生效

3.    修改zoo.cfg

打开$ZOOKEEPR_HOME/conf,修改zoo.cfg

]#cp zoo.cfg.sample zoo.cfg

添加如下几项:

dataLogDir=/home/hadoop/zk/logs                 //log路径

dataDir=/home/hadoop/zk/data                                       //data目录,存放了myid文件

clientPort=2181                                                                          //默认端口

server.1=BIHBaseMaster:2888:3888                                   //配置了几台zookeeper作为集群

server.2=BIHBaseRegionServer01:2888:3888

server.3=BIHBaseRegionServer02:2888:3888

server.4=BIHBaseRegionServer03:2888:3888

server.5=BIHBaseRegionServer04:2888:3888

4.    创建文件夹和相应文件    

创建目录/home/hadoop/zk/logs  和/home/hadoop/zk/data

]# mkdir –p /home/hadoop/zk/logs  /home/hadoop/zk/data

在/home/hadoop/zk/data 生成myid文件,在每台机器上都要生成该文件,内容为该机器在集群里的编号,从1开始递增。

5.把文件夹分别拷贝到各个datanode

Scp –r /home/hadoop/zk/  /home/hadoop/zookeeper-3.4.6  root@bs1:/home/hadoop

Scp –r /home/hadoop/zk/  /home/hadoop/zookeeper-3.4.6  root@bs2:/home/hadoop

Scp –r /home/hadoop/zk/  /home/hadoop/zookeeper-3.4.6  root@bs3:/home/hadoop

Scp –r /home/hadoop/zk/  /home/hadoop/zookeeper-3.4.6  root@bs4:/home/hadoop

 

6.在每台机器上分别启动zookeeper

启动zookeeper

]# zkServer.sh start

停止zookeeper

]#zkServer.sh stop

注意:启动顺序为Hadoop->zookeeper->hbase

停止顺序为hbase->zookeeper->Hadoop

Zookeeper问题集锦:

1.文件丢失

描述:Caused by: java.lang.IllegalArgumentException: /home/hadoop/zk/data/myidfile is missing

原因:启动是没有在data文件下创建myid文件,而且还要按照顺序写入编号

解决:分别在每台机器的data文件夹下生成myid文件,并按照顺序写入编号

2.连接拒绝

 

拒绝连接,有待解决。

 

 

HBase安装流程:

1.下载并解压

下载并解压hbase-1.1.2-bin.tar.gz,命令如下

]# tar –zxvf hbase-1.1.2-bin.tar.gz

]# mv hbase-1.1.2/home/hadoop              //统一移动到hadoop目录下,方便管理

2.添加环境变量

修改/etc/profile

]# vim /et/profile

export HBASE_HOME=/home/hadoop/hbase-1.1.2

exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin

3.修改hbase-env.sh

export JAVA_HOME=/home/hadoop/jdk1.7.0_79   //Jdk路径

exportHBASE_PID_DIR=/home/hadoop/hbasePidDir //存放hbase pid的文件夹

exportHBASE_MANAGES_ZK=false              //false表名不使用hbase自带的zookeeper,我使用了zookeeper-3.4.6

4.修改hbase-site.xml

<configuration>

   <property>

           <name>hbase.rootdir</name>

           <value>hdfs://bihbasemaster/hbase</value>  
//hbase在hdfs上的路径

   </property>

 

   <property>

           <name>hbase.cluster.distributed</name>   //hbase全分布式安装

           <value>true</value>

   </property>

 

   <property>

           <name>hbase.zookeeper.property.clientPort</name>  
//hbase 不使用自带的zookeeper才需要配这些选项,zookeepe的对外端口

           <value>2181</value>

   </property>

 

   <property>

       <name>hbase.zookeeper.quorum</name>        //指定zookper集群

           <value>bhm,bs1,bs2,bs3,bs4</value>

</property>

<property>

           <name>hbase.zookeeper.property.dataDir</name> 
//zookeeper路径

           <value>/home/hadoop/zk/data</value>

   </property>

<property>

           <name>hbase.master.info.port</name>

           <value>60010</value>

       </property>

 

</configuration>

5.修改regionservers

 

6.运行Hbase

]# start-hbase.sh

查看datanode的运行情况

启动成功, 可以用stop-hbase.sh来停止hbase

7.进入hbase shell查看、插入数据

]# hbase shell

 

在shell下使用hbase shell的方法:

Echo  “scan ‘test123’”|hbase shell >123.txt

该命令是不用启动hbase shell,而把表scan出来放入123.txt

 

Hbase问题集锦:

1.无法连接8020端口

start-hbase.sh 启动后,namenode上的hmaster启动了之后又迅速退出了,而其他regionserver上的HRegionServer完好,查看namenode的logs后发现

 

java.net.ConnectException:Call From dw-server20-30.xs.paic.com.cn/172.16.20.30 to bihbasemaster:8020failed on connection exception: java.net.ConnectException: Connection refused;

无法连接8020端口,8020端口Hdfs的默认端口,hmaster需要去通过8020连接hdfs

参数
描述
默认
配置文件
例子值
fs.default.name
namenode RPC交互端口
8020
core-site.xml
hdfs://master:8020
 

 

 

而在core-site.xml中配置为

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://bhm:9000</value>

</property>

解决方法: 把9000去掉,使用默认端口即可,重启hadoop,hbase完好

2.<
4000
/a>配置项报错

在logs目录下查看hbase-root-master-dw-server20-30.xs.paic.com.cn.log,发现warnning

2015-10-22 21:01:06,654WARN [dw-server20-30.wlt,16000,1445508958421_ChoreService_1]hbase.HBaseConfiguration: Config option"hbase.regionserver.lease.period" is deprecated. Instead, use"hbase.client.scanner.timeout.period"

描述:配置项hbase.regionserver.lease.period的写法不推荐,推荐hbase.client.scanner.timeout.period

解决:修改hbase-site.xml把相应的改过来。

3.连接拒绝    

症状:start-hbase.sh后,hmaster启动了,过一会儿又退出了,

log报错如下

原因:

<property> 

           <name>hbase.rootdir</name> 

           <value>hdfs://127.0.0.1/hbase</value> 此处配置不对,hmaster找不到hdfs的路径,所以就连不上hdfs

</property>

解决:

<property> 

           <name>hbase.rootdir</name> 

           <value>hdfs://namenode/hbase</value>  改成如此形式

</property>

 

4.无法建表:

at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:137)

atorg.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1860)

 

原因:hbase cluster 没有正常工作

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: