**

Hadoop与Hbase环境搭建安装

**

Hadoop环境

温馨提醒:复制粘贴的习惯需减少
一、准备工作
1、 关闭防火墙
[root@localhost ~]# systemctl stop firewalld //停止firewalld防火墙
[root@localhost ~]# systemctl disable firewalld //disable防火墙
[root@localhost ~]# systemctl status firewalld //查看firewalld是否已经关闭
(active(running))显示防火墙处于激活状态
(inactive(dead))防火墙进程处于未激活状态

防火墙的开启和自启动命令:(需要时再开启)
1、启动:systemctl start firewalld.service
2、防火墙随系统开启启动:systemctl enable firewalld.service

2、 配置操作系统
关闭seLinux防火墙

[root@localhost ~]# vi /etc/sysconfig/selinux
SELINUX=disabled  //将enable的修改成disabled

 设置本机IP地址
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33(后面的是网卡名,不一定相同)
添加的内容:

IPADDR=192.168.1.66      //IP地址
NETMASK=255.255.255.0    //子网掩码
GATEWAY=192.168.1.254      //网关
DNS1=8.8.8.8               
DNS2=114.114.114.114

还要参数修改成静态配置static,然后把另外一个把no改成yes

hadoop查询防火墙状态 hadoop开启防火墙_linux


设置的IP地址必须符合自己虚拟机的模式子网IP,不然会ping不通。查看方式:打开VMware,左上角有个编辑点击弹出虚拟网络编辑器,点进去弹出下图,找到自己所用的桥接还是net模式,我这里是net模式,然后子网IP是192.168.1.0,所以我可以设置IP为192.168.1.N,N可以是1-254

hadoop查询防火墙状态 hadoop开启防火墙_hadoop查询防火墙状态_02

配完IP重启网卡:service network restart
配完IP重启网卡:nmcli c reload ens33 (centos8 专用)

 设置主机名
[root@localhost ~]# hostnamectl set-hostname SQG (主机名可以自己编辑)
[root@localhost ~]# hostname (查看主机名)
SQG

 设置主机名与IP映射关系
[root@localhost ~]# vi /etc/hosts(添加IP和对应的主机名)

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1  localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.66 SQG

 下载jdk
可以去官网下载,版本不一样也可以,修改好版本号就行;也可以百度网盘下载我的这个jdk(百度网盘链接:https://pan.baidu.com/s/1OKTx4CYyJsx8jwuoCj2Exw 提取码:c5lu )

 上传至虚拟机

用XFTP软件进行上传至虚拟机(从左边选中文件,右键点击传输即可),去xshell官网可以免费下载,别下载到付费的

hadoop查询防火墙状态 hadoop开启防火墙_hadoop_03


上传

hadoop查询防火墙状态 hadoop开启防火墙_大数据_04

 解压jdk
在/usr/local/java/目录下创建java目录用于存放jdk

[root@SQG local]# mkdir java

[root@SQG ~]# tar -zxvf jdk-8u65-linux-x64.tar.gz -C /usr/local/java/ (解压在这个Java目录)

解压完成后可查看到这个

hadoop查询防火墙状态 hadoop开启防火墙_hadoop_05

 添加配置环境变量
[root@SQG ~]# vi /etc/profile (添加下面内容,也是jdk的路径)

#java
export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin

[root@SQG ~]# source /etc/profile (使环境变量生效)

二、伪分布环境搭建

1、下载Hadoop(以2.7.3版本为例)
可以自行官网下载,版本号不一致的话自行修改版本号即可;也可以百度网盘下载我这个(百度网盘链接:https://pan.baidu.com/s/1OKTx4CYyJsx8jwuoCj2Exw 提取码:c5lu )

2、解压安装Hadoop
先创建一个SQG_L目录,用于存放解压后的Hadoop

[root@SQG ~]# mkdir SQG_L

通过XFTP将Hadoop压缩包传入虚拟机,传入方法与传输JDK一致,然后再进行解压到刚创建的目录中

[root@SQG ~]#  tar -zxvf hadoop-2.7.3.tar.gz -C /SQG_L/

配置环境变量

[root@SQG ~]#  vi /etc/profile
#Hadoop
export HADOOP_HOME=/SQG_L/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

[root@SQG ~]# source /etc/profile (使环境变量生效)

3、配置Hadoop的核心配置文件
先进入 /SQG_L/hadoop-2.7.3/etc/hadoop 目录,然后进行配置

[root@SQG /]# cd /SQG_L/hadoop-2.7.3/etc/hadoop

 hadoop-env.sh(配置jdk路径)
该文件为Hadoop的运行环境配置文件,Hadoop的运行需要依赖JDK,我们将其中的export JAVA_HOME的值修改为我们安装的JDK路径

[root@SQG hadoop]# vi hadoop-env.sh
修改成export JAVA_HOME=/usr/local/java/jdk1.8.0_65

 core-site.xml(下面是自己的IP地址,然后下面的是Hadoop存放路径在加个tmp)

[root@SQG hadoop]# vi core-site.xml
<configuration>
  <property>
      <name>fs.defaultFS</name>
      <value>hdfs://192.168.1.66:9000</value>   
  </property>
  <property>
      <name>hadoop.tmp.dir</name>
      <value>/SQG_L/hadoop-2.7.3/tmp</value> 
  </property>
</configuration>

出来后在/SQG_L/hadoop-2.7.3/下新建tmp目录

[root@SQG hadoop-2.7.3]# mkdir tmp

 hdfs-site.xml

[root@SQG hadoop]# vi hdfs-site.xml
<configuration>
   <property>
         <name>dfs.replication</name>
         <value>1</value> 
   </property> 
</configuration>

 mapred-site.xml.template

[root@SQG hadoop]# vi mapred-site.xml.template
<configuration> 
    <property> 
       <name>mapreduce.framework.name</name> 
       <value>yarn</value> 
    </property> 
</configuration>

 yarn-site.xml(SQG是自己的主机名)

[root@SQG hadoop]# vi yarn-site.xml
<configuration>
   <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>SQG</value>   
   </property>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

source /etc/profile 环境变量生效

4、由于官网Hadoop编译好的是32位,但是我们系统是64位,因此需要
将准备好的64位的lib包可以联系作者下载 QQ:1938631248(百度网盘链接:https://pan.baidu.com/s/1OKTx4CYyJsx8jwuoCj2Exw 提取码:c5lu )

解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下

[root@SQG ~]# tar -xvf hadoop-native-64-2.7.0.tar -C /SQG_L/hadoop-2.7.3/lib
[root@SQG ~]# tar -xvf hadoop-native-64-2.7.0.tar -C /SQG_L/hadoop-2.7.3/lib/native/

添加环境变量

[root@SQG ~]# vim /etc/profile
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS=-Djava.library.path=${HADOOP_HOME}/lib

[root@SQG ~]# source /etc/profile(环境变量生效)

自检hadoop checknative -a 指令检查

[root@SQG ~]# cd /SQG_L/hadoop-2.7.3/bin/
[root@SQG ~]# ./hadoop checknative -a

5、格式化 DFS (Distributed File System)

[root@SQG hadoop]# hdfs namenode -format

如果在格式化的日志中看到succefully format字样,就证明格式化成功。反之,失败

6、启动DFS及resourcemanger
先进入sbin目录

[root@SQG_L ~]# cd /SQG_L/hadoop-2.7.3/sbin

(1)启动dfs ./start-dfs.sh (2)启动resourcemanager ./start-yarn.sh 注:有一种start-all.sh及stop-all.sh启动方式,同时启动、关闭HDFS及resourcemanager,不推荐

7、免密登录
(1)进入root目录下的.ssh目录cd .ssh(或直接在当前目录下运行ssh-keygen)

[root@SQG ~]# cd .ssh/

(2)运行ssh-keygen,然后直接回车三次,根据本机秘钥,产生访问本机的公钥

[root@SQG .ssh]# ssh-keygen

(3)运行cp id_rsa.pub authorized_keys,将本机公钥添加到本机的可信列表中

[root@SQG .ssh]# cp id_rsa.pub authorized_keys

8、检测是否完成
jps 查看

[root@SQL sbin]# jps
2483 SecondaryNameNode
2309 DataNode
2182 NameNode
2950 Jps
2808 NodeManager
2686 ResourceManager

注:需要出现完这六个

进网页:192.168.1.66:50070 或192.168.1.66:8088检测弹出界面就ok了

hadoop查询防火墙状态 hadoop开启防火墙_hadoop_06

Hbase环境搭建

1、 下载hbase-1.2.6-bin.tar.gz
联系作者下载QQ:1938631248 也可自行官网下载(百度网盘链接:https://pan.baidu.com/s/1OKTx4CYyJsx8jwuoCj2Exw 提取码:c5lu )

2、 解压安装hbase

[root@SQG ~]# tar -zxvf hbase-1.3.5-bin.tar.gz -C /usr/local/etc/

3、 配置环境变量(配置Hbase路径,就是上面解压的路径)

[root@SQG ~]# vim /etc/profile
export HBASE_HOME=/usr/local/etc/hbase-1.3.5 
export PATH=$PATH:$HBASE_HOME/bin

[root@SQG ~]# source /etc/profile(使环境变量生效)

4、 修改hbase-env.sh配置文件,加入JAVA_HOME
先进/usr/local/etc/hbase-1.3.5/conf/目录

[root@SQG ~]# cd /usr/local/etc/hbase-1.3.5/conf/

hbase-env.sh

[root@SQG conf]# vim hbase-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export HBASE_MANAGES_ZK=true
export HBASE_PID_DIR=/var/hadoop/pids

出来后创建目录

[root@SQG ~]# cd /var/
[root@SQG var]# mkdir hadoop
[root@SQG var]# cd hadoop/
[root@SQG hadoop]# mkdir pids

5、 配置hbase-site.xml(改下你们自己的IP地址)

[root@SQG conf]# vim hbase-site.xml
<configuration>
 <property>
      <name>hbase.rootdir</name>
      <value>hdfs://192.168.1.66:9000/hbase</value>
 </property>
 <property>
       <name>hbase.zookeeper.property.dataDir</name>
       <value>/usr/local/etc/hbase-1.3.5/data/zkData</value>
 </property>
 <property>
       <name>hbase.cluster.distributed</name>
       <value>true</value>
 </property>
 <property>
       <name>hbase.master.info.port</name>
       <value>60010</value>
 </property>
</configuration>

出来后新建文价夹

[root@SQG hbase-1.3.5]# mkdir data
 [root@SQG hbase-1.3.5]# cd data/
 [root@SQG data]# mkidr zkData

6、 检查版本

[root@SQG_L conf]# cd /usr/local/etc/hbase-1.3.5/bin/
[root@SQG_L bin]# hbase version
HBase 1.3.5 (出现这个)
Source code repository git://apurtell-ltm4.internal.salesforce.com/Users/apurtell/tmp/hbase-build-1 revision=b59afe7b1dc650ff3a86034477b563734e8799a9
Compiled by apurtell on Wed Jun  5 15:57:14 PDT 2019
From source with checksum b3373527ed7fbf3566b68c12230298ae

7、 启动Hadoop

[root@SQL ~]# cd /SQG_L/hadoop-2.7.3/sbin/
[root@SQG sbin]# ./start-yarn.sh

8、 启动hbase

[root@SQL ~]# cd /usr/local/etc/hbase-1.3.5/bin/
[root@SQL bin]# ./start-hbase.sh

9、检测是否完成
[root@SQL bin]# jps (jps完之后出现这玩意就没问题了)

4404 NodeManager
5172 NameNode
5269 DataNode
4118 ResourceManager
6326 HMaster
6454 HRegionServer
6265 HQuorumPeer
6574 Jps
5471 SecondaryNameNode

然后再输入 hbase shell测试一下

[root@SQL ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/etc/hbase-1.3.5/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/SQG_L/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.3.5, rb59afe7b1dc650ff3a86034477b563734e8799a9, Wed Jun  5 15:57:14 PDT 2019

hbase(main):001:0>

这样就完成了