大数据实训笔记1:hadoop环境搭建及单机模式

必备环境

  • VMware
  • Centos 7
  • SwitchHosts!(可以不用)
  • SecureCRT
  • hadoop-3.1.3.tar
  • jdk-8u212-linux-x64.tar

hadoop环境搭建

我们以搭建虚拟机hadoop101为例,介绍hadoop环境搭建。

配置静态IP

[hadoop@localhost /]$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

按i键开始编辑。编辑结束后,按Esc退出,并输入:wq保存。 

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO=static    //修改为静态
DEFROUTE=yes        //修改
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="e70e461d-2e7d-43c2-ad4a-40fd60e7eeb4"
DEVICE="ens33"
//以下根据自己电脑的虚拟机-编辑-虚拟网络编辑器-VMnet8-NAT设置来配置
ONBOOT=yes
IPADDR=192.168.120.101    //这个是虚拟机hadoop101的ip地址
GATEWAY=192.168.120.2     //网关ip
DNS1=192.168.120.2        //和网关一样
NETMASK=255.255.255.0     //子网掩码
//重新启动刷新ip
[hadoop@localhost /]$ service network restart

//查看ip
[hadoop@localhost /]$ ifconfig

如上图所示则代表配置成功。如果使用虚拟机过程中发现网络有问题,ifconfig命令后只出现下半部分(lo:后面的部分),可以通过下列命令重新启动ip。

[hadoop@hadoop101 ~]$ systemctl stop NetworkManager
[hadoop@hadoop101 ~]$ systemctl disable NetworkManager
[hadoop@hadoop103 ~]$ systemctl restart network

再次执行ifconfig命令,能看到我们设置的ip地址,问题就解决啦。 

修改主机名

[hadoop@localhost /]$ sudo vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop101    //这里输入自己的主机名
//刷新主机名
[hadoop@localhost /]$ hostnamectl set-hostname hadoop101

//查看主机名
[hadoop@localhost /]$ hostname

远程工具连接

在虚拟机中先ping一下百度,检查网络是否正常。

[hadoop@hadoop101 ~]$ ping www.baidu.com

如果出现这样的效果,就说明我们ping成功了。(ctrl+Z 停止) 

 我们可以使用同样的命令ping一下我们的主机。在主机的cmd中输入以下命令可以查看主机的ip地址。注意,要找以太网适配器 VMware Network Adapter VMnet8 中的IPv4地址。

ipconfig /all

同样的,在主机的cmd中,我们也可以ping一下虚拟机,ip地址为我们刚刚设置的地址。

老是输入ip地址太麻烦,我们可以在SwitchHosts!中配置ip地址与域名映射,这样之后我们就可以用域名连接虚拟机了。(这一步可以跳过,之后每次连接输入ip地址即可)

如果打开SwitchHosts!后提示没有权限,需要以管理员身份运行,我们可以打开C:\Windows\System32\drivers\etc,选中hosts,右键-属性-安全-编辑,赋予Users完全控制的权限即可。

我们还可以采用SecureCRT进行远程连接。打开SecureCRT,连接我们的虚拟机。其中,主机名可以写ip地址,也可以直接写虚拟机的主机名。

 另外,为了解决中文字符乱码的问题,我们需要打开会话选项-外观,将字符编码改成utf-8。

配置ip地址与主机名映射

[hadoop@hadoop101 ~]$ sudo vim /etc/hosts

将SwitchHosts!步骤中的内容添加到这个文件即可。

关闭防火墙

//查看防火墙的状态
[hadoop@hadoop101 ~]$ systemctl status firewalld.service
//关闭防火墙
[hadoop@hadoop101 ~]$ systemctl stop firewalld.service
//永久关闭防火墙
[hadoop@hadoop101 ~]$ systemctl disable firewalld.service

上传jdk和hadoop并配置环境变量

首先,我们需要卸载虚拟机自带的jdk。

//查看jdk
[hadoop@hadoop101 ~]$ rpm -qa | grep -i java
//切换到root用户
[hadoop@hadoop101 ~]$ su root
//卸载jdk
[root@hadoop101 hadoop]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
//再次查看jdk,可以看到什么也没有了

我们可以创建两个文件夹,software用来存放上传的压缩包,module用来存放解压的文件。

//进入opt文件夹
[hadoop@hadoop101 ~]$ cd /opt/
//创建两个文件夹
[hadoop@hadoop101 opt]$ sudo mkdir module
[hadoop@hadoop101 opt]$ sudo mkdir software
//查看opt文件夹中的内容
[hadoop@hadoop101 opt]$ ll
//修改所在组和拥有者
[hadoop@hadoop101 opt]$ sudo chown hadoop:hadoop -R module/ software/

 接下来,我们就可以上传jdk和hadoop了。我们需要用到远程连接工具SecureCRT。连接到hadoop101后,Alt+P到上传界面,进入我们存放压缩包的文件夹。

sftp> cd /opt/software/

 把两个压缩包拖入界面即可。我们可以进入software文件夹,用命令ll查看是否上传成功。

上传成功后,我们开始配置环境变量。

//解压jdk和hadoop到module文件夹
[hadoop@hadoop101 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C ../module/
[hadoop@hadoop101 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C ../module/
//进入module文件夹
[hadoop@hadoop101 software]$ cd ..
[hadoop@hadoop101 opt]$ cd module
//配置环境变量
[hadoop@hadoop101 module]$ sudo vim /etc/profile.d/my_env.sh
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export Path=$path:$HADOOP_HOME/sbin
//刷新
[hadoop@hadoop101 module]$ source /etc/profile
//测试
[hadoop@hadoop101 module]$ java -version
[hadoop@hadoop101 module]$ hadoop version

 至此,我们的hadoop环境搭建就完成啦。

hadoop单机模式

官方案例Grep

//创建文件夹input
[hadoop@hadoop101 hadoop-3.1.3]$ mkdir input
//把etc/hadoop/*.xml文件复制到input/文件夹中
[hadoop@hadoop101 hadoop-3.1.3]$ cp etc/hadoop/*.xml input/
//正则
[hadoop@hadoop101 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input/ output/ 'dfs[a-z.]+'
//查看
[hadoop@hadoop101 hadoop-3.1.3]$ cat output/*

wordcount

wordcount可以统计文件中每个单词出现的次数。我们可以创建一个简单的txt文档,统计每个人物出现的次数。

//创建文件夹wcinput/
[hadoop@hadoop101 hadoop-3.1.3]$ mkdir wcinput
//创建文件wc.txt并写入统计的每个人物
[hadoop@hadoop101 hadoop-3.1.3]$ cd wcinput/
[hadoop@hadoop101 wcinput]$ vim wc.txt
//统计分析
[hadoop@hadoop101 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ wcoutput/
//查看
[hadoop@hadoop101 hadoop-3.1.3]$ cat wcoutput/*

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值