[hadoop那些事]大数据综合平台——本科时期收官之作

一、写在前面

截至大三上学期(2020年12月),本人写《hadoop那些事》系列已经有25篇了,初衷其实就是比赛时期做笔记用,因为安装hadoop及其组件需要一直保持手感,从虚拟机的ip配置到各种小错以及hadoop、mysql、sqoop、mapreduce、hbase、hive等等;后来写博客是为了帮助同学,以及缓解老师压力,这个过程是真的很磨练人,因为要从0开始,甚至虚拟机的安装,VM的安装开始,一直到 跑MR程序,那是2020年上半年,在家经过疫情的时候,给同学开远程协助都一直开到半夜两三点。然而到现在从这里写一些博客成了我的一个解压方式,因为把曾经我掌握的技术总结分享到网络上影响别人是一件很幸福的事情,在这个过程中我也经历了查阅很多很多博客,官方文档,请教其他同学,浏览器上面的标签密密麻麻,最终调试成功的时候只是我一个人的喜悦,通过博客,可以变成很多人的喜悦,同时每次博客写成后我都会让舍友同学照做一遍看看我遗漏了哪些细节并及时改正,真的很喜欢这段时光,我可以和键盘交流,可以和正在学习的你交流。

——感谢霏霏同学踩坑~~~

二、软件清单

  • VMware® Workstation 15 Pro-15.5.6 build-16341506

  • ubuntu LTS 16.04

  • hadoop 3.1.3

  • jdk 1.8 8u162.x64

  • hbase 2.2.2

  • hive 3.1.2

  • mysql 5.1.40

  • scala 2.11.8

  • spark 2.4.0

  • sbt 1.3.8

  • maven 3.6.3

     如果有大佬看到我这篇文章请先不要谈论用docker部署,问就是在部署docker了
    

在这里插入图片描述

三、ubuntu LTS 16.04

下载地址:https://releases.ubuntu.com/16.04.7/
官网有可能下载慢,但是比非会员百度云和迅雷云快吧。

如果发现不能用xftp或者xshell传输文件或者编辑,方法如下:传输文件可以用rz -E 需要下载lrzsz ,编辑文件可以更改文件的权限例如chmod 777 文件名称。解决

安装应该就像之前一样,这次默认是桌面版本。
如下图:我新建的相关配置
我新建的相关配置

然后就等呀等,等不到头。 如下图:
在这里插入图片描述
如箭头所示 ,点击一下,就会出现如下图。在这里插入图片描述
点击skip即可。 由于网络问题所以下载东西会非常慢。到后面就很顺畅了。

修改 /etc/sudoers
如下在这里插入图片描述

三、jdk 1.8 8u162.x64

jdk老版本聚集地:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
在这里插入图片描述
配置环境变量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_162
export PATH=$PATH:$JAVA_HOME/bin

测试是否安装成功如下

java -version

在这里插入图片描述

四、hadoop 3.1.3

vi /etc/profile

export HADOOP_HOME=/usr/hadoop/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin

检测是否安装成功

hadoop version

免密服务(先ssh-keygen)
切换到ssh目录:cd ~/.ssh/

ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

在这里插入图片描述

core-site.xml

在这里插入图片描述

yarn-site.xml

在这里插入图片描述

hdfs-site.xml
在这里插入图片描述

mapred-site.xml

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

hadoop-env.sh

在这里插入图片描述

必做(去链接里面照做即可):解决no HDFS_NAMENODE_USER问题

格式化namenode

hdfs namenode -format

最后启动即可:
在这里插入图片描述
测试一个例子:

hadoop jar /usr/hadoop/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar pi 5 5

在这里插入图片描述

hadoop就先到此为止了

五、Maven 3.6.3

下载地址:
https://maven.apache.org/download.cgi?Preferred=https%3A%2F%2Fdownloads.apache.org%2F
在这里插入图片描述
转移位置 配置环境变量

export MAVEN_HOME=/usr/maven
export PATH=$PATH:$MAVEN_HOME/bin

在这里插入图片描述
在这里插入图片描述

六 、scala 2.11.8

vi etc/profile

#scala
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

source /etc/profile
在这里插入图片描述

七 、sbt-1.3.8

wget https://piccolo.link/sbt-1.3.8.tgz
tar -xvf sbt-1.3.8.tgz
cd sbt
mv sbt/ sbt-1.3.8

export SBT_HOME=/usr/sbt/sbt-1.3.8
export PATH=$PATH:$SBT_HOME/bin

source /etc/profile

sbt sbtVersion
在这里插入图片描述

八、mysql 5.1.40

add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty main universe'
apt-get update
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server

vim /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉bind-address = 127.0.0.1
在这里插入图片描述

sudo mysql -uroot -p
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY "123456" with grant option;
flush privileges;
exit
systemctl restart mysql

在这里插入图片描述
windows上也可连接成功

九、hbase 伪分布式

http://archive.apache.org/dist/hbase/2.2.2/

环境变量

export HBASE_HOME=/usr/hbase/hbase-2.2.2
export PATH=$PATH:$HBASE_HOME/bin

配置文件

修改 conf/hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ubuntu:9000/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/tmp/zookeeper</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
</configuration>

接着修改conf/hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_162
export HBASE_MANAGES_ZK=true

在这里插入图片描述

十、hive 3.1.2

https://mirror-hk.koddos.net/apache/hive/hive-3.1.2/

环境变量

export HIVE_HOME=/usr/hive/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin

配置文件

cd /usr/hive/hvie-3.1.2/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh

在这里插入图片描述

vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- jdbc-url -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://ubuntu:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
    </property>
    <!-- jdbc-driver -->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <!-- 数据库用户名 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <!-- 数据密码-->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    <property>
        <name>datanucleus.readOnlyDatastore</name>
        <value>false</value>
    </property>
    <property>
        <name>datanucleus.fixedDatastore</name>
        <value>false</value>
    </property>
    <property>
        <name>datanucleus.autoCreateSchema</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.autoCreateTables</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.autoCreateColumns</name>
        <value>true</value>
    </property>
    <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <!-- 显示表的列名 -->
    <property>
        <name>hive.cli.print.header</name>
        <value>true</value>
    </property>
    <!-- 显示数据库名称 -->
    <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
    <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/usr/hive/hive-3.1.2</value>
        <description>Local scratch space for Hive jobs</description>
    </property>
    <!-- 自定义目录start -->
    <property>
        <name>hive.downloaded.resources.dir</name>
        <value>/usr/hive/hive-3.1.2/hive-downloaded-addDir/</value>
        <description>Temporary local directory for added resources in the remote file system.</description>
    </property>
    <property>
        <name>hive.querylog.location</name>
        <value>/usr/hive/hive-3.1.2/querylog-location-addDir/</value>
        <description>Location of Hive run time structured log file</description>
    </property>
    <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/usr/hive/hive-3.1.2/hive-logging-operation-log-addDir/</value>
        <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
    </property>
    <!-- 自定义目录end -->
</configuration>

包的适配

解决版本冲突和 jar 包依赖问题

cp /usr/hive/hive-3.1.2/lib/jline-2.12.jar /usr/hadoop/hadoop-3.1.3/share/hadoop/yarn/lib/

下载mysql驱动包到hive目录下的lib目录下

wget http://central.maven.org/maven2/mysql/mysql-connector-java/6.0.6/mysql-connector-java-6.0.6.jar

或者下载好传进去

hive lib下

删除hive中低版本的guava-19.0.jar包,将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下即可。

# 格式化数据库
schematool -dbType mysql -initSchema

# 启动hive
hive

# 查看数据库
hive> show databases;

在这里插入图片描述
在这里插入图片描述

十一、spark

https://archive.apache.org/dist/spark/spark-2.4.0/
在这里插入图片描述

环境变量

export SPARK_HOME=/usr/spark/spark-2.4.0
export PATH=$PATH:$SPARK_HOME/bin

配置文件

cp spark-env.sh.template spark-env.sh
写入如下

export SCALA_HOME=/usr/scala/scala-2.11.8
export JAVA_HOME=/usr/java/jdk1.8.0_162
export SPARK_MASTER_IP=ubuntu
export SPARK_WORKER_MEMORY=4G

启动

sbin/start-all.sh

spark-shell

print(“hello spark!”)
在这里插入图片描述

十二、相关资源

迅雷:

链接:https://pan.xunlei.com/s/VMTtjnW2uYkilC8e5SykA7SbA1 提取码:jzg3

百度云(含虚拟机 paike 123456)

链接:https://pan.baidu.com/s/1BY8eIt-NS5tBZR1-OV1CYQ 提取码:djgw
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V3的分享

在这里插入图片描述

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小范今天学Java了嘛?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值