赞
踩
特点:多台机器部署,一般情况下Hmaster和HregionServer分布在不同的服务器,需要依赖底层HDFS分布式存储。
搭建HBase的全分布:
HP111
HP112
HP113
注意:时间同步
如果不同步:(1)Hadoop:执行MR出错
(2)HBase:RegionServer会自动停止
HP111 : HMaster、ZooKeeper(HQuorumPeer)
HP112: RegionServer
HP113: RegionServer
(1)使用tar命令解压 tar -zxvf jdk-8u191-linux-x64.tar.gz -C ~/software/ tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/software/ (2)设置JAVA环境变量:vi ~/.bash_profile JAVA_HOME=/root/software/jdk1.8.0_191 export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH 生效环境变量 source ~/.bash_profile (3)设置HBase环境变量:vi ~/.bash_profile HBASE_HOME=/root/software/hbase-1.3.1 export HBASE_HOME PATH=$HBASE_HOME/bin:$PATH export PATH 生效环境变量 source ~/.bash_profile
验证: [root@HP111 ~]# hbase
cd ~/training/hbase-1.3.1/conf/ vi hbase-env.sh 在28行 export JAVA_HOME=/root/software/jdk1.8.0_191 在129行 export HBASE_MANAGES_ZK=true 注释使用HBase自带的ZooKeeper 可以set nu 显示行号或者/ZK查找 vi hbase-site.xml <!--HBase对应的HDFS目录--> <property> <name>hbase.rootdir</name> <value>hdfs://HP111:9000/hbase</value> </property> <!--是一个分布式环境--> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!--指定ZK的地址--> <property> <name>hbase.zookeeper.quorum</name> <value>HP111</value> </property> <!--配置数据块的冗余度,默认是3--> <!--原则冗余度跟数据节点个数保持一致,最大不要超过3--> <property> <name>dfs.replication</name> <value>2</value> </property> <!--允许集群各个节点的时间误差的最大值,单位是毫秒--> <property> <name>hbase.master.maxclockskew</name> <value>180000</value> </property> vi regionservers HP111 HP112 HP113
scp -r hbase-1.3.1/ root@HP112:/root/software
scp -r hbase-1.3.1/ root@HP113:/root/software
或:xsync /root/software
命令:
start-dfs.sh(先启动)
start-hbase.sh
如上图HBase全分布环境就搭建好了
注意:启动的时候如果出现
问题一:
[root@HP110 conf]# stop-hbase.sh
stopping hbasecat: /tmp/hbase-root-master.pid: No such file or directory
HP110: no zookeeper to stop because no pid file /tmp/hbase-root-zookeeper.pid
原因是,默认情况下pid文件保存在/tmp目录下,/tmp目录下的文件很容易丢失(重启后基本就会删除),解决办法:在hbase-env.sh中修改pid文件的存放路径
解决方法:把121行注释取消
/var/hadoop/pids的目录详情:
问题二:
当你去start-hbase.sh的时候后面就会出现这样的信息
Java HotSpot™ 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot™ 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
错误原因:
XX:PermSize和-XX:MaxPermSize在jdk1.8中被弃用了
解决方法:由于使用了JDK8 ,需要在HBase的配置文件中hbase-env.sh,注释掉两行。
然后关闭stop-hbase.sh再start-hbase.sh你就会发现不会出现HBase的警告
新的端口:16010
老版本的端口:60010
总结:最后终于把Hadoo和HBase环境搭建方式弄好了,过程中遇到了许许多多的问题,正因为这些问题也有了搭建印象。所以说不要怕问题,其实有问题才是最有意思的,一下子成功就很难体会到那种解决问题的喜悦之情。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。