非关系型数据库大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非关系型数据库大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
实验三HBase环境搭建、sehll操作及Java API编程实验步骤:
1.搭建Zookeeper和HBase
1.ntp时间同步服务器搭建与使用
安装ntp服务端(master)
# apt-get install ntp
启动ntp服务
# /etc/init.d/ntp start
修改配置文件
# vim /etc/ntp.conf
修改内容如下:
重启ntp服务
# /etc/init.d/ntp restart
1.2安装ntp客户端(slaver1、slaver2)
使用ntpdate命令,如果不存在这个命令,则先安装apt-get install ntp
同步服务器时间
# /usr/sbin/ntpdate 10.49.85.172
设置定时同步
# vim /etc/crontab
1.3 ulimit 和 nproc设置(集群均配置)
HBase是数据库,会在同一时间使用很多的文件句柄。大多数Ubuntu系统使用的默认值1024是不能满足的,所以你需要修改你的最大文件句柄限制。可以设置到10k. 你还需要修改 hbase 用户的 nproc,如果过低会造成OutOfMemoryError异常。
需要澄清的,这两个设置是针对操作系统的,不是Hbase本身的。有一个常见的错误是Hbase运行的用户,和设置最大值的用户不是一个用户。在Hbase启动的时候,第一行日志会现在ulimit信息,所以你最好检查一下。1)修改limits.conf文件
# vim /etc/security/limits.conf
添加如下内容:
2)修改common-session文件
# vim /etc/pam.d/common-session
添加如下内容:
重启系统
1.4 Zookeeper集群环境安装过程详解
1)解压zookeeper
tar zxvf zookeeper-3.4.5.tar.gz
2)修改zoo.cfg配置文件
进入到zookeeper的conf目录下将zoo_sample.cfg文件拷贝一份,命名为为zoo.cfg
vim zoo.cfg
修改内容如下:
配置文件中"server.id=host:port:port"中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port是进行leadership选举的端口号。接下来在dataDir所指定的目录下创建一个文件名为myid的文件,文件中的内容只有一行,为本主机对应的id值,也就是上图中server.id中的id。例如:在服务器1中的myid的内容应该写入1,在服务器2中的myid的内容应该写入2,在服务器3中的myid的内容应该写入3。
3)同时创建log目录
# mkdir log
4)修改环境变量
# vim /etc/profile
# source /etc/profile
# scp -r /root/zookeeper-3.4.5/ cc-slaver1:/root/
# scp -r /root/zookeeper-3.4..5/ cc-slaver2:/root/
在对应slaver节点同时修改profile文件,添加
export ZOOKEEPER_HOME=/root/zookeeper-3.4.5
export CLASSPATH=.:${ZOOKEEPER_HOME}/lib:$CLASSPATH
export
PATH=${ZOOKEEPER_HOME}/bin:${ZOOKEEPER_HOME}/conf:$PATH
同时:
在slaver1节点中
# pwd
/soft/zookeeper
# mkdir data
# echo "2" > myid
在slaver2节点中
# pwd
/soft/zookeeper
# mkdir data
# echo "3" > myid
1.5 启动zookeeper集群
在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本:
# zkServer.sh start
如下图所示:
其中,QuorumPeerMain是zookeeper进程,启动正常。
出现错误可以通过
# tail -f /soft/zookeeper/zookeeper.out
如上依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果:
通过上面状态查询结果可见,cc-slaver1是集群的Leader,其余的两个结点是Follower。
另外,可以通过客户端脚本,连接到ZooKeeper集群上。对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,你可以在任何一个结点上建立到服务集群的连接,例如:
# zkCli.sh -server cc-slaver2:2181