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
(5)配置hdfs-site.xml
配置/home/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
(6)配置mapred-site.xml
配置/home/hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml
(7)配置yarn-site.xml
配置/home/hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml
(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数据库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