学习大数据的实验报告
主要内容:
1.使用 VMWare Workstation pro安装 CentOS 7,安装并配置 Hadoop,实现伪分布式与分布式部署
2.启动自带MapReduce示例程序 WordCount
3.编写程序,利用 Hadoop 的 Java API 实现简单的文件系统读写功能
4.编写程序,利用 Hadoop 的 Java API 实现启动自带MapReduce示例程序 WordCount
5.安装并配置 Hbase,编写程序,利用HBase 的 Java API 实现简单的CRUD操作
6.安装 Redis、MongoDB,了解其基本操作
7.安装并配置 Hive、MySQL 及其 JDBC 驱动,编写 HiveSQL 语句实现简单的CRUD操作
环境说明
VMWare Workstation pro 版本:12.5.7(这是我用的版本)
CentOS 版本:7.6(目前的最新版,老版本镜像使用 yum -y update 也是能升到最新版的)
JDK 版本:8u211-linux-x64
Hadoop 版本:2.7.3
HBase 版本:1.4.9(目前最新的 stable 版本)
Hive 版本:2.3.4
MySQL 版本:5.7.25
Scala 版本:2.12.8
Spark 版本:2.4.2
eclipse最新版本
安装 CentOS 7 并进行相关配置
- Vmware Workstation Pro 12安装步骤
点击【下一步】开始安装-
点击【更改】,选择安装路径,点击【下一步】
点击【安装】
点击【许可证】
粘贴激活码文件里的激活码,点击【输入】
点击【完成】,安装完成
VMWare 激活码可以试试这个:ZC10K-8EF57-084QZ-VXYXE-ZF2XF
跟着可以进行centos7的安装,此处我省略了。但是注意将虚拟机的网络适配器选为“自定义”中的“VMnet8(NAT模式)。
- 配置静态IP
点击【NAT设置】,记下网关IP
然后以root身份登入Centos,修改网卡配置文件(注意 ifcfg-ens33 是网卡名,请根据自己的实际情况修改)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将 BOOTPROTO=DHCP 改为 BOOTPROTO=static
将 ONBOOT=no 改为 ONBOOT=yes
在最后面添加:
指定的 IP 地址(任取,须保证在你的子网网段范围内且不能与网关相同):IPADDR
子网掩码:NETMASK
默认网关:GATEWAY
保存并退出,然后重启网络服务
systemctl restart network
- 可以把系统升级到最新版本:
yum -y update
- 安装常用工具:
yum -y install net-tools wget vim
- 关闭防火墙
firewall-cmd --state # 显示防火墙状态running/not running
systemctl stop firewalld #临时关闭防火墙,每次开机重新开启防火墙
systemctl disable firewalld # 禁止防火墙服务。
- 使用 XShell 连接该机器(方便复制粘贴命令),使用XFtp把那些要装的软件传上去(建议放到 /usr/local 文件夹,方便统一管理,文件夹不存在就新建一下)
安装及配置JDK
下载:https://www.oracle.com/technetwork/java/javase/downloads/index.html
然后进行安装,CentOS下的软件的安装方法也都是这样。
# rmp包安装方法
rpm -ivh jdk-8u212-linux-x64.rpm
# tar.gz(二进制包)安装方法
# 注意:不是说tar.gz格式的就都是二进制包,也有些是源码包,要自行编译,请注意区分
tar -zxvf jdk-8u212-linux-x64.tar.gz
配置环境变量
vim /etc/profile
最后面添加
export JAVA_HOME=/usr/java/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
使其生效:
source /etc/profile
后面的各个软件的环境变量也是这么配置
安装及配置Hadoop
下载:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
下载之后可以根据
https://blog.csdn.net/fyihdg/article/details/82317512
进行安装,这个操作需要细致小心一些。
安装好之后可以对hadoop进行伪分布式与全分布式配置与部署,详情可看
https://blog.csdn.net/l_15156024189/article/details/81810553
我就是根据这一个来的,它的jdk版本是jdk-8u144,而我用的是/jdk1.8.0_212,这里要改一下。
注意,要先手动配置 hadoop-env.sh 中的 JAVA_HOME:
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_212
另外伪分布式配置的配置文件中 core-site.xml 文件那里不要使用 hdfs://localhost:9000 ,须使用 hdfs://机器名:9000,并配置系统的 hosts 文件(/etc/hosts),在 hosts 文件末行添加
本机IP 机器名
如果你想改机器名可以进入:
vim /etc/hostname
运行wordcount
hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件 到hdfs的/adir目录下。
运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/。
在http://192.168.180.6:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。