搜档网
当前位置:搜档网 › CentOS7环境安装Hbase1.2.1笔记

CentOS7环境安装Hbase1.2.1笔记

CentOS7环境安装Hbase1.2.1笔记
CentOS7环境安装Hbase1.2.1笔记

CentOS7系统 Hbase1.2.1 安装笔记

时间:2016.04.21~2016.04.22

环境:VMware? Workstation 12 Pro

12.1.0 build-3272444

编写人:马飞

目录

目录 (2)

一、确认安装版本 (4)

二、软件下载地址 (4)

三、参考安装教程 (5)

四、操作系统centos 7安装 (5)

(1)安装操作系统 (5)

(2)修改主机名 (5)

(3)设置IP、网关、DNS (5)

(4)关闭防火墙 (5)

五、SSH免密码登录 (6)

(1)修改sshd_config配置 (6)

(2)生成key (6)

(3)合并key (6)

(4)拷贝key (6)

(5)检证免密登陆 (6)

六、安装JDK1.7过程 (6)

(1)创建安装目录 (7)

(2)上传压缩包至master并解压 (7)

(3)移动JDK至相应目录 (7)

(3)编辑 /etc/profile 文件 (7)

(4)使配置生效 (7)

(5)检查安装版本 (7)

(6)同步JDK至其它节点 (7)

七、Hadoop2.7安装流程 (8)

(1)下载hadoop安装包 (8)

(2)解压压缩包 (8)

(3)在/home/hadoop目录下创建目录 (8)

(4)配置core-site.xml (8)

(5)配置hdfs-site.xml (8)

(6)配置mapred-site.xml (9)

(7)配置yarn-site.xml (9)

(8)配置hadoop-env.sh、yarn-env.sh的JAVA_HOME (10)

(9)配置slaves (10)

(10)传送Hadoop至其它节点 (11)

(11)启动Hadoop (11)

八、Hadoop2.7安装问题 (11)

(1)执行start-all.sh脚本时错误 (11)

(2)在slave1,slave2节点无jps命令 (12)

(3)Hadoop停止时出错 (12)

九、Hbase1.2.1安装流程 (12)

(1)复制安装包至master节点 (12)

(2)解压压缩包 (12)

(3)添加到环境变量 (13)

(4)修改配置文件hbase-env.sh (13)

(5)修改配置文件hbase-site.xml (13)

(6)修改配置文件hbase-site.xml (14)

(7)测试Web访问 (14)

十、Hbase1.2.1出错处理 (15)

(1)启动Hbase报错一 (15)

(2)启动Hbase报错二 (15)

(3)停止hbase错误,详见日志 (16)

(4)运行脚本stop-hbase.sh报错 (16)

(5)运行脚本hbase shell报错 (17)

十一、Hbase1.2.1测试 (17)

(1)Hbase1.2.1 测试脚本 (17)

一、确认安装版本

查看hbase 官方文档找到与hadoop 版本对应的hbase 并下载地址:https://www.sodocs.net/doc/6e8789725.html,/book.html#basic.prerequisites

二、软件下载地址

三、参考安装教程

CentOS7安装Hadoop2.7完整流程

https://www.sodocs.net/doc/6e8789725.html,/lib/view/open1435761287778.html

HBase安装部署

https://www.sodocs.net/doc/6e8789725.html,/shishanyuan/p/4227525.html

Hadoop2.7.1 集群部署及自动化脚本

https://www.sodocs.net/doc/6e8789725.html,/zcf1002797280/article/details/49500027四、操作系统centos 7安装

(1)安装操作系统

(2)修改主机名

/etc/hosts

/etc/sysconfig/network

(3)设置IP、网关、DNS

(4)关闭防火墙

三台机器均关闭防火墙

#停止firewall

systemctl stop firewalld.service

#禁止firewall开机启动

systemctl disable firewalld.service

管理员口令:root/mafecnnui!@#

五、SSH免密码登录

因为Hadoop需要通过SSH登录到各个节点进行操作,我用的是root用户,每台服务器都生成公钥,再合并到authorized_keys。

(1)修改sshd_config配置

CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置。

#RSAAuthentication yes

#PubkeyAuthentication yes

(2)生成key

输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh 文件夹,每台服务器都要设置。

(3)合并key

合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并。

cat id_rsa.pub>> authorized_keys

ssh root@192.168.0.183 cat ~/.ssh/id_rsa.pub>> authorized_keys

ssh root@192.168.0.184 cat ~/.ssh/id_rsa.pub>> authorized_keys

(4)拷贝key

把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录。scp authorized_keys known_hosts root@192.168.0.183:/root/.ssh

scp authorized_keys known_hosts root@192.168.0.184:/root/.ssh

(5)检证免密登陆

ssh root@192.168.0.183、ssh root@192.168.0.184就不需要输入密码了。

六、安装JDK1.7过程

(1)创建安装目录

mkdir /usr/lib/jdk1.7

(2)上传压缩包至master并解压

tar -zxvf jdk-7u79-linux-x64.gz -C /usr/lib/jdk1.7 (3)移动JDK至相应目录

移动jdk1.7.0_79中的文件到/usr/lib/jdk1.7,并删除jdk1.7.0_79文件夹cp -rf /usr/lib/jdk/jdk1.7.0_79/* /usr/lib/jdk1.7/

rm -rf /usr/lib/jdk/jdk1.7.0_79/

(3)编辑 /etc/profile 文件

export JAVA_HOME=/usr/lib/jdk1.7

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar

:$JAVA_HOME/lib/dt.jar

:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

(4)使配置生效

source /etc/profile

(5)检查安装版本

java -version

(6)同步JDK至其它节点

在另两台节点上分别执行,或是直接拷贝目录。

scp -r /usr/lib/jdk1.7/salve1:/usr/lib/

scp -r /usr/lib/jdk1.7/slave2:/usr/lib/

七、Hadoop2.7安装流程

(1)下载hadoop安装包

将下载“hadoop-2.7.2.tar.gz”文件上传至到/home/hadoop目录下(2)解压压缩包

tar -xzvf hadoop-2.7.2.tar.gz

(3)在/home/hadoop目录下创建目录

创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name mkdir -p tmp hdfs/name hdfs/data

(4)配置core-site.xml

/home/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml

fs.defaultFS

hdfs://192.168.0.182:9000

hadoop.tmp.dir

file:/home/hadoop/tmp

io.file.buffer.size

131702

(5)配置hdfs-site.xml

配置/home/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml

https://www.sodocs.net/doc/6e8789725.html,.dir

file:/home/hadoop/hdfs/name

dfs.datanode.data.dir

file:/home/hadoop/hdfs/data

dfs.replication

2

https://www.sodocs.net/doc/6e8789725.html,node.secondary.http-address

192.168.0.182:9001

dfs.webhdfs.enabled

true

(6)配置mapred-site.xml

配置/home/hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml

https://www.sodocs.net/doc/6e8789725.html,

yarn

mapreduce.jobhistory.address

192.168.0.182:10020

mapreduce.jobhistory.webapp.address

192.168.0.182:19888

(7)配置yarn-site.xml

配置/home/hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler

yarn.resourcemanager.address

192.168.0.182:8032

yarn.resourcemanager.scheduler.address

192.168.0.182:8030

yarn.resourcemanager.resource-tracker.address

192.168.0.182:8031

yarn.resourcemanager.admin.address

192.168.0.182:8033

yarn.resourcemanager.webapp.address

192.168.0.182:8088

yarn.nodemanager.resource.memory-mb

768

(8)配置hadoop-env.sh、yarn-env.sh的JAVA_HOME

配置/home/hadoop/hadoop-2.7.2/etc/hadoop目录下

hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了。export JAVA_HOME=/usr/lib/jdk1.7

(9)配置slaves

配置/home/hadoop/hadoop-2.7.2/etc/hadoop/slaves

删除默认的localhost,增加2个从节点

192.168.0.183

192.168.0.184

(10)传送Hadoop至其它节点

将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,

scp -r /home/hadoop 192.168.0.183:/home/

scp -r /home/hadoop 192.168.0.184:/home/

(11)启动Hadoop

(A)在Master服务器启动hadoop,从节点会自动启动,

进入/home/hadoop/hadoop-2.7.2目录

初始化,输入命令,bin/hdfs namenode -format

namenode.txt

(B)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh

八、Hadoop2.7安装问题

(1)执行start-all.sh脚本时错误

错误日志:

192.168.0.183: /home/hadoop/hadoop-2.7.2/bin/hdfs:行304: /usr/lib/jdk1.7/bin/java: 没有那个文件或目录。

192.168.0.184: /home/hadoop/hadoop-2.7.2/bin/hdfs:行304: /usr/lib/jdk1.7/bin/java: 没有那个文件或目录。

以下是详细日志

start-all-failure.txt

解决办法:

在192.168.0.183,192.168.0.184两台机器上安装JDK

命令如下:

scp -r /usr/lib/jdk1.7 192.168.0.183:/usr/lib/

scp -r /usr/lib/jdk1.7 192.168.0.184:/usr/lib/

停止所有服务后,再次执行start-all.sh脚本后启动成功,启动日志如下:

start-all-success.txt

(C)停止的话,输入命令,sbin/stop-all.sh

stop-all.txt

(2)在slave1,slave2节点无jps命令

错误:在master输入命令jps可以看到相关信息,在192.168.0.182启动,其它两个节点没有jps命令

[root@localhost hadoop-2.7.2]# which jps

/usr/lib/jdk1.7/bin/jps

[root@localhost hadoop-2.7.2]# jps

19775 Jps

19146 SecondaryNameNode

18971 NameNode

19292 ResourceManager

原因:需要在指定图形窗口中执行:source /etc/profile,该文件中设置了相关路径。或重启系统后会自动生效。

(3)Hadoop停止时出错

错误日志及处理过程详见附件

stop-all-error.txt

九、Hbase1.2.1安装流程

(1)复制安装包至master节点

通过ftp或是直接拷贝至master节点

(2)解压压缩包

tar zxvf hbase-1.2.1-bin.tar.gz

(3)添加到环境变量

将hbase添加到环境变量/etc/profile中

export HBASE_HOME=/home/hbase/hbase-1.2.1

export PATH=$HBASE_HOME/bin:$PATH

(4)修改配置文件hbase-env.sh

/home/hbase/hbase-1.2.1/conf/hbase-env.sh

export JAVA_HOME=/usr/lib/jdk1.7

(5)修改配置文件hbase-site.xml

hbase.rootdir

hdfs://master:9000/hbase

hbase.cluster.distributed

true

hbase.zookeeper.quorum

master,slave1,slave2

hbase.temp.dir

/home/hbase/hbase-1.2.1/tmp

hbase.zookeeper.property.dataDir

/home/hbase/hbase-1.2.1/tmp/zookeeper

https://www.sodocs.net/doc/6e8789725.html,.port

60010

标红参数配置后才可以打开hbase数据库web ui界面。

(6)修改配置文件hbase-site.xml

修改regionservers,将文件内容设置为: master

slave1

slave2

(7)测试Web访问

A、浏览器打开http://master:8088/

B、浏览器打开http://master:50070/

http://master:60010/master-status

十、Hbase1.2.1出错处理

(1)启动Hbase报错一

报错原因:三台服务器的/etc/hosts文件中只配置了自己的IP及主机名

处理办法:需在三台服务器的/etc/hosts文件中增加以下内容

192.168.0.182 master

192.168.0.183 slave1

192.168.0.184 slave2

出错日志:

start-hbase-failure.txt

(2)启动Hbase报错二

按照上面方法添加内容后,依然报错。

错误原因:Hbase相关目录没有拷贝至slave1,slave2节点

处理办法:将master节点配置好的hbase目录拷贝至slave1,slave2节点

scp -r /home/hbase slave1:/home/

scp -r /home/hbase slave2:/home/

报错日志:

start-hbase-failure2.txt

(3)停止hbase错误,详见日志

stop-hbase-failure.txt

处理了以上两种错误后启动hbase成功,但提示某进程已存在。

start-hbase-success.txt

重新停止后,再次启动

start-hbase-success2..txt

错误原因:

造成上述错误的原因是,默认情况下hbase的pid文件保存在/tmp目录下,/tmp目录下的文件很容易丢失,所以造成停止集群的时候出现上述错误。

处理办法:

A.在hbase-env.sh中修改pid文件的存放路径,配置项如下所示

# The directory where pid files are stored. /tmp by default.

export HBASE_PID_DIR=/var/hadoop/pids

B.修改文件后需要进行如下操作:

[root@localhost hbase-1.2.1]# cd /var

[root@localhost var]# mkdir -p hadoop/pids

C.将修改好的hbase-env.sh文件拷贝至slave1,slave2,并重新测试。

scp hbase-env.sh slave1:/home/hbase/hbase-1.2.1/conf

scp hbase-env.sh slave2:/home/hbase/hbase-1.2.1/conf

D.最终测试hbase启动停止均成功,以下是日志

last-test.txt

(4)运行脚本stop-hbase.sh报错

错误:stopping hbasecat: /home/hadoop/hdfs/pids/hbase-root-master.pid: 没有那个文件或目录。

原因:只在master一台电脑半闭防火墙,另外两台节点未半闭。

last-test2.txt

(5)运行脚本hbase shell报错

Unable to load native-hadoop library for your platform

Hbase-shell-failure.txt 报错内容多是由于(4)的故障造成的,有许多进程由于slave1,slave2两节点防火墙未关闭,导致其上的进程未能启动。

hbase-shell-failure.txt

Hbase-shell-failure2.txt 消除了进程无故消失的问题后,报错信息减少了。

hbase-shell-failure2.txt

处理过程:直至成功,方法详见以下附件。

hbase-shell-success.txt

十一、Hbase1.2.1测试

(1)Hbase1.2.1 测试脚本

hbase-test.txt

(2)常用命令

last-test3.txt

相关主题