在ubuntu14.04下安装hbase1.1.3与hadoop2.6.4的相关配置

来源:互联网 发布:java常用英文单词 编辑:程序博客网 时间:2024/06/06 02:10

鉴于网上好多相关的hbase与hadoop的文章,在经历过比较多的失败后,自行总结出来的一套使用方法,仅大家学习。


1       软件列表

序号

软件

备注

1.       

Jdk1.7

 

2.       

Openssh or ssh

 

3.       

Hadoop2.6.4

 

4.       

Hbase1.1.3

 

 

2       安装配置jdk

2.1   安装jdk

 省略。。。。

2.2   配置环境

1、 修改用户环境,运行

vi   ~/.profile 

 

在最后添加:

 

JAVA_HOME=/opt/lee/jdk7

JRE_HOME=${JAVA_HOME}/jre

CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

PATH=${JAVA_HOME}/bin:$PATH

export PATH

 

3       安装openssh

sudo apt-get  openssh

 省略配置免密码登录。。

4       安装hadoop2.6.4

当前有3台机器分别为:lee1lee2lee3,其中lee1为主机,其他为从机。

下面主要是在配置主机的信息

 

4.1   配置 hadoop-env.sh文件

-->修改JAVA_HOME

修改文件${hadoop_home}/etc/hadoop/hadoop-env.sh :

# The java implementation to use.
export JAVA_HOME=/opt/jdk7

 

4.2   配置slaves文件

-->>增加slave节点 

把${hadoop_home}/etc/hadoop/slaves里面的内容改为:

lee2

lee3

4.3   配置 core-site.xml文件

-->>增加hadoop核心配置(hdfs文件端口是9000、file:/home/spark/opt/hadoop-2.6.0/tmp、)

把${hadoop_home}/etc/hadoop/core-site.xml里面的内容改为:

<configuration>

<property>

 <name>fs.defaultFS</name>

 <value>hdfs://lee1:9000</value>

 </property>

<property>

 <name>hadoop.tmp.dir</name>

 <value> /opt/hadoop_home_dir/tmp</value>

 </property>

</configuration>

 

4.4   配置  hdfs-site.xml 文件

-->>增加hdfs配置信息(namenode、datanode端口和目录位置)

把${hadoop_home}/etc/hadoop/hdfs-site.xml里面的内容改为:

<configuration>

 <property>

  <name>dfs.namenode.name.dir</name>

  <value>/opt/hadoop_home_dir/dfs/name</value>

 </property>

 

 <property>

 <name>dfs.datanode.data.dir</name>

 <value>/opt/hadoop_home_dir/dfs/data</value>

 </property>

 

 <property>

 <name>dfs.replication</name>

 <value>2</value>

 </property>

 

</configuration>

4.5   配置slave机器

将配置好的hadoop文件copy到另一台slave机器上

1、首先在3台机器上都配置hosts影射地址

sudo  vi /etc/hosts

在里面与上地址

xxx.xxx.xxx.xxx   lee1

xxx.xxx.xxx.xxx   lee2

xxx.xxx.xxx.xxx   lee3

2、运行scp复制过去,在这之前记得配置3台机器上scp的用户权限为755。

scp  -r  /opt/hadoop-2.6.4/ username@lee2:/opt/

scp  -r  /opt/hadoop-2.6.4/ username@lee3:/opt/

 

 

4.6   验证

1、   格式化namenode:

分别在3台机器上面执行

${hadoop}/bin/hdfsnamenode –format

 

2、  启动hdfs:

lee1上面运行:

${hadoop}/sbin/start-dfs.sh

 

3、  验证

在主机运行jps命令,显示以下3个进程

jps

NameNode

SecondaryNameNode

在从机上运行jps,显示2个进程

jps

DataNode

 

5       安装hbase1.1.3

5.1       修改conf/hbase-env.sh 

添加java环境变量:

export JAVA_HOME=/opt/jdk7

5.2   编辑hbase-site.xml

<configuration>

 <property>

              <name>hbase.rootdir</name>

              <value>hdfs://lee1:9000/hbase</value>

       </property>

       <property>

              <name>hbase.cluster.distributed</name>

              <value>true</value>

       </property>

<property>

              <name>hbase.zookeeper.quorum</name>

              <value>lee3,lee2</value>

       </property>

 

       <property>

          <name>hbase.master</name>

          <value>hdfs://lee1:60000</value>

       </property>

<property>

              <name>hbase.zookeeper.property.clientPort</name>

              <value>2181</value>

       </property>

<property>

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

              <value>/opt/hbase_home_dir/data</value>

       </property>

<property>

                 <name>hbase.coprocessor.user.region.classes</name>

                 <value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>

                </property>

</configuration>

 

5.3   配置regionservers 添加slave

修改conf/regionservers里面的内容为:

lee2

lee3

 

5.4   把hbase目录 scp到slave机器上

scp  -r  /opt/hbase1.1.3/ username@lee2:/opt/

scp  -r  /opt/hbase1.1.3/  username@lee3:/opt/

 

 

5.5   验证是否成功

5.5.1  在主节点lin162启动hbase

$  bin/start-hbase.sh

 

***在过程中会需要输入ssh的密码,一直输入就可以了。它不会等待用户输入完了一个再一个的,不需要管它显示的就行,不然有可能不能正常启动。或者配置ssh无密码登录也可以。关闭服务时也是一样。

 

或者修改

bin/zookeeper.sh文件,在

forzookeeper in $hosts; do

循环中加上sleep 5s ,就能够在5秒内正常输入命令了。

 

5.5.2  检查3台机器是否正常启动

主机:

从机:

 

5.5.3  shell验证

在主机使用shell进行验证

 

5.5.4  无法创建表问题

当主机死机时无法创建表的时候,使用zkcli进行验证

1、连接zookeeper( 直接通过hbase的工具)

hbase zkcli

 

2、ls /hbase/table 查看是否有对应的表

3、删除hbase下 对应表的数据(或者直接删除/hbase/table路径)

delete /hbase/table/{表名}

 

0 0
原创粉丝点击