全分布式
本人前提
- zookeeper-3.4.10装好,在 /usr/local 目录下
- Java中的jdk在 /usr/java/jdk
- HBase-1.4.9
搭建
- HBase安装包上传到 /usr 目录下
- 解压安装包 tar -zxvf hbse-1.4.9-bin.tar.gz (tar -xvf hbase-1.4.9.gz)
- 配置HBase环境变量 cd hbase-1.4.9/conf vi hbase-env.sh 加入Java安装路径 export JAVA_HOME=/usr/java/jdk (可以ESC退出编辑模式,输入JAVA_HOME可以找到文件中的Javahome,去掉前面的#注释,修改即可,加入搜索 the ,输入the ,回车,自动定位,按N向上找,n向下找)
- 修改conf/hbase-site.xml文件
- 配置 conf/regionservers 文件 修改为 slave1 slave2
- master节点配置完成,复制到slave1和2:scp -r /usr/hbase-1.4.9 slave:/usr
- 先启动Hadoop再启动HBase
start-all.sh正常输入即可
start-hbase.sh(在 hbase-1.4.9 /conf/bin 目录下 输入: ./start-hbase.sh[因为没有把HBase放在环境变量下,需到可执行文件bin(binary)下执行,bin目录下存放的是脚本]) - master节点上出现6个,slave1和2出现5个
HBase Shell - 在bin目录下启动HBase Shell命令:./hbase shell(shutdown是关闭HBase服务,exit是退出 HBaseShell)
- https://blog.csdn.net/hulaquancai/article/details/20613589参照这篇文章设置HBase Shell的删除功能
HBase Java ApI
代码:
链接:https://pan.baidu.com/s/1cF7_cbMmYjLYCu5egIEFXw
提取码:ddb2 - 把 用户目录下的.m文件夹下的C:\Users\lenovo.m2
repository\edu\qfnu\hadoop\hbasedemo\1.0-SNAPSHOT hbasedemo-1.0-SNAPSHOT.jar上传到linux服务器(我的上传后再 home/xxx文件夹下) - 把jar包加入HBase的环境变量
export HBASE_CLASSPATH=/home/xxx/hbasedemo-1.0-SNAPSHOT.jar
检查是否加入
echo $HBASE_CLASSPATH(会出现上面配置的路径) - 启动集群,启动hbase
bin/hbase edu.qfnu.hadoop.hbase.BasicOper -create (出现create data successs!) - 打开hbase shell :bin/hbase shell
sacn 'test’可以看见创建了列表
bin/hbase edu.qfnu.hadoop.hbase.BasicOper -put(出现put data successs!)
打开hbase shell :bin/hbase shell
scan ‘test’(在test列表中加入了数据)
重新加入slave3,slave4节点后,再次执行bin/hbase edu.qfnu.hadoop.hbase.BasicOper -put,出现
org.apache.hadoop.hbase.TableExistsException: hbase:namespace异常
在zookeeper节点上执行
zkCli.sh
ls /
rmr /hbase
11. HRegionserver节点断掉
原因重新加了两个节点,日志文件不匹配
方法:删除hadoop中的hbase文件,并重新建立
hadoop fs -rm -r /hbase
hadoop fs -mkdir /hbase
赋予权限
hadoop fs -chown hbase /hbase
删除hbase在zookeeper中的缓存日志信息(在hbase的conf/hbase-site.xml文件中)
进入zookeeper-3.4.10/data
rm -rf zookeeper.out
单机模式
1.新建centos7虚拟机
2.查看系统是否装了jdk java -version
命令查看,如果显示版本号,则说明已经装了jdk,用rpm -qa | grep java
显示jdk相关文件夹,用rpm -e --nodeps 文件名
删除文件,如果没有权限,改成root用户
3.给虚拟及配置固定IP(不设置也可)
修改文件,ip和网关要根据VMware中 编辑->虚拟网络编辑器->g更改设置->VMnet8->DHCP设置,产看网关,子网掩码,虚拟机IP要和子网IP前3为相同。
或者如果虚拟机能连接网络,把网络固定为此时的IP也可
打开此界面后最下面
[root@CentOS7 aha]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.79.128 #ip
GATEWAY=192.168.79.2 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=114.114.114.114
BOOTPROTO=static
ONBOOT=yes
4.可以在windows中下载hbase和Java,通过发送到邮箱,在虚拟机上登录邮箱,下载文件
(虚拟机中没有中文输入法,我们可以复制’下载’,在移动hbase和java时)
5.在根目录下新建hbase和java文件夹
mkdir /java
和 mkdir /hbase
移动下载文件夹中的hbase和jdk到新建的java和hbase中
首先进入下载文件夹 `cd 下载`(下载可以采用复制的方法)
mv jdk-8u-linux-x64.tar.gz /java
hbase如同理
解压文件夹tar -xvf jdk-8u172-linux-x64.tar.gz
用ls命令查看
6.配置java环境变量
vi /etc/profile
添加
export JAVA_HOME=/java/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
#export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
7.验证环境变量
[root@bogon bin]# echo $JAVA_HOME
/root/Downloads/jdk1.8.0_172
8.配置hbase,修改hbase目录下的hbase-site.xml
在单机模式中,HBase并不使用 HDFS,仅使用本地文件系统。conf/hbase-env.sh文件不需要修改,仅仅修改conf/hbase-site.xml,指定数据文件的存放路径。
cd hbase
进入目录
vi hbase-site.xml
修改文件,按i修该,修改完后保存退出 :wq
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/hbase/hbaseData</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>file:/usr/local/hbase</value>
</property>
</configuration>
9.在bin目录下启动hbase,需要root权限
10.以root用户在bin 目录下启动hbase-shell
11. 进入HBase首页可以查看信息,IP地址改成自己的即可
环境搭建时常用命令
切换root: su
其他用户: su username
查看IP
ifconfig
重启网络服务
systemctl restart network service network restart
防火墙
sudo systemctl stop firewalld #临时关闭
sudo systemctl disable firewalld # 永久关闭
sudo systemctl status firewalld #查看防火墙状态。
SSH服务
systemctl status sshd.service #查看状态
systemctl start sshd.service #启动服务
systemctl restart sshd.service #重启服务
systemctl enable sshd.service #开机自启
文件
#复制
cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory
#移动
mv [-fiv] sourmvce destination
#删除
rm [fir] 文件或目录
#解压
tar -xvf jdk-8u172-linux-x64.tar.gz
#创建文件夹
mkdir [选项]目录...
mkdir /java 应该是在根目录下创建java目录
mkdir -p :递归创建多个目录
#查看文件前几行后几行
head -n 10 /etc/profile #查看etc/pprofile文件前几行
tail -n 5 /etc/profile #查看etc/profile后5行
#
cat zookeeper.out
jdk路径
vi /etc/profile
export JAVA_HOME=/java/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
#export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HBASE_HOME/bin
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/hbase/hbase-1.3.6
//需要配置jdk和hbase的路径,PATH路径也得添加
使配置文件生效
[root@CentOS7 java]# source /etc/profile
显示配置
echo $JAVA_HOME
echo $PATH
查看卸载前后openssh相关服务安装情况
# 可以通过这条命令查看卸载前后的openssh相关服务安装情况
rpm -qa openssh*
# 卸载
yum remove openssh*
#安装
yum install openssh-server
ssh的log文件
/var/log/secure
修改网络配置
[root@CentOS7 aha]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=32439479-205b-4847-a862-ea7ed324af72
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.27.128 #ip
GATEWAY=192.168.27.2 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=114.114.114.114