一、Ubuntu上安装Hbase

一、创建一个用户 : 创建一个单独的Hadoop用户,文件系统隔离Hadoop文件系统

1、ubuntu的su初始密码设置 : 
        zlj@dell:~$ sudo passwd
        输入新的 UNIX 密码: 
        重新输入新的 UNIX 密码: 
        passwd:已成功更新密码

2、创建Hadoop用户 : 
       zlj@dell:~$ su
       密码: 
       root@dell:/home/zlj# useradd hadoop
       root@dell:/home/zlj# passwd hadoop
       输入新的 UNIX 密码: 
       重新输入新的 UNIX 密码: 
       passwd:已成功更新密码

二、SSH设置和密钥生成

sudo apt-get update
sudo apt-get install vim
sudo apt-get install openssh-server

登陆本机:

ssh localhost

exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以

cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

以下的命令用于生成SSH密钥值对。复制公钥从id_rsa.pub到authorized_keys,并设置authorized_keys文件的读写权限给所有者。
root@dell:/home/zlj# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:RyqqkjoOTEunW9H3IcQd/GYLjDY5MeJa9y1dseLTBWc root@dell
The key's randomart image is:
+---[RSA 2048]----+
|        ..       |
|     ..o...  o E |
|    . .o*.o   *  |
|    .o.B = = o . |
| o oo.+oS.O = .  |
|+ +.....o+.* .   |
|.= ..    .. .    |
|= o.             |
|+=.              |
+----[SHA256]-----+
root@dell:/home/zlj# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@dell:/home/zlj# chmod 0600 ~/.ssh/authorized_keys

三、验证ssh

ssh localhost

报错:ssh: connect to host localhost port 22: Connection refused
1、检查ssh是否安装 : 
root@dell:/home/zlj# which ssh
/usr/bin/ssh
root@dell:/home/zlj# which sshd

2、查看ssh服务是否已启动 : 已启动
root@dell:/home/zlj# ps aux | grep ssh
zlj        1538  0.0  0.0  11304   316 ?        Ss   13:51   0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
root       2855  0.0  0.0  21536  1104 pts/0    S+   14:17   0:00 grep --color=auto ssh

3、查看防火墙是否已关闭 : 已关闭
root@dell:/home/zlj# sudo ufw status
状态:不活动

4、查看ssh连接端口 : 
root@dell:/home/zlj# sudo netstat -tunlp | grep ssh
sudo: netstat:找不到命令, 说明需要下载相关工具包

5、Ubuntu安装net-tools : 
sudo apt-get install net-tools

6、Ubuntu下测试ssh时使用sshlocalhost命令,出现错误提示connecttohostlocalhostport22:Connectionrefused造成这个错误的原因是
因为Ubuntu默认没有安装openssh-server,可用一个命令来看下,如果只有agent,说明没有安装openssh-server,命令
如下:
  root@dell:/home/zlj# ps -e | grep ssh
  1538 ?        00:00:00 ssh-agent

7、使用命令来安装openssh-server:
   sudo apt-get install openssh-server

   安装完之后,再执行结果如下:
root@dell:/home/zlj# ps -e | grep ssh
  1538 ?        00:00:00 ssh-agent
  6727 ?        00:00:00 sshd

8、再执行 ssh localhost : 
root@dell:/home/zlj# ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:GETeMTQngBQ4/uazJ52SOQOIq9y8u9+fnNQ6rt2eyAg.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-42-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

0 个可升级软件包。
0 个安全更新。


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

四、安装Java

1、先执行命令java -version检查是否安装过

2、如没有,则下载Java jdk, 可以使用命令:
curl -O -L  https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

或者 scp 本地文件名 用户名@IP:上传文件路径

3、为了所有用户能使用Java,必须将它移动到“/usr/local/”。打开终端然后以root用户身份键入以下命令。
$ su
password:
# mv jdk1.8.0_171/ /usr/local/
# exit

4、设置PATH和JAVA_HOME变量,添加以下命令到〜/.bashrc文件。
export JAVA_HOME=/usr/local/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH  
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 

然后执行命令使配置文件生效:
zlj@dell:/usr/local/jdk1.8.0_171$ source ~/.bashrc 

5、再执行java -version 命令 查看是否安装成功

五、下载hadoop

1、hadoop version 命令检查是否已经安装hadoop

2、如果没有安装,使用 wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz 命令下载

$ su
password:
# cd /usr/local
# wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
# tar xzf hadoop-3.1.1.tar.gz
# mv hadoop-3.1.1/* hadoop/
# exit

六、安装 Hadoop(模拟分布式模式的Hadoop安装)

进入到/usr/local/ 下,执行 sudo chown -R hadoop ./hadoop       # 修改文件权限

验证是否安装成功:
      cd /usr/local/hadoop
      ./bin/hadoop version
安装成功会显示版本

1、在 〜/ .bashrc文件中设置 Hadoop 环境变量
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

执行命令$ source ~/.bashrc, 应用设置的环境变量

2、Hadoop配置
(1)、修改core-site.xml,在<configuration>和</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>

(2)、修改hdfs-site.xml hdfs-site.xml文件,文件中包含,如:复制数据的值,NameNode的路径,本地文件系统,要存储Hadoop基础架构
的Datanode路径的信息, 在<configuration>和</configuration> 标记之间添加以下属性 : 
<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>

(3)、修改 hadoop-env.sh文件, 必须用java在系统中的位置来替换 hadoop-env.sh文件中的 java环境变量JAVA_HOME的值。
export JAVA_HOME=/usr/local/jdk1.8.0_171

(4)、修改yarn-site.xml 文件, 该文件用于在Hadoop中配置yarn。
     打开yarn-site.xml文件,并在<configuration><configuration>标签之前添加以下属性到这个文件中。
<configuration>
<property>
<name>mapreduceyarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

(5)、修改mapred-site.xml 文件, 该文件用于指定MapReduce框架并使用。默认情况下Hadoop包含yarn-site.xml模板。
     首先,它需要从mapred-site.xml复制模板到mapred-site.xml文件,使用下面的命令来。

cp mapred-site.xml.template mapred-site.xml

<configuration>
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>

七、验证Hadoop安装

1、设置名称节点使用“hdfs namenode -format”命令如下,可能出现权限不够的错误

zlj@dell:/usr/local$ sudo chmod -R 777 hadoop/
zlj@dell:/usr/local$ cd ~
zlj@dell:~$ hdfs namenode -format
2018-12-12 17:25:54,224 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = dell/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 3.1.1
STARTUP_MSG:   classpath = ...
....
2018-12-12 17:25:55,299 INFO namenode.FSImageFormatProtobuf: Image file /usr/local/hadoop/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 388 bytes saved in 0 seconds .
2018-12-12 17:25:55,319 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2018-12-12 17:25:55,327 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at dell/127.0.1.1
************************************************************/
zlj@dell:~$ 

2、验证Hadoop DFS, 使用下面的命令用来启动DFS(即Hadoop文件系统)
zlj@dell:~$ start-dfs.sh 

八、访问Hadoop上的浏览器

访问Hadoop的默认端口号为50070。使用以下网址,以获取Hadoop服务在浏览器中。 http://localhost:50070

无法访问50070端口,原因是3.1.0版本后,50070端口 -> 9870端口了, 访问http://localhost:9870即可
image.png

九、验证集群中的所有应用程序

 访问群集的所有应用程序的默认端口号为8088。使用以下URL访问该服务。http://localhost:8088/
image.png

十、安装HBase

1、进入到/usr/local/下,下载hbase : 
       sudo wget http://mirrors.hust.edu.cn/apache/hbase/1.4.8/hbase-1.4.8-bin.tar.gz
2、解压hbase : 
       sudo tar -xvf hbase-1.4.8-bin.tar.gz 
3、移动hbase : 
       sudo mkdir Hbase
       sudo mv hbase-1.4.8/* Hbase/

4、为HBase设置Java目录,从/usr/local/Habse/conf文件夹中打开hbase-env.sh文件。编辑JAVA_HOME环境变量
       export JAVA_HOME=/usr/local/jdk1.8.0_171

JDK1.8+时,可以注释掉以下两个export,不影响,但是会有警告
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

去掉Hbase自带的Zookeeper ,使用自己安装的
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true

5、conf下的hbase-site.xml这是Hbase的主配置文件,找到 <configuration> 和 </configuration> 标签。
   并在其中,设置属性键名为“hbase.rootdir”,如下所示:
<configuration>
    //数据存储的位置
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop102:9000/hbase</value>
    </property>
    //是否启用集群
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <!-- 0.98后的新变动,之后版本没有.port,默认端口为60000 -->
    <property>
        <name>hbase.master.port</name>
        <value>16000</value>
    </property>
    //去掉HBase自带的zookeeper,配置自己的zookeeper
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>
    </property>
    //在zookeeper中存储数据的地址
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/module/zookeeper-3.4.10/zkData</value>
    </property>
</configuration>

5、修改conf下的regionservers配置文件: 去掉已有的localhost,改为  
        hadoop102
        hadoop103
        hadoop104

6、到此 HBase 的安装配置已成功完成。可以通过使用 HBase 的 bin 文件夹中提供 start-hbase.sh 脚本启动 HBase。
        进入到Hbase的bin目录,执行sudo ./start-hbase.sh命令

7、启动HBase Shell :
zlj@dell:/usr/local/Hbase/bin$ ./hbase shell
2018-12-14 13:58:56,168 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/Hbase/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 1.4.8, r91118ce5f10fb4efa03cc8c5a47c7ce97175e85e, Tue Oct  2 11:48:24 PDT 2018

hbase(main):001:0> list
TABLE                                                                                                                             
0 row(s) in 0.2760 seconds

=> []
hbase(main):002:0> 


8、HBase的Web界面:
    http://localhost:16010/master-status
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • 入门指南 1. 简介 Quickstart会让你启动和运行一个单节点单机HBase。 2. 快速启动 – 单点HB...
    和心数据阅读 4,503评论 1 41
  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 129,441评论 12 168
  • 前言 在本节中,你将首先学习单节点、独立的HBase的设置,并且学会运行单节点、独立的HBase实例! 在一个独立...
    步闲阅读 1,852评论 1 3
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,217评论 0 34
  • hadoop2集群搭建详解------------------------天津九安医疗电子--吴伟 一、需要软件 ...
    hogface阅读 1,772评论 1 4