IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 4 HBase搭建 -> 正文阅读

[大数据]4 HBase搭建

HBase搭建(ubuntu版本)

安装包

https://pan.baidu.com/s/1wORXDbIgYV_yNrD71HotPg
提取码:qrww

安装过程

建议浏览一遍注意事项,帮助遇到和我一样的相关问题可以节省时间,而不是直接重装系统。

虚拟机搭建

1、 选择创建虚拟机。(Ubuntu或centOs自行选择,在配置时有细微差异)

image-20210727100936296

2、 选择镜像创建虚拟机。
在这里插入图片描述

3、 使用默认配置进行设置。

用户名可以更改,在后面的设置过程中注意文件路径的更改。

image-20210727101730942

img

img

4、 部分PC可能会出现没有权限的问题。
在这里插入图片描述

解决方案:重启电脑进入BIOS页面,将Configuration中的Intel Virtual Technology更改为Enabled状态。

img

5、 开启虚拟机,按照默认配置进行设置,建议使用英文系统。

6、 按照以上步骤再配置两台虚拟机,分别命名为slave1和slave2。

静态ip配置

其实一般虚拟机在打开过程不会产生ip改变的情况,但保险起见还是配置静态ip。

(1) ip a #查看网卡名称,不同版本的虚拟机的网卡名称可能不同,如果你是用我的安装包版本,应该是ens33

(2) 网络配置文件存放在/etc/netplan 目录下,cd ~/etc/netplan打开文件夹,用ls 命令查看配置文件。

sudo gedit /etc/netplan/01-network-manager-all.yaml #打开类似的网络配置文件

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:                      #网卡名,以ubuntu操作系统的网卡名称为准
      dhcp4: no                 #ipv4关闭dhcp,用static模式
      dhcp6: no                 #ip6关闭dhcp
      addresses:
        - 192.168.60.101/24     #设置虚拟机的ip地址
      gateway4: 192.168.60.2    #vmware网关的的IP地址,网关和ip地址都需要在同一个子网中,不同虚拟机的网关设置为一致
      nameservers:              #DNS服务器 域名解析器
        addresses: [114.114.114.114, 8.8.8.8, 1.1.1.1]

(3)sudo netplan apply #编译网络配置

(4)可以使用ifconfig来观察自己的ip地址,如果提示无此命令,可以输入sudo apt install net-tools 下载安装

主机配置

修改主机名(所有节点)

vi /etc/hostname

设置主机名,例如master、node1、node2

配置hosts文件(所有节点)

根据你设置的静态ip来输入相应的地址,三个虚拟机都要设置

vi /etc/hosts

192.168.60.101 master

192.168.60.102 node1

192.168.60.103 node2

免密钥登录(所有节点)

cd  #(此步骤若出错请上网查询ssh免密登录—openssh)
mkdir .ssh
cd .ssh
ssh-keygen -t rsa#生成密钥,连续三个回车

ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub node1#将密钥发送给node1节点,第一次要输入密码,保存主机信息
ssh node1#验证是否能免密登录,一般第二次应该就不用输入密码

如果提示ssh服务未开通,记得下载相关资源

sudo apt install openssh-server
service sshd start    //启动服务

两两节点直接都要实现相互免密登录。注意,因为设置的是用户密钥,所以在root权限时可能还是需要你输入密码,可以

(1)su hadoop的方式转换到用户hadoop权限,再尝试ssh node1。

(2)或者输入ssh hadoop@node1的方式

上述是设置A机免密码登录B机,如果需要进一步配置B机免密码登录A机,则在B机~/.ssh目录下ssh-keygen -t rsa生成自己的公私钥对之后(因为之前已经将A机的公钥文件rsa_id.pub发送到了B机的~/.ssh目录下,此时会提示覆盖该文件,这个可以直接覆盖,因为A机公钥已存在于authorized_keys文件中),在发送给A机之前,最好生成一份B机公钥副本(cp rsa_id.pub rsa_id.pub.B),以免覆盖了A机下面已经存在的A机自己的公钥。A机在得到B机的公钥后,将B机公钥追加到authorized_keys文件中,B机即可免密码登录A机(第一次登录也是需要密码)。最后清理A机下B机的公钥文件,并清理B机上B机自己的公钥副本,不然会影响登录,时间一长也容易搞混。

JDK安装(master节点操作)

新建一个文件夹 /install,可以通过点击home的方式,右键新建,也可命令行输入,新建文件夹位于/home/hadoop

在这里插入图片描述

将jdk解压,里面的jdk1.8.0_201的文件复制到新建的install的文件夹中

root权限下配置环境变量

vi /etc/profile

添加以下内容

export JAVA_HOME=/home/hadoop/install/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

使环境配置生效:

source /etc/profile

查看是否配置成功:

java -version

将文件夹scp到到其它节点服务器上:

scp -r ~/install/jdk1.8.0_201 hadoop@node1:~/install/jdk1.8.0_201

将环境变量scp到到其它节点服务器上:

sudo scp /etc/profile hadoop@node1:/etc

Hadoop安装

也是和jdk一样解压hadoop安装包到新建的package的文件夹中

修改配置文件

位置在hadoop安装目录的/etc/hadoop目录下,先进入目录

cd ~/install/hadoop-2.6.1/etc/hadoop

(1)修改core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop/hadoop/tmp</value>
  </property>
</configuration>

(2)修改hdfs-site.xml

<configuration>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/install/hadoop-2.6.1/tmp/dfs/name</value>
</property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/install/hadoop-2.6.1/tmp/dfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
</configuration>

(3)修改mapred-site.xml

该文件不存在,需要复制才可修改

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

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
  </property>
</configuration>

(4)修改yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>
</configuration>

(5)修改hadoop-env.sh

export JAVA_HOME=/home/hadoop/install/jdk1.8.0_201

(6)修改slaves

node1
node2

(7)修改masters(没有的文件要自己创建,vi masters 会自己创建文件)

master

配置环境变量

export HADOOP_HOME=/home/hadoop/install/hadoop-2.6.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

配置其他节点

将文件夹scp到到其它节点服务器上

scp -r ~/install/hadoop-2.6.1 hadoop@node1:~/install/hadoop-2.6.1

将环境变量scp到到其它节点服务器上

sudo scp /etc/profile hadoop@node1:/etc

启动hadoop

格式化namenode

hadoop namenode -format

启动hadoop

start-all.sh

查看进程启动情况

jps

可看到master节点:NameNode、SecondNameNode、ResourceManager

node1、2节点:DataNode、NodeManager

ZooKeeper安装

也是和jdk一样解压hadoop安装包到新建的package的文件夹中

创建用于存储数据和日志的文件夹

cd /home/hadoop/install/zookeeper-3.6.3

mkdir data

mkdir logs

修改配置文件

创建配置文件

cd /home/hadoop/install/zookeeper-3.6.3/conf

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

修改配置文件

有些已经存在的参数更改,不存在的增加

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/install/zookeeper-3.6.3/data dataLogDir=/home/hadoop/install/zookeeper-3.6.3/logs
clientPort=2181

server.1=master:2888:3888
server.2=node1:2888:3888
server.3=node2:2888:3888

修改myid文件(id和host与zoo.cfg中配置的相匹配)

cd /home/hadoop/install/zookeeper-3.6.3/data

echo ‘1’ > myid

配置其他节点

将文件夹scp到到其它节点服务器上

scp -r ~/install/zookeeper-3.6.3 hadoop@node1:~/install/zookeeper-3.6.3

其他节点修改myid文件

cd /home/hadoop/install/zookeeper-3.6.3/data

vi myid

slave1修改为2(id和host与zoo.cfg中配置的相匹配)

启动zookeeper

启动zookeeper(所有节点都需要启动)

cd /home/hadoop/install/zookeeper-3.6.3/bin

./zkServer.sh start

查看进程

jps

可看到所有节点都有QuorumPeerMain进程

Hbase安装

也是和jdk一样解压hadoop安装包到新建的package的文件夹中

更改配置文件

进入hbase的配置目录

cd /home/hadoop/install/hbase-1.4.11/conf

(1)更改hbase-env.sh文件

添加以下内容:
export JAVA_HOME=/home/hadoop/install/jdk1.8.0_201
export  HBASE_MANAGES_ZK=false
export HBASE_CLASSPATH=/home/hadoop/install/hbase-1.4.11/conf
注释掉以下行:
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

(2)更改 hbase-site.xml文件

<configuration>
	<property> 
    	<name>hbase.rootdir</name> 
        <value>hdfs://master:9000/hbase</value> 
  </property> 
  <property> 
        <name>hbase.cluster.distributed</name> 
        <value>true</value> 
  </property> 
	<property>
           <name>hbase.master</name>
           <value>master:6000</value>
    </property>
	<property> 
    	<name>hbase.zookeeper.quorum</name> 
    	<value>master</value> 
   </property> 
	<property> 
    	<name>hbase.zookeeper.property.dataDir</name> 
    	<value>/home/hadoop/install/zookeeper-3.6.3/data</value> 
  	</property>
</configuration>

(3)修改 regionservers文件

node1
node2

在 hadoop 分布式文件系统上创建 hbase 目录

hadoop fs -mkdir /hbase

配置环境变量

vi /etc/profile

添加以下内容并保存:

export HBASE_HOME=/home/hadoop/install/hbase-1.4.11

export PATH= P A T H : PATH: PATH:HBASE_HOME/bin

使环境配置生效

source /etc/profile

配置其他节点

复制到其他节点

scp -r ~/install/hbase-1.4.11 hadoop@node1:~/install/hbase-1.4.11

启动hbase

启动进程

start-hbase.sh

查看进程

jps

可看到master节点有HMaster进程,node1、2有HRegionServer进程

常见问题

软件安装的过程总结

解压安装包到相应目录

更改环境变量(找不到命令,执行source /etc/profile文件应用环境变量)

更改配置文件

复制到其他节点,启动相应进程(注意其他节点的环境变量文件复制过去后要应用,可能有些重复过程缺失)

快捷键

终端打开快捷键 Ctrl+Alt+T

返回上一级目录 cd …

删除文件夹及其文件 rm -rf 删除路径

系统配置文件更改权限

没有设置root的先增加root

sudo passwd root 如果没有先添加管理员密码,如有可做于更改密码

su root //获取管理员权限

windows与ubuntu之间无法复制粘贴

  1. sudo apt-get autoremove open-vm-tools
  2. sudo apt-get install open-vm-tools-desktop

vim文本编辑器问题

初次安装unbuntu,vim文本编辑器出错,包括方向键abcd

卸载vim-tiny: $ sudo apt-get remove vim-common

直接安装可能出错,apt-get update或sudo apt upgrade 更新,

安装vim full: $ sudo apt-get install vim-nox

apt进程被占用

端口占用错误

sudo netstat -nltp | grep 2181 查看相应的端口

ps -aux 查看进程

sudo kill -9 2181 杀死进程

启动文件无法执行

权限不够
在这里插入图片描述
对文件夹赋权777(最高权限)

chmod 777 文件

重启hadoop错误,重复格式化

hadoop namenode -format

要是多次格式化,必须先把所有格式化生成的文件给删除,然后再格式化

在core-site.xml 和 hdfs-site.xml 文件中配置的文件夹,即tmp文件夹 ~/install/hadoop-2.6.1/tmp
,vim文本编辑器出错,包括方向键abcd

卸载vim-tiny: $ sudo apt-get remove vim-common

直接安装可能出错,apt-get update或sudo apt upgrade 更新,

安装vim full: $ sudo apt-get install vim-nox

apt进程被占用

端口占用错误

sudo netstat -nltp | grep 2181 查看相应的端口

ps -aux 查看进程

sudo kill -9 2181 杀死进程

启动文件无法执行

权限不够

[外链图片转存中…(img-5bd82QZB-1627364941181)]

对文件夹赋权777(最高权限)

chmod 777 文件

重启hadoop错误,重复格式化

hadoop namenode -format

要是多次格式化,必须先把所有格式化生成的文件给删除,然后再格式化

在core-site.xml 和 hdfs-site.xml 文件中配置的文件夹,即tmp文件夹 ~/install/hadoop-2.6.1/tmp

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:53:02  更:2021-07-28 07:56:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 0:34:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码