一、准备工作
虽然前面已经给出了Hadoop搭建的教程,但是因为这里要将Hadoop、HBase和Hive三者一起搭建,所以这里还是从头开始搭建一遍,需要准备的材料如下:
材料地址:https://pan.baidu.com/s/19s05T_aVTOi2i1Cpi_uQ1w 提取码:tzrm
下面开始解压这些压缩包,我这里事先在根目录新建一个临时存放压缩包的目录software,将上面8个文件全都拖进去,然后逐个解压到opt目录下,在对其简化一些解压后的名字,这里我就不做详细说明,相信你们都已经熟练操作解压步骤了,我只展示一下我修改后的目录名称:
[root@hadoop1 opt]# ll
total 40
drwxr-xr-x. 17 1106 4001 4096 Jun 26 18:22 hadoop
drwxr-xr-x. 32 1106 4001 4096 Jun 26 14:36 hbase
drwxr-xr-x. 11 1106 4001 197 Mar 28 2018 hive
drwxr-xr-x. 7 10 143 245 Jul 4 2019 java8
drwxr-xr-x. 10 1000 1000 4096 Jun 28 22:50 zookeeper
其中Mysql的两个压缩包我们先不管他们,后面配到Hive再来对它们进行解压。
二、hadoop搭建
1.配置主机名和主机列表
首先就是新建好一台虚拟机,配置好网络地址,我这里配置的是:192.168.234.111。下面开始修改hostname和hosts,以便后面远程连接时比较方便。下面我就简化步骤了,详细的可以看我之前写的hadoop环境搭建。
vi /etc/hostname
第一台的主机名就叫hadoop1。
然后配置主机列表:
vi /etc/hosts
我这里提前增加了三个主机名:hadoop1、hadoop2、hadoop3,为后面集群搭建要三台虚拟机做准备。
2.配置免密登录
这里我们可以先将私钥和免密登录设置好:
ssh-keygen -t rsa -P "" --生成私钥
cat .ssh/id_rsa.pub > .ssh/authorized_keys 复制成公钥
3.配置环境变量
因为我们后面需要用到jdk、hadoop、hbase、hive,所以这里配置环境变量就直接一次性配置完成,后面的复制虚拟机就可以不需要再对另外两台机器再次配置了。
export JAVA_HOME=/opt/java8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/dt.jar:$JAVA_HOME/tools.jar:$JAVA_HOME/rt.jar
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export HADOOP_HOME=/opt/hadoop
export HIVE_HOME=/opt/hive
export HBASE_HOME=/opt/hbase
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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin
就这么几个,相信你们能记得下来,我这里每一个名称的使用都是我改过后的名字,注意一下。
4.配置hadoop配置文件
这里我就不在赘述了,相信你们已经搭了几百遍了,不清楚的可以继续参考我之前的hadoop环境搭建。然后就可以尝试启动hadoop,也可以用连接网页测试。
三、HBase配置
这里直接切到/opt/hbase/conf/下,然后开始配置相关文件。
1.配置hbase-site.xml文件
下面的配置信息可能很长,需要修改的部分我已经在后面加了注释,一共有两个地方。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1:9000/hbase</value> ----修改成自己的主机名
<description>The directory shared by region servers.</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value> ----集群的每一个主机名,这里可以提前写好,因为集群我们还没有配置
</property>
<property>
<name>hbase.regionserver.handler.count<