坏数额上系列的二 —– HBase环境搭建(单机)

2,配置选

JDK:1.8 (jdk-8u144-linux-x64.tar.gz)
Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)
HBase:1.6.2 (hbase-1.2.6-bin.tar.gz)

        private void btnOK_Click(object sender, EventArgs e)
        {
            string[] arrayItems = this.txtDictData.Lines;
            int intSeq = -1;
            int seqLength = 3;
            string strSeq = this.txtSeq.Text.Trim();
            if (int.TryParse(strSeq, out intSeq))
            {
                seqLength = strSeq.Length;
            }

            if (arrayItems != null && arrayItems.Length > 0)
            {
                DbTransaction trans = BLLFactory<DictData>.Instance.CreateTransaction();
                if (trans != null)
                {
                    try
                    {
                        #region MyRegion
                        foreach (string strItem in arrayItems)
                        {
                            if (this.radSplit.Checked)
                            {
                                if (!string.IsNullOrWhiteSpace(strItem))
                                {
                                    string[] dataItems = strItem.Split(new char[] { ',', ',', ';', ';', '/', '、' });
                                    foreach (string dictData in dataItems)
                                    {
                                        #region 保存数据
                                        string seq = "";
                                        if (intSeq > 0)
                                        {
                                            seq = (intSeq++).ToString().PadLeft(seqLength, '0');
                                        }
                                        else
                                        {
                                            seq = string.Format("{0}{1}", strSeq, intSeq++);
                                        }

                                        InsertDictData(dictData, seq, trans);
                                        #endregion
                                    }
                                }
                            }
                            else
                            {
                                #region 保存数据
                                if (!string.IsNullOrWhiteSpace(strItem))
                                {
                                    string seq = "";
                                    if (intSeq > 0)
                                    {
                                        seq = (intSeq++).ToString().PadLeft(seqLength, '0');
                                    }
                                    else
                                    {
                                        seq = string.Format("{0}{1}", strSeq, intSeq++);
                                    }

                                    InsertDictData(strItem, seq, trans);
                                }
                                #endregion
                            }
                        }
                        #endregion

                        trans.Commit();
                        ProcessDataSaved(this.btnOK, new EventArgs());
                        MessageDxUtil.ShowTips("保存成功");
                        this.DialogResult = DialogResult.OK;
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        LogTextHelper.Error(ex);
                        MessageDxUtil.ShowError(ex.Message);
                    }
                }
            }
        }

条件准备

澳门美高梅手机网站 1

仲、服务器的连带部署

于配备Hadoop在此之前,应该先行做一下安排

漫天插入功能按钮的处理任何代码如下所示。

3,时间设置

输入:
date
翻开服务器时间是否一律,若未一致则更改
改时间命令

date -s ‘MMDDhhmmYYYY.ss’

假使嫌下边的代码复杂,可以看下面的任课代码可能就是领悟了

3.2.2.2 修改 hbase-site.xml

编写hbase-site.xml 文件,在加上如下配置

<!-- 存储目录 -->
<property>  
 <name>hbase.rootdir</name>  
 <value>hdfs://test1:9000/hbase</value>  
 <description>The directory shared byregion servers.</description>  
</property>  
<!-- hbase的端口 -->
<property>  
 <name>hbase.zookeeper.property.clientPort</name>  
 <value>2181</value>  
 <description>Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.  
 </description>  
</property>  
<!--  超时时间 -->
<property>  
 <name>zookeeper.session.timeout</name>  
 <value>120000</value>  
</property>  
<!--  zookeeper 集群配置。如果是集群,则添加其它的主机地址 -->
<property>  
 <name>hbase.zookeeper.quorum</name>  
 <value>test1</value>  
</property>  
<property>  
 <name>hbase.tmp.dir</name>  
 <value>/root/hbase/tmp</value>  
</property>  
<!-- false是单机模式,true是分布式模式  -->
<property>  
 <name>hbase.cluster.distributed</name>  
 <value>false</value>  
</property>

澳门美高梅手机网站 2
证:hbase.rootdir:这些目录是region server的共享目录,用来持久化Hbase
。hbase.cluster.distributed
:Hbase的周转情势。false是单机形式,true是分布式形式。若为false,Hbase和Zookeeper会运行于同一个JVM里面。

        using (DbTransaction dbTrans = conn.BeginTransaction())
        {
            using (DbCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = "INSERT INTO MyTable(MyValue) VALUES(?)";
                DbParameter Field1 = cmd.CreateParameter();
                cmd.Parameters.Add(Field1);
                for (int n = 0; n < 100000; n++)
                {
                    Field1.Value = n + 100000;
                    cmd.ExecuteNonQuery();
                }
            }
        }

3,下载地址

官网地址:
JDK:
http://www.oracle.com/technetwork/java/javase/downloads

Hadopp:
http://www.apache.org/dyn/closer.cgi/hadoop/common
HBase:
http://mirror.bit.edu.cn/apache/hbase/

百度云:
链接:https://pan.baidu.com/s/1jIemnA2 密码:3ykr

澳门美高梅手机网站 3

4,HBase启动

于成启动Hadoop之后
切换到HBase目录下
cd /home/hbase/hbase-1.2.6/bin
输入:
./start-hbase.sh
澳门美高梅手机网站 4

以浏览器输入:
http://39.108.208.105:16010/
澳门美高梅手机网站 5

显示那界面则成!

地点是均等栽相比简单原始之政工操作,尽管批量插数据,同样可以从及同样的功能。

3.2.2.1 修改hbase-env.sh

编写 hbase-env.sh 文件,添加以下配置

export JAVA_HOME=/home/java/jdk1.8
export HADOOP_HOME=/home/hadoop/hadoop2.8
export HBASE_HOME=/home/hbase/hbase-1.2.6
export HBASE_CLASSPATH=/home/hadoop/hadoop2.8/etc/hadoop
export HBASE_PID_DIR=/root/hbase/pids
export HBASE_MANAGES_ZK=false

澳门美高梅手机网站 6
证:配置的不二法门为祥和之也罢按。HBASE_MANAGES_ZK=false
是不启用HBase自带的Zookeeper集群。

        /// <summary>
        /// 使用事务参数,插入数据,最后统一提交事务处理
        /// </summary>
        /// <param name="dictData">字典数据</param>
        /// <param name="seq">排序</param>
        /// <param name="trans">事务对象</param>
        private void InsertDictData(string dictData, string seq, DbTransaction trans)
        {
            if (!string.IsNullOrWhiteSpace(dictData))
            {
                DictDataInfo info = new DictDataInfo();
                info.Editor = LoginID;
                info.LastUpdated = DateTime.Now;
                info.DictType_ID = this.txtDictType.Tag.ToString();
                info.Name = dictData.Trim();
                info.Value = dictData.Trim();
                info.Remark = this.txtNote.Text.Trim();
                info.Seq = seq;

                bool succeed = BLLFactory<DictData>.Instance.Insert(info, trans);
            }
        }

1,下载HBase

用下载下来的HBase的配置文件举行解压
在linux上输入:

 tar  -xvf   hbase-1.2.6-bin.tar.gz

然后倒到/opt/hbase 里面
输入

mv  hbase-1.2.6  /home/hbase

为提升响应速度,我这里运用了事情操作,整个业务操作是基于EnterpriseLibray类库的数据库操作,由于自己曾于框架的基类中开了包,由此大家这边看到全处理过程即可。

3.2.1 环境布置

编辑 /etc/profile 文件
输入:

export HBASE_HOME=/home/hbase/hbase-1.2.6
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HBASE_HOME}/bin:$PATH

澳门美高梅手机网站 7
输入:

source  /etc/profile

倘配置生效
输入

hbase version 

翻看版本
澳门美高梅手机网站 8

澳门美高梅手机网站,由部分档要,字典管理模块需要批量录入数据,由此改良了我的《Winform开发框架》中之字典管理模块,在字典管理模块扩张一个批量增长的意义,如下所示。

老三、HBase环境设置

方的批量插入,经过前后的测试,2宏观修数批量栽SQLite数据库,需要约3~4分钟左右,假诺以了业务操作,则在1~2秒内写副得,速度提升不掌握有些倍。倘假使操作数据比多的,强烈提议使用工作举行操作,可以吃客户很好之经验效果。

2,HBase环境布置

对有诊断的数量录入,一般景色下都可能是几千修的数目,还发出或更多之一些分拣字典,那么只要每便都待等待几分钟要几十秒钟,那么这样的应经验肯定挺不同。

1,更改主机名

率先更改主机名,目的是为方便管理。
输入:
hostname
翻本机的称号
接下来输入:

vim /etc/sysconfig/network

改主机名称
拿HOSTNAME 的称改变为您想只要设置的号
澳门美高梅手机网站 9
:主机名称改变后,要又开(reboot)才相会收效。

输入

vim /etc/hosts

补给加 主机IP 和呼应的主机名称,做映射。

澳门美高梅手机网站 10
注:在配置文件中接纳主机名的话,这么些映射必须开!

里MyRegion里面的代码就是遍历每行的数码,构造数据字典对象及排序号,然后调用InsertDictData函数举办数据的录入。其中InsertDictData函数的代码是

2,关闭防火墙

关闭防火墙,方便外部看。
CentOS 7版本以下输入:
关防火墙
service iptables stop
CentOS 7 以上的版本输入:
systemctl stop firewalld.service

SQLite数据库作为一般单机版软件之数据库,是殊特出的,我手上单机版的软件产品线基本上所有替换Access作为优选的数据库了,在出过程中,有时候用批量勾副数据的图景,发现传统的插数据形式很缓慢,几千长长的数据的写入或者更新可能需要一些分钟时间,而SqlServer则等同之操作可能几秒即可,有无复好的主意来增强它们的响应速度呢?答案是部分,就是利用事务提交,默认SQLite的数据库插入操作,假若没有采取事务的话,它每一次写副提交,就谋面触发一不佳事情操作,而这样几千长长的的数额,就会合硌几千只事情之操作,这即使是光阴耗的发源。本文通过详细代码介绍怎么样利用工作来增长全体批量插数据的进度,并以实际的Winform开发框架中的字典管理模块的批量安插效率来开展介绍,通过内外速度的对照,使得业务操作加强响应速度更有说服力。

HBase shell 使用

HBase启动之后
输入:
HBase shell
进入hbase
然后输入list 查询有什么样表
因HBase是列式存储结构,所以当建表方面跟习俗的涉项目数据库不同等
新建一个用户表 t_user
加加少单列族 st1 和 st2

create 't_user','st1','st2'

叫当时张表添加数据
添加 主键 、列 和值

put 't_user','1001','st1:age','18'

put 't_user','1001','st2:name','zhangsan'

下一场 查询该表数据

scan 't_user'

查看表结构

describe 't_user'

除去记录

delete't_user','1001','st1:age'

删除表
抹表首先要屏蔽该表

disable 't_user'

删除

drop 't_user'

澳门美高梅手机网站 11
澳门美高梅手机网站 12

1,服务器采纳

阿里云服务器:入门型(按量付费)
操作系统:linux CentOS 6.8
Cpu:1核
内存:1G
硬盘:40G

引言

于齐一样篇被益建筑了Hadoop的单机环境,这同一篇则搭建HBase的单机环境

3.2.2 修改配置文件

以 root目录下新建文件夹

mkdir  /root/hbase  
mkdir  /root/hbase/tmp  
mkdir  /root/hbase/pids

澳门美高梅手机网站 13
切换到 /home/hbase/hbase-1.2.6/conf 下

发表评论

电子邮件地址不会被公开。 必填项已用*标注