当前位置 博文首页 > 粽子小黑的博客:Ubuntu18.04 安装部署Hadoop & Hbase 以及H
OS: Ubuntu18.04 Server
VMware
本文所需所有数据包均需从官网下载
ssh localhost #登陆SSH,第一次登陆输入yes
exit #退出登录的ssh localhost
cd ~/.ssh/ #如果没法进入该目录,执行一次ssh localhost
ssh-keygen -t rsa
连续敲击三次回车
其中,第一次回车是让KEY存于默认位置,以方便后续的命令输入。第二次和第三次是确定passphrase,相关性不大。之后再输入:
cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost #此时已不需密码即可登录localhost。
tar -vxzf jdk-8u251-linux-x64.tar.gz
sudo mv jdk-8u251-linux-x64 java
sudo cp -r java /usr/local
vim /etc/profile
在末尾添加
JAVA_HOME=/usr/local/java
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
重新加载环境变量的配置文件
source /etc/profile
检测
java -version
结果
java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode
tar -vxzf hadoop-2.9.2.tar.gz
mv hadoop-2.9.2 hadoop
sudo cp -r hadoop /usr/local
sudo chown -R 当前用户名 ./hadoop
sudo vim /etc/profile
添加以下内容
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
重载
source /etc/profile
检测
hadoop version
返回结果:
Hadoop 2.9.2 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 826afbeae31ca687bc2f8471dc841b66ed2c6704 Compiled by ajisaka on 2018-11-13T12:42Z Compiled with protoc 2.5.0 From source with checksum 3a9939967262218aa556c684d107985 This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.9.2.jar
xml修改的部分均为
<configuration> </configuration>
内的内容
切换文件目录
cd /usr/local/hadoop/etc/hadoop/
在 hadoop-env.sh 中更改 JAVA_HOME
sudo vim hadoop-env.sh
注释掉
export JAVA_HOME=${JAVA_HOME}
添加
export JAVA_HOME=/usr/local/java
core-site.xml
sudo vim core-site.xml
<!-- 指定HDFS老大(namenode)的通信地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://0.0.0.0:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储路径 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property>
hdfs-site.xml
sudo vim hdfs-site.xml
<property> <name>dfs.data.dir</name> <value>/usr/local/hadoop/hdfs/data</value> <description>datanode上数据块的物理存储位置</description> </property> <!-- 设置hdfs副本数量 --> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
测试,启动
格式化namenode
hadoop namenode -format
启动hdfs
start-all.sh
查看相应的进程
jps
访问测试
192.168.73.107:50070
安装配置Hbase
安装Hbase
解压与重命名
tar -vxzf hbase-1.4.13-bin.tar.gz mv hbase-1.4.13 hbase
移动文件夹
sudo cp -r hbase /usr/local
设置环境变量
sudo vim /etc/profile
export HBASE_HOME=/usr/local/hbase export HBASE_CONF_DIR=$HBASE_HOME/conf export HBASE_CLASS_PATH=$HBASE_CONF_DIR export PATH=$PATH:$HBASE_HOME/bin
重载
source /etc/profile
检测安装版本
hbase version
修改配置文件
xml修改的部分均为
<configuration> </configuration>
内的内容
进入文件目录
cd /usr/local/hbase/conf
hbase-env.sh中更改JAVA_HOME
sudo vim hbase-env.sh
添加
export JAVA_HOME=/usr/local/java export HBASE_MANAGES_ZK=false
修改hbase-site.xml
sudo vim hbase-site.xml
修改
<configuration> <property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase/hbase-tmp</value> </property> </configuration>
启动Hbase
start-hbase.sh
查看运行情况
jps
HMaster一定要有简单使用Hbase
进入交互界面
hbase shell
进行一些基本数据库操作
创建表
使用create命令创建一个新表.你必须规定表名和列族名
create 'test', 'cf'
显示表信息
使用list 命令可以显示表信息
list 'test'
使用 describe 命令显示表的详细信息
describe 'test'
向表中加入数据
使用 put 命令
put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3'
扫描表
使用scan 命令扫描整个表取得数据
scan 'test'
取一行数据
使用get指令
get 'test', 'row1'
修改表模式
使用alter命令,如修改存储版本数
disable 'test' alter 'test', NAME=>'cf',VERSIONS=>5 enable 'test'
其他命令
disable table, drop table,enable table 等
思考题
- 请问伪分布和分布式的含义有何不同?就本实验,你是如何理解在一台计算机上做到“伪分布”的?
利用0.0.0.0(本机所有IP地址)为一个节点,制造出“伪分布”
- 在1.2小节进行安装SSH并设置SSH无密码登陆,请问这个安装的目的是什么?
用本地账户进行远程登陆,实现“伪分布”的效果
- 如果继续向Hbase的test表中put行键为”row1”,值为其它字符串的数据,put ‘test’ ,’row1’, ‘cf:a’, ‘value6’,会发生什么?如果采用语句get ‘test’, ‘row1’, {COLUMN=>‘cf:a’, VERSIONS=>3} 进行查询,分析你得到的结果。put与关系数据库的插入有何不同?
新值会被覆盖
会保留历史结果,查询的话显示最新覆盖内容
参考网址
csUbuntu 18.04 安装 Hadoop系统环境
下一篇:没有了
最新 更多<<
粽子小黑的博客:Ubuntu18.04 安装部署Hadoop & Hbase 以及H 粽子小黑的博客:Typora 偏好设置 & 文档快捷编辑小技巧 粽子小黑的博客:anaconda 安装以及使用(Windows + Linux) 粽子小黑的博客:leetcode 个人刷题记录(Python) 粽子小黑的博客:Jupyter Notebook 500 : Internal Server Error 粽子小黑的博客:在云端服务器后台运行程序且不被SIGINT\SIGHUP 粽子小黑的博客:PIL Image.convert(‘L‘)转换图像发绿 粽子小黑的博客:Google Colab使用记录 粽子小黑的博客:Pytorch Personal Tips 粽子小黑的博客:[RelativeNAS] Relative Neural Architecture S 粽子小黑的博客:[CVAE-GAN] An inverse design method for supe 粽子小黑的博客:XFOIL Tutorial 使用教程 粽子小黑的博客:LG gram14Z990双系统ubuntu 配置大全 粽子小黑的博客:Chromebook pixel2013/2015 Manjaro-gnome 20.0 粽子小黑的博客:本博主博客声明 粽子小黑的博客:macOS配置&快捷键入门指南 努力充实,远方可期:【谷粒商城】分布式事务与下单 努力充实,远方可期:【Jenkins】持续集成环境实战 努力充实,远方可期:【JVM】说说双亲委派源码、SPI、线程上下文 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第一篇:Linux常 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第二篇:Linux权 森明帮大于黑虎帮的博客:【C++从青铜到王者】第二篇:C++类和对 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第三篇:Linux开 森明帮大于黑虎帮的博客:【C++从青铜到王者】第三篇:C++类和对 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第四篇:Linux开 森明帮大于黑虎帮的博客:【C++从青铜到王者】第四篇:C++类和对 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第五篇:Linux进 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第六篇:Linux进 森明帮大于黑虎帮的博客:【C++从青铜到王者】第五篇:C/C++内存 森明帮大于黑虎帮的博客:【Linux从青铜到王者】第七篇:Linux进