今天在ubuntu服务器上尝试安装hbase,参考了网上的教程,遇到了各种坑,所以写个博文记录以下,避免以后采坑。

首先给出参考的几篇文章链接:

Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)

Linux 下ZooKeeper安装

Hadoop2.7.1 安装提示SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException

Hadoop之Unable to load native-hadoop library问题解决

用Python3.6操作HBase之HBase-Thrift

使用python中的pyhdfs连接HDFS进行操作

在hbase的官网下载1.2.6版本,https://archive.apache.org/dist/hbase/1.2.6/

在1.2.6对应的文档中,我们发现需要安装jdk、zookeeper以及hadoop环境,http://hbase.apache.org/1.2/book.html

hbase1.2.6可使用的jdk是1.7和1.8,由于1.7太老了,这里以安装下载jdk1.8为例

hbase1.2.6可使用的hadoop版本是2.7.1+,这里以安装下载2.7.6为例

创建hadoop用户

sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell
sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码
sudo adduser hadoop sudo             #为hadoop用户增加管理员权限
su - hadoop                          #切换当前用户为用户hadoop,输入刚设置的密码

接着安装ssh,设置ssh无密码登录:

sudo apt-get install openssh-server   #安装SSH server
ssh localhost                         #登陆SSH,第一次登陆输入yes
exit                                  #退出登录的ssh localhost
cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
ssh-keygen -t rsa 

输入完  $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车。其中,第一次回车是让KEY存于默认位置,以方便后续的命令输入。第二次和第三次是确定passphrase,相关性不大。敲完回车后会出现一个图形秘钥。接着输入以下指令:

cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost                         #此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案

登录成功后通过exit指令退出localhost,回到hadoop

安装jdk1.8

官网下载jdk1.8,https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载名为 jdk-8u221-linux-x64.tar.gz

下载后将文件上传至ubuntu服务器,将jdk1.8文件进行解压:

sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib

接着打开profile修改环境变量:

sudo vim /etc/profile

在文件的末尾追加以下信息:

#set oracle jdk environment
export JAVA_HOME=/usr/lib/jdk1.8.0_221  # 目录要换成自己解压的jdk目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH 

使环境变量生效:

source /etc/profile

设置系统默认jdk版本(记得将后面的jdk目录改成自己的jdk解压目录):

sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk1.8.0_221/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk1.8.0_221/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jdk1.8.0_221/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jdk1.8.0_221/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jdk1.8.0_221/bin/javap 300   

接着执行:

sudo update-alternatives --config java

如果是第一次安装jdk会有如下提示:

There is only one alternative in link group java (providing /usr/bin/java):/usr/lib/jdk1.8.0_221/bin/java

查看jdk版本:

java -version

如果终端打印出 java version"1.8.0_221" 信息,说明安装成功。

安装zookeeper

下载zookeeper的链接:http://mirror.bit.edu.cn/apache/zookeeper/

本文下载的是版本是3.4.14,下载后上传到服务器上:

sudo tar -zxvf  zookeeper-3.4.14.tar.gz -C /usr/local  # 解压文件
cd /usr/local  # 进入解压目录
sudo mv zookeeper-3.4.14/ zookeeper  # 重命名为zookeeper
sudo chown -R hadoop ./zookeeper  # 更改权限,hadoop是我们创建的主机名

切换到zookeeper的conf文件下,备份zoo_sample.cfg,并打开编辑复制的zoo.cfg文件

cp zoo_sample.cfg zoo.cfg    //copy一份到当前目录下,并命名为zoo.cfg
vim zoo.cfg

编辑下面两项:

dataDir=/etc/zookeeper
dataLogDir=/etc/zookeeper/log

然后创建/etc/zookeeper以及/etc/zookeeper/log文件夹,并修改权限:

cd /etc/
sudo mkdir zookeeper  # 创建文件夹
sudo mldir zookeeper/log
sudo chown -R hadoop zookeeper/  # 修改文件所有者
sudo chmod 777 zookeeper/   # 修改读写权限

接着添加环境变量:

sudo vim /etc/profile

在文件末尾加入:

export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin

刷新环境变量:

source /etc/profile

启动zookeeper:

zkServer.sh start   # 启动
zkServer.sh status  # 查看运行状态

启动客户端:

zkCli.sh   # 启动客户端
quit  # 退出客户端

安装hadoop

下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/

本文下载的hadoop版本为2.7.6,下载完后将文件上传至服务器。

通过以下指令进行解压:

sudo tar -zxvf  hadoop-2.7.6.tar.gz -C /usr/local  # 解压文件
cd /usr/local  # 进入解压目录
sudo mv hadoop-2.7.6 hadoop  # 重命名为hadoop
sudo chown -R hadoop ./hadoop  # 更改权限,hadoop是我们创建的主机名

打开profile添加环境变量:

sudo vim etc/profile

在文件的末尾加上以下内容,HADOOP_HOME是你自己解压的hasoop目录位置:

#set hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

更新环境变量:

source /etc/profile  # 更新环境变量
hadoop version  # 查看hadoop版本信息

接下来进行伪分布式配置

首先进入/usr/local/hadoop/etc/hadoop/目录,打开hadoop-env.sh文件:

cd /usr/local/hadoop/etc/hadoop/
sudo vim hadoop-env.sh

修改JAVA_HOME:

export JAVA_HOME=/usr/lib/jdk1.8.0_221

接下来需要修改两个配置文件 core-site.xml 和 hdfs-site.xml:

用vim打开core-site.xml文件,添加如下信息:

<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>

接着打开hdfs-site.xml,添加如下信息:

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property>
</configuration>

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(可参考官方教程),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

接下来检查hostname是否存在映射(若不检查,可能在hadoop格式化时报错:SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: xxx: xxx: Name or service not known) ,通过以下指令查看本机hostname:

hostname

接下来打开 /etc/hosts 文件看有没有映射信息,我的服务器hostname是tensorflowob则对应以下信息:

127.0.0.1 localhost tensoflowob  # 查看该行是否存在,若不存在添加该映射信息

接着重启网络:

/etc/init.d/networking restart

最后测试hadoop:

cd /usr/local/hadoop  # 打开hadoop目录
./bin/hdfs namenode -format   # 格式化名称节点
./sbin/start-dfs.sh  # 启动hadoop
jps  # 查看启动结果

正常启动后通过jps指令,应该会显示以下四个信息:

4821 Jps
4459 DataNode
4348 NameNode
4622 SecondaryNameNode

关闭hadoop服务:

./sbin/stop-dfs.sh

如果在启动过程中出现“The authenticity of host ‘0.0.0.0 (0.0.0.0)’ can’t be established.”类似错误,登录root管理员,输入指令ufw disable,关闭防火墙,重启下系统即可。

安装hbase

我们安装好jdk和hadoop环境后,开始安装hbase,hbase1.2.6的下载链接:https://archive.apache.org/dist/hbase/1.2.6/

下载完成后上传至服务器,并进行解压:

sudo tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/localcd /usr/local
sudo mv hbase-1.2.6/ hbase  # 修改文件名

接着配置环境变量:

sudo vim /etc/profile

在文件末尾加上:

# set hbase environment
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

更新环境变量:

source /etc/profile  # 更新环境变量
hbase version # 查看hbase版本信息

修改hbase的配置文件(这里需要修改4个文件)

进入到hbase的安装目录下的conf配置文件夹

1)首先修改hbase-env.sh文件:

cd /usr/local/hbase/conf
sudo vim hbase-env.sh

修改其中的:

export JAVA_HOME=/usr/lib/jdk1.8.0_221
export HBASE_MANAGES_ZK=false  # 使用本机自带的zookeeper

2)接着修改hbase-site.xml文件:

<configuration><property><!-- 指定hbase在HDFS上的存储路径 --><name>hbase.rootdir</name><value>hdfs://localhost:9000/myhbase</value></property><property><!-- 指定hbase是分布式的 --><name>hbase.cluster.distributed</name><value>true</value></property><property><!-- 指定zk的地址,多个用','隔开 --><name>hbase.zookeeper.quorum</name><value>tensorflowob</value></property>
</configuration>

3)修改regionservers文件,配置从节点的主机名

sudo vim regionservers

清空里面的信息,将hadoop的节点信息添加进去即可(注意不要有多余的空格和回车)

tensoflowob

4)新建一个文件backup-masters配置hmaster的备份节点:

sudo vim backup-masters 

这里将备份节点备份在hadoop上(可设置多个节点),在backup-masters中写入:

tensorflowob

接着,我们将hadoop的配置文件hdfs-site.xml   core-site.xml放到hbase的conf下(当前目录在hbase的conf下):

sudo cp /usr/local/hadoop/etc/hadoop/core-site.xml ./
sudo cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml ./

全部修改完后开始启动hbase,注意:启动hbase之前需要提前启动zookeeper和hadoop

zkServer.sh start   # 启动zookeeper
zkServer.sh status  # 查看运行状态cd /usr/local/hadoop  # 打开hadoop目录
./bin/hdfs namenode -format   # 格式化名称节点,若之前格式化过请忽略此步骤
./sbin/start-dfs.sh  # 启动hadoop
jps  # 查看启动结果cd /usr/local/hbase/  # 进入hbase目录
./bin/start-hbase.sh    # 开启hbase
jps  # 查看启动结果# 如果要进入hbase的shell窗口,通过以下指令
cd /usr/local/hbase/bin  # 进入hbase的bin目录
./hbase shell # 启动hbase shell
quit # 退出shell窗口

在hadoop启动过程后,通过jps指令可以看到启动了:DataNode,NameNode,SecondaryNameNode,Jps,QuorumPeerMain(这个是zookeeper启动的)五个进程。

在hbase启动过程后,通过jps指令查看,除了上面5个进程外还有HMasterHRegionServer两个进程。

启动完后我们通过浏览器访问 10.2.14.137:16010 就能够进入hbase的管理页面了,其中10.2.14.137是服务器的地址,需要改成你自己的服务器地址,端口号16010是默认的,通过浏览器访问 10.2.14.137:50070 就能够进入hadoop的管理页面了,同样将端口号前的地址改成你自己的服务器地址。

安装thrift模块

hbase是用java语言写的,所以原生支持java,但如果想通过其他语言调用hbase数据库就需要安装thrift模块,本文需要使用python3去调用hbase的thrift模块,所以要在服务器端安装thrift模块,本文安装的是0.11.0版本。

thrift0.11.0版本下载链接:http://mirrors.hust.edu.cn/apache/thrift/0.11.0/thrift-0.11.0.tar.gz

接着安装所需要的依赖包:

apt-get install automake bison flex g++ git libboost1.55 libevent-dev libssl-dev libtool make pkg-config

解压编译安装:

sudo tar -zxvf thrift-0.11.0.tar.gz /usr/local/  # 解压
cd /usr/local
sudo mv thrift-0.11.0/ thrift  # 更改文件名称
sudo chmod 777 -R thrift  # 赋予读写权限
cd thrift
./configure --with-cpp --with-boost --with-python --without-csharp --with-java --without-erlang --without-perl --with-php --without-php_extension --without-ruby --without-haskell  --without-go
sudo make
sudo make install

安装完成后进入到hbase的bin目录下启动thrift接口:

cd /usr/local/hbase/bin
./hbase-daemon.sh start thrift

开启thrift接口后可通过服务器的9090端口去访问hbase数据库。

ubuntu16.04 server hbase1.2.6离线安装相关推荐

  1. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)...

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  2. ubuntu16.04 server unrar解压rar文件提示command not found和解压tar.bz2文件

    ubuntu16.04 server unrar解压rar文件提示command not found和解压tar.bz2文件 Unrar解压rar文件失败 unrar e a.rar -sh: unr ...

  3. Ubuntu16.04 NVIDIA显卡驱动卸载与安装

    Ubuntu16.04 NVIDIA显卡驱动卸载与安装 1.NVIDIA显卡驱动下载 2.NVIDIA显卡驱动卸载 3.NVIDIA显卡驱动安装 3.1.在线安装 3.2.离线安装 1.NVIDIA显 ...

  4. Ubuntu16.04里django的配置和安装

    Ubuntu16.04里django的配置和安装 关于在Ubuntu16.04里django的配置和安装: sudo apt-get install python-pip sudo apt-get i ...

  5. 基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法

    基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法 参考文章: (1)基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对 ...

  6. ubuntu16.04+cuda8.0+cudnn5.1+caffe 安装(基于独立主机集成显卡GTX1080Ti)

    最近开始配置自己的深度学习主机,由于之前只在笔记本上和单显卡主机上安装过,所以可以说是zero经验,以至于很多问题不了解都当成了bug,故为了方便以后的自己以及大众,特在此写下post一篇.(由于可能 ...

  7. ubuntu16.04系统显卡驱动查询与安装

    ubuntu16.04系统显卡驱动查询与安装 1. 查询并下载显卡驱动 1.1 关于nouveau驱动 1.2 下载显卡驱动 2. 安装显卡驱动 2.1 禁用nouveau驱动 2.2 卸载原有的显卡 ...

  8. 群晖 python_利用群晖Docker安装ubuntu16.04搭建python网站服务器(安装篇)

    折腾的原因:我目前有两个网站需要挂载,因为为了玩,并不是为了大流量,所以就挂在家里的群晖中.一个是小圈子(www.cirdown.com:81),因为用的是discuz论坛,php的,所以直接用我的黑 ...

  9. 戴尔灵越游匣+Ubuntu16.04的NVIDIA GTX1050显卡驱动安装.md

    文章目录 完成标志 过程 0.查看自己的显卡型号, 1.查询适合的版本, https://www.nvidia.com/Download/index.aspx?lang=en-us, 2.禁用原先的显 ...

最新文章

  1. 操作系统——文件合并
  2. 计算机图形学应用场景,计算机图形学: 应用Java 2D和3D
  3. bitmap画文字 居中_画非画展览馆 观赏石 第八期拍卖
  4. jQuery必知要点(一)
  5. Adobe Acrobat DC
  6. Android 爆高危漏洞,华为小米皆中招;第三代苹果 AirPods 来了;SQLite 3.30.0 发布 | 极客头条...
  7. OpenCV(C++版)图像读取,创建,复制,保存,显示
  8. [转] 雅虎团队:网站性能优化的35条黄金守则
  9. activity 变成后台进程后被杀死_Android开发后台服务
  10. VM14Pro下打开虚拟机黑屏及其衍生问题的解决方案
  11. 小杯子微信多开 双开共存版 ios8.0微信版本6.0免费获取了
  12. 清华大学计算机系网络课程,资源分享:清华大学计算机系网络课程.pdf
  13. 按头安利 好看又实用的毛笔书法字体素材看这里
  14. 安装Windows Outlook邮箱客户端
  15. 优化-规划问题(数学建模)
  16. 格式化数据#4:有关机器学习的SDK/Lib/API
  17. Mac OS X,下载并安装ant
  18. 【Day06_0423】C语言选择题
  19. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛
  20. 公司邮箱一般用哪个?

热门文章

  1. Terminator常用快捷键
  2. [小说]魔王冢(4)疑窦初生
  3. 7-17 文件传输(路径压缩解法)
  4. 全球最大蒸馏体量干邑集团,邀请酣客老王讲授产品设计大师课
  5. 【设计模式】模板设计模式与适配器设计模式
  6. 易通虚拟服务器,易通cmseasy程序链接的设置与管理
  7. BLS 签名实现阈值签名的流程
  8. Forsaken喜欢独一无二的树
  9. ssm+jsp计算机毕业设计医院管理系统63lzg(程序+lw+源码+远程部署)
  10. 我觉得有必要跟踪一下EMS慢递的邮寄速度,慢慢走,EMS