一、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即可

《一、Ubuntu上安装Hbase》 image.png

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

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

《一、Ubuntu上安装Hbase》 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

《一、Ubuntu上安装Hbase》 image.png

    原文作者:紫雨杰
    原文地址: https://www.jianshu.com/p/0e2138b93893
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞