Centos7系统 Hadoop+HBase+Spark环境搭建

必须前提条件JDK环境

必须前提条件JDK环境

必须前提条件JDK环境

推荐通过yum源进行安装。好处就是自动搞定环境变量

具体百度搜索

 

下载Hadoop:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/  (3.2.0)

下载HBase: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ (2.3.0)

下载spark: https://spark.apache.org/downloads.html (3.0.0)

 

更改主机名:
 命令: vi  /etc/hosts 

 

 

192.168.0.117 自己的IP地址   master 名称可以自己随意取

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

开始正式配置我们的环境: 

 

将下载好的三个包上传到服务器并使用 tar -xzvf  文件名带后缀  解压

 

1. 编辑Hadoop的配置文件

 

hadoop-env.sh 配置环境变量

#自己的jdk所在路径

export JAVA_HOME=/usr/local/jdk1.8.0_144

 

配置 core-site.xml 配置公共属性

<configuration>

<!-- master 前面配置的主机名称 --> <property>      <name>fs.default.name</name>      <value>hdfs://master:9000</value>    </property>   <property>      <name>hadoop.tmp.dir</name>      <value>/home/hadoop/data/tmp</value>    </property>   </configuration>

配置 hdfs-site.xml 配置HDFS

<configuration>
<property>

      <!--指定SecondaryNameNode位置-->
     <name>dfs.namenode.secondary.http-address</name>
     <value>master:9001</value>
</property>
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
</configuration>

 

配置 yarn-site.xml 配置YARN

<configuration>

<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

</configuration>

 

配置 mapred-site.xml 配置MapReduce

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>

 

slaves 配置DataNode节点 

vi  slaves

master 

 

开始配置HBase:

 

编辑hbase-env.sh文件

export JAVA_HOME=/usr/local/jdk1.8.0_144

 

编辑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>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.master.maxclockskew</name> <value>180000</value> <description>Time difference of regionserver from master</description> </property> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.0.124</value> </property>
<!-- 修改默认8080 端口--> <property> <name>hbase.rest.port</name> <value>8088</value> </property>

<!-- 修改2181 默认端口--> <property> <name>hbase.zookeeper.property.clientPort</name> <value>9095</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase/data</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>

 

编辑regionservers文件

vi /opt/hbase/conf/regionservers

master

 

配置Hadoop和HBase的环境变量

 vi  /etc/profile

#Hadoop Environment Setting
export HADOOP_HOME=/opt/hadoop

#HBase Environment Setting
export HBASE_HOME=/opt/hbase

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

ssh免密登录设置

[root@master ~]#  ssh-keygen -t rsa

一路回车

你会看到 ~ 目录下多了一个.ssh文件

[root@master ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .oracle_jre_usage  .ssh
..  .bash_history    .bash_profile  .cshrc   .pki               .tcshrc

[root@master .ssh]# ls
 id_rsa  id_rsa.pub

[root@master .ssh]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

免密设置的目的是为了启动hadoop每次不用输入密码,也就是跳过输密码步骤,免得麻烦

 

启动Hadoop(启动前先格式化)

hdfs  namenode  -format 

启动后的信息是放在/home/hadoop/data/tmp路径文件中,如果之后集群出问题需要格式化,那么需要先删除这个文件路径中的内容

<property>  
   <name>hadoop.tmp.dir</name>  
   <value>/home/hadoop/data/tmp</value>   
</property>  

 

格式化后启动hadoop,配置了Hadoop的环境变量的,在全局都可以启动

start-dfs.sh
start-yarn.sh
或
start-all.sh (这个会和spark中的一样可以改名)

查看启动服务:

jps -l

 

 

 

 

启动完成后通过ip:50070 可以查看web 页面

 

启动hbase,配置了Hbase的环境变量的,在全局都可以启动

start-hbase.sh

启动成功访问 ip:16010 端口,HBase默认的Web UI端口

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

开始配置spark

修改spark-env.sh配置文件

# 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
[root@master opt]# cd spark/conf/
[root@masterconf]# cp spark-env.sh.template spark-env.sh

# 修改spark-env.sh配置文件,添加如下内容
[root@master conf]# vim spark-env.sh

# 配置JAVA_HOME,一般来说,不配置也可以,但是可能会出现问题,还是配上吧
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
# 一般来说,spark任务有很大可能性需要去HDFS上读取文件,所以配置上
# 如果说你的spark就读取本地文件,也不需要yarn管理,不用配
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop

# 设置Master的主机名
export SPARK_MASTER_HOST=master
# 提交Application的端口,默认就是这个,万一要改呢,改这里
export SPARK_MASTER_PORT=7077
# 每一个Worker最多可以使用的cpu core的个数,我虚拟机就一个...
# 真实服务器如果有32个,你可以设置为32个
export SPARK_WORKER_CORES=1
# 每一个Worker最多可以使用的内存,我的虚拟机就2g
# 真实服务器如果有128G,你可以设置为100G
export SPARK_WORKER_MEMORY=2g
#web UI端口默认8081
SPARK_MASTER_WEBUI_PORT=8090

 

修改slaves配置文件

[root@master conf]# cp slaves.template slaves
[root@master conf]# vim slaves

# 里面的内容原来为localhost,改为master 
master 

# 伪分布式就一台机器,用localhost也可以
# 但我们毕竟搭建的是伪分布式集群,注意,是集群
# 改成master 心里可能更相信它是一个分布式集群

 

配置SPARK_HOME环境变量

vim /etc/profile

export SPARK_HOME=/opt/spark-2.2.0
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

source /etc/profile

启动spark伪分布式集群

注意:

  • 上一步配置了SPARK_HOME,所以在任意位置使用start-all.sh就可以启动spark集群
  • 但是,如果你也配置了HADOOP_HOME,在HADOOP_HOME/sbin目录下,也有start-all.sh和stop-all.sh这两个命令

可以给spark 的start-all.sh 改名为start-spark-all.sh 然后全局

start-spark-all.sh

 

如果启动过程有问题或者启动之后一会服务挂了

请确认hadoop 、HBase、Spark 所需要的端口没有被占用

请确认hadoop 、HBase、Spark 所需要的端口没有被占用

请确认hadoop 、HBase、Spark 所需要的端口没有被占用

 

 

这里有个文章记录了一下几个坑点可以去看看是不是你偶到的 https://www.cnblogs.com/thousfeet/p/8618696.html

posted @ 2020-07-25 21:05  曾经是最好  阅读(386)  评论(0编辑  收藏  举报