Hadoop系列之(三)Zookeeper、HBase安装配置
来源:互联网 发布:js多少级技能 编辑:程序博客网 时间:2024/05/21 21:28
1.Zookeeper安装配置
zookeeper的配置相对简单,配置原理同Hadoop相同,即在Master上安装配置完成后,scp到所有的Slave上。
1).复制解压zookeeper-3.4.6.tar.gz
用root用户登录,将zookeeper-3.4.6.tar.gz
拷贝到/usr
下,解压缩。
cp /usr/local/src/zookeeper-3.4.6.tar.gz /usrcd /usrtar zxvf zookeeper-3.4.6.tar.gzchown -R hadoop:hadoop zookeeperll
ll
即可看到zookeeper的状态,如图所示:
2).配置在datanode节点建myid
退出root用户,在家目录hadoop用户下创建相关版本的zookeeper-3.4.6目录文件,并在该目录下创建data目录,用于存放myid
cd mkdir zookeeper-3.4.6mkdir zookeeper-3.4.6/datavi myid插入1,保存退出:wq
内容如下:
3).配置zoo.cfg
进入到zookeeper的配置文件目录下,将zoo_sample.cfg
改为zoo.cfg
,打开进行配置
cd /usr/zookeeper/conf/mv zoo_sample.cfg zoo.cfgvi zoo.cfg
在16行的dataDir设置为上一步的data路径
dataDir=/home/hadoop/zookeeper-3.4.6/data
在21行添加如下配置
server.1=Master.Hadoop:2888:3888server.2=Slave1.Hadoop:2888:3888server.3=Slave2.Hadoop:2888:3888
这里的server.id 对应myid中设置的数字 如:这里有三台机器装了zookeeper,那么对应的myid分别为:
Master.Hadoop 中的myid为1Slave1.Hadoop 中的myid为2Slave2.Hadoop 中的myid为3
将35行和39行的注释打开
autopurge.snapRetainCount=3autopurge.purgeInterval=1
zoo.cfg配置完成,保存退出即可,如图所示:
4).将zookeeper发送到其他slave并修改权限
同hadoop的配置一样,将/usr
下的zookeeper
和/home/hadoop/zookeeper-3.4.6
文件分别发送到所有的Slave机器上,可发送到root用户。
scp -r /usr/zookeeper root@Slave1.Hadoop:/usrscp -r /usr/zookeeper root@Slave2.Hadoop:/usrscp -r /home/hadoop/zookeeper-3.4.6 hadoop@Slave1.Hadoop:/home/hadoop/scp -r /home/hadoop/zookeeper-3.4.6 hadoop@Slave2.Hadoop:/home/hadoop/
发送完成后,分别root登录到Slave1和Slave2,修改权限和myid
cd /usrchown -R hadoop:hadoop zookeepervi /home/hadoop/zookeeper-3.4.6/data/myid将Slave1.Hadoop中的myid设置为2将Slave2.Hadoop中的myid设置为3
5).开启Zookeeper服务
配置完成后,分别在装有zookeeper的三台机器上启动zookeeper
cd /usr/zookeeper/bin./zkServer.sh startjps
如果三台机器都有QuorumPeerMain
进程,则说明zookeeper启动成功。
6).查看Zookeeper服务状态
zookeeper通过选举机制来选出leader
和follower
,因此机器必须为奇数,偶数会出问题。相关的选举机制及其原理,请参照zookeeper原理 分别在三台机器上查看zookeeper状态
./zkServer.sh status
至此,zookeeper配置成功。
2.HBase安装配置
1.复制解压hbase-1.1.7-bin.tar.gz
root用户登录,将hbase-1.1.7-bin.tar.gz
拷贝到/usr
目录下,解压后,将hbase-1.1.7
重命名为hbase
,删除hbase-1.1.7-bin.tar.gz
包,给hbase
添加读权限。
cd /usr/loacl/srclscp hbase-1.1.7-bin.tar.gz /usr/ #将hbase安装包拷贝到安装目录cd /usr & lstar zxvf hbase-1.1.7-bin.tar.gz #解压缩mv hbase-1.1.7 hbase #重命名rm hbase-1.1.7-bin.tar.gz chown -r hadoop:hadoop hbase #改权限
如下图操作:
接下来要进行配置,共需要配置三个文件:hbase-env.sh
hbase-site.xml
和 regionservers
.如图所示:
2.配置hbase-env.sh
hbase-env.sh
的配置有几个坑,第一个为HBASE_PID_DIR
,第二个为PermSize
设置问题,如果第一个不设置的话,在启动hbase的时候会出现一个错误提示
/usr/hbase/bin/hbase-daemon.sh:行213: /tmp/hbase-hadoop-master.pid: 权限不够
由于The directory where pid files are stored. /tmp by default.
默认存放hbase-hadoop-master.pid的目录为/tmp
,而这个目录为系统级目录,需要root权限,且每次系统重启后/tmp
目录内容清空。故需要重新设置一下,后边会讲。第二个如果不设置的话,也会出现警告提示:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0........
因此,也需要在hbase-env.sh
配置文件中进行配置,后面讲。
在hbase-env.sh
配置文件中,需要配置三个
地方。第一个为JDK
目录,第二个为HBASE_PID_DIR
,第三个为PermSize
.
cd /usr/hbase/confvi hbase-env.sh1.在28行配置jdk路径export JAVA_HOME=/usr/java/jdk1.8.0_1112.在122行配置pid目录export HBASE_PID_DIR=/home/hadoop/hbase-1.1.7/tmp3.在46行将PermSize的两个配置关掉#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
至此,hbase-env.sh配置完成。保存退出即可:wq
,这是正确的配置方法,如图:
jdk配置:
pid_dir配置:这里的pid路径需要自己创建如果不配置的话,启动时会出现如下错误:
permsize配置:入托不进行配置的话,启动时会出现如下错误:
3.配置hbase-site.xml
vi hbase-site.xml添加如下配置:<property> <name>hbase.rootdir</name> <value>hdfs://Master.Hadoop:9000/hbase</value></property><property> <name>hbase.cluster.distributed</name> <value>true</value></property><property> <name>hbase.zookeeper.quorum</name> <value>Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop</value></property><property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/zookeeper-3.4.6/data</value></property>保存退出:wq
其中hbase.zookeeper.property.dataDir
的目录为之前配置zookeeper
的data目录。
4.配置regionservers
vi regionservers添加:Master.HadoopSlave1.HadoopSlave2.Hadoop
5.将hbase发送到其他slave
和hadoop、zookeeper的配置一样,在master上配置完成后,将其相关文件发送到所有的slave下,并且修改其权限。
scp -r /usr/hbase root@Slave1.Hadoop:/usrscp -r /usr/hbase root@Slave2.Hadoop:/usr提示让输入密码后发送过去scp -r /home/hadoop/hbase-1.1.7 hadoop@Slave1.Hadoop:/home/hadoopscp -r /home/hadoop/hbase-1.1.7 hadoop@Slave2.Hadoop:/home/hadoop
分别进入Slave1和Slave2,修改/usr/hbase
的权限问题,root用户登录
cd /usrllchown -R hadoop:hadoop hbase/
修改完成后,即完成hbase配置,下边开启服务并验证。
6.开启HBase服务
进入master的hbase
cd /usr/hbase/bin./start-hbase.shjps查看所有机器,会出现HRegionServer进程,但是在Master.Hadoop中缺少`HMaster`进程。
如果你的机器中在Master中出现HMaster
和HRegionServer两个进程,在Slave上出现HRegionServer一个进程,则表示配置成功。忽略一下步骤。 在HBase启动时,如果HRegionServer或者HMaster其中一个进程启动不成功,可以查看日志,会发现集群时间不一致,误差超过2分半钟,所以要保证集群的时间同步。建议搭建ntp时间服务器来保证时间同步。方法如下:
7.搭建ntp时间服务器
其实这一步在安装完操作系统就该配置好,由于之前没有发现这里的错误,故就在此进行配置。在系统中查看当前时间,会发现与当前时间不一致。
(1).检查安装ntp服务
rpm -qa | grep ntp #检查是否安装ntp服务,如果没有安装,执行yum install ntp
如图所示:
(2).配置ntp服务
为保证集群时间一致,现将hbase的master节点所在虚拟机作为时间服务器,其他Slave节点都与Master节点时间保持一致即可。如果Master连接外网,打开ntp配置文件进行配置。root用户登录
vi /etc/ntp.conf在17行左右加# Hosts on local network are less restricted.restrict 10.211.55.0 mask 255.255.255.0 nomodify notrap27行左右加# 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cnserver 210.72.145.44 perfer #中国国家受时中心37行左右加# 允许上层时间服务器主动修改本机时间restrict 210.72.145.44 nomodify notrap noqueryrestrict 202.112.10.36 nomodify notrap noqueryrestrict 59.124.196.83 nomodify notrap noquery# 外部时间服务器不可用时,以本地时间作为时间服务server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10保存退出:wq
(3).启动服务
配置完成后,需要将ntp服务启动,用下边几条命令进行相关操作
systemctl enable ntpd.service #设置开机启动systemctl start ntpd.service #启动服务systemctl status ntpd.service #查看状态systemctl restart ntpd.service #重启服务
(4).Slave时间同步
在Slave1和Slave2上进行时间同步。root用户登录后
ntpdate Master.Hadoop
即可查看时间已经改变。
(5).再次启动HBase并查看状态
时间同步完成后,再次启动hbase查看进程状态 退出root用户。hadoop用户登录
cd /usr/hbase/bin./start-hbase.shjps
会发现Master中有HMaster和HRegionServer,Slave中有HRegionServer则表示启动成功。
如果你的机器中在Master中出现HMaster
和HRegionServer两个进程,在Slave上出现HRegionServer一个进程,则表示配置成功。忽略一下步骤。 在HBase启动时,如果HRegionServer或者HMaster其中一个进程启动不成功,可以查看日志,会发现集群时间不一致,误差超过2分半钟,所以要保证集群的时间同步。建议搭建ntp时间服务器来保证时间同步。方法如下:
7.搭建ntp时间服务器
其实这一步在安装完操作系统就该配置好,由于之前没有发现这里的错误,故就在此进行配置。在系统中查看当前时间,会发现与当前时间不一致。
(1).检查安装ntp服务
rpm -qa | grep ntp #检查是否安装ntp服务,如果没有安装,执行yum install ntp
如图所示:
(2).配置ntp服务
为保证集群时间一致,现将hbase的master节点所在虚拟机作为时间服务器,其他Slave节点都与Master节点时间保持一致即可。如果Master连接外网,打开ntp配置文件进行配置。root用户登录
vi /etc/ntp.conf在17行左右加# Hosts on local network are less restricted.restrict 10.211.55.0 mask 255.255.255.0 nomodify notrap27行左右加# 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cnserver 210.72.145.44 perfer #中国国家受时中心37行左右加# 允许上层时间服务器主动修改本机时间restrict 210.72.145.44 nomodify notrap noqueryrestrict 202.112.10.36 nomodify notrap noqueryrestrict 59.124.196.83 nomodify notrap noquery# 外部时间服务器不可用时,以本地时间作为时间服务server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10保存退出:wq
(3).启动服务
配置完成后,需要将ntp服务启动,用下边几条命令进行相关操作
systemctl enable ntpd.service #设置开机启动systemctl start ntpd.service #启动服务systemctl status ntpd.service #查看状态systemctl restart ntpd.service #重启服务
(4).Slave时间同步
在Slave1和Slave2上进行时间同步。root用户登录后
ntpdate Master.Hadoop
即可查看时间已经改变。
(5).再次启动HBase并查看状态
时间同步完成后,再次启动hbase查看进程状态 退出root用户。hadoop用户登录
cd /usr/hbase/bin./start-hbase.shjps
会发现Master中有HMaster和HRegionServer,Slave中有HRegionServer则表示启动成功。
至此,HBase安装配置完成,鉴于Hive配置较为繁琐,且篇幅较长,单独拿出一章配置Hive。
================
#看在我辛苦截图敲代码的份上,喜欢的话打赏一下吧,哈哈。
转个人博客:Hadoop系列之(三)Zookeeper、HBase安装配置
- Hadoop系列之(三)Zookeeper、HBase安装配置
- hadoop,hbase,zookeeper安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- 0128 Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- Hadoop+HBase+ZooKeeper三者关系与安装配置
- hadoop集群搭建之三(Hbase、zookeeper安装)
- 记录配置Hadoop+zookeeper+Hbase的完整过程(三)
- CentOS+Hadoop+Zookeeper+HBase安装配置
- hadoop、zookeeper、hbase安装配置集群
- Hadoop连载系列之三:HBase分布式安装
- Hadoop+Hbase+Zookeeper安装
- hadoop,zookeeper.hbase安装
- (转)人工智能无处不在,这次是有公司用它来炒股
- Unity3D使用Native Plugins(快速便捷接入SDK) —— 内嵌网页UniWebView篇
- java调用存储过程之MySQL
- 第五章 适用对象
- 编程命名规则
- Hadoop系列之(三)Zookeeper、HBase安装配置
- 调试定位错误:__FILE__和__LINE__
- 东秦第四届图灵杯-E-粉丝与分割平面【分割问题】
- java8新特性(拉姆达表达式lambda)
- 半数集VS半数单集
- 学习笔记--mysql常用数据类型总结
- 我是手游开发者(三)客户端与服务器时间同步问题
- Hadoop系列之(四)Hive安装配置
- java面试题新的