Hadoop伪分布式安装

①打开VMware虚拟机,用镜像CentOS创建一个新的命名为hadoop的虚拟机

VMware主页菜单栏 点击文件-->新建虚拟机(选择CentOS镜像)点击下一步继续

点击下一步,等待……直至完成创建

选择other,登录用户名为root,密码为:hadoop

登录后修改一下时区和时间

配置网关:

点击VMware虚拟机的菜单栏左上角的 编辑-->虚拟网络编辑器,出现以下界面:

查看NAT设置:

查看DPCH设置:

右击右上角图标-->Edit Connections

 

出现以下界面填写以下信息:

右击桌面-->open in the termintal,在终端中输入以下命令:

重启网卡:service network restart

检查是否连通网络:ping baidu.com

出现以上界面则网关配置成功!(ctrl+c 退出此网速测试状态!)

②打开已经安装好的SecureCRT8.1(用以对虚拟机进行远程操作)

点击左上角闪电图标,连接刚刚设置的IP地址,如图:

如果没有连接上就点击菜单栏闪电图标右边那个图标(reconnect)重连接

出现如下图,即为连接成功!

关闭防火墙:chkconfig iptables off
禁用selinux:vim /etc/sysconfig/selinux,修改其中的内容为:SELINUX=disabled

查看主机名:hostname

vim /etc/sysconfig/network,修改内容如下:HOSTNAME=hadoop

修改机名与IP对应关系:vim /etc/hosts 在文档末行添加内容:192.168.189.130  hadoop

重启hadoop虚拟机:reboot

总体情况如下:

 

等待虚拟机重启完成……

重启后,在CRT中重新连接hadoop虚拟机

ssh免密钥登录,输入命令ssh-keygen -t rsa后,点击三次回车键,生成密钥

 

输入命令:ssh-copy-id 192.168.189.130  (注意:password输入时看不到内容!)

免密设置成功!

创建不同的目录(用于存放不同文件):

[root@hadoop ~]# cd /home
[root@hadoop ~]# cd /home
[root@hadoop home]# ls
 hadoop
[root@hadoop home]# rm -rf hadoop/
[root@hadoop home]# ls
[root@hadoop home]# mkdir tools
[root@hadoop home]# mkdir softwares
[root@hadoop home]# mkdir data
[root@hadoop home]# ls
 data  softwares  tools


安装lrzsz(上传文件到虚拟机中的一个软件)

[root@hadoop home]# yum install -y lrzsz

安装成功!

上传jdk1.8.0_162.tar.gz到 /home/tools,输入命令rz选择文件jdk1.8.0_162.tar.gz,add,ok等待直到上传完毕

创建文件夹 /home/softwares/java8,将刚才上传的jdk解压到/home/softwares/java8中,

命令如下:tar -zxf jdk1.8.0_162.tar.gz  -C ../softwares/java8/     

等待解压完成……

解压完成:

配置java环境

[root@hadoop java8]# pwd
/home/softwares/java8

打开环境变量配置文件:

[root@hadoop java8]# vim /etc/profile

在文档末尾添加两行内容:

刷新文件:

[root@hadoop java8]# source /etc/profile

检测java环境是否配置完成:

[root@hadoop java8]# java -version

出现如下,则配置成功!

java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

 

上传hadoop-2.9.2-src.tar.gz到 /home/tools/  中

将hadoop-2.9.2-src.tar.gz解压到 /home/softwares/ 中,命令:tar -zxf hadoop-2.9.2-src.tar.gz  -C ../softwares/

解压完查看文件列表:

[root@hadoop tools]# cd ../softwares/hadoop-2.9.2-src/

[root@hadoop hadoop-2.9.2-src]# ls

BUILDING.txt                  hadoop-hdfs-project       LICENSE.txt

dev-support                   hadoop-mapreduce-project  NOTICE.txt

hadoop-assemblies             hadoop-maven-plugins      patchprocess

hadoop-build-tools            hadoop-minicluster        pom.xml

hadoop-client                 hadoop-project            README.txt

hadoop-cloud-storage-project  hadoop-project-dist       start-build-env.sh

hadoop-common-project         hadoop-tools

hadoop-dist                   hadoop-yarn-project

[root@hadoop hadoop-2.9.2-src]#

 

查看文件所需外属文件:

[root@hadoop hadoop-2.9.2-src]# more BUILDING.txt
Build instructions for Hadoop



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

Requirements:



* Unix System

* JDK 1.7 or 1.8

* Maven 3.0 or later

* Findbugs 1.3.9 (if running findbugs)

* ProtocolBuffer 2.5.0

* CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac

* Zlib devel (if compiling native code)

* openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption per

formance)

* Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs)

* Internet connection for first build (to fetch all Maven and Hadoop dependencies)

* python (for releasedocs)

* Node.js / bower / Ember-cli (for YARN UI v2 building)

 

继续在 /home/tools/ 目录中上传所需要的文件protobuf-cpp-3.1.0.tar.gz,findbugs-3.0.1.tar.gz,apache-maven-3.6.1-bin.tar.gz

将apache-maven-3.6.1-bin.tar.gz解压到 /home/softwares/ 中

配置apache-maven-3.6.1环境

需在环境变量文档末尾添加两行的内容:

export MAVEN_HOME=/home/softwares/apache-maven-3.6.1
export PATH=$PATH:$MAVEN_HOME/bin

 

注意:下图中第二行PATN已经改为PATH,原来写错了!!!

检查maven是否配置成功,出现以下界面则成功!(注:配置环境后刷新配置文件使其生效:source /etc/profile)

 

将findbugs-3.0.1.tar.gz解压到 /home/softwares/ 中

配置findbugs-3.0.1环境:

需要在环境变量文档末尾添加两行的内容:

export FINDBUGS_HOME=/home/softwares/findbugs-3.0.1
export PATH=$PATH:$FINDBUGS_HOME/bin

 

 检查findbugs版本(注:配置环境后刷新配置文件使其生效:source /etc/profile)

将protobuf-cpp-3.1.0.tar.gz解压到 /home/softwares/ 中

[root@hadoop tools]# tar -zxf protobuf-cpp-3.1.0.tar.gz -C ../softwares/

进入到解压后的文件夹中:

[root@hadoop tools]# cd /home/softwares/protobuf-3.1.0/

 

安装protobuf:

检查protobuf:

[root@hadoop protobuf-3.1.0]# ./configure

安装系统依赖:

[root@hadoop protobuf-3.1.0]# yum -y install automake libtool cmake ncurses_devel openssl-devel lzo-devel zlib-devel gcc gcc-c++

安装:

[root@hadoop protobuf-3.1.0]# ./configure

[root@hadoop protobuf-3.1.0]# make install

*****等待安装完成*******

上传编译包hadoop-2.9.2-linux-64.tar.gz到 /home/tools/中

[root@hadoop tools]# rz

将其解压到 /home/softwares/中

[root@hadoop tools]# tar -zxf hadoop-2.9.2-linux-64.tar.gz -C ../softwares/

[root@hadoop tools]# cd /home/softwares/hadoop-2.9.2/

打印出/home/softwares/hadoop-2.9.2/的路径并复制,用于配置环境变量

[root@hadoop hadoop-2.9.2]# pwd

打开环境变量配置文件,配置hadoop-2.9.2的环境

[root@hadoop hadoop-2.9.2]# vim /etc/profile

在文件末尾添加如下:

export HADOOP_HOME=/home/softwares/hadoop-2.9.2/

export PATH=$PATH:$HADOOP_HOME/bin

 

刷新配置文件

[root@hadoop hadoop-2.9.2]# source /etc/profile

查看IP地址:

[root@hadoop hadoop-2.9.2]# ifconfig

以下根据官网(https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html)来配置hadoop

打开Notepad++,点击菜单栏:插件-->插件管理-->搜索NppFTP,安装-->连接上hadoop(192.168.189.130)

找到hadoop-env.sh文件,打开,修改正确的jdk路径:export JAVA_HOME=/home/softwares/java8(注:可以直接用vim修改!)

查看JAVA_HOME环境变量的具体值(用于修改文档):

[root@hadoop softwares]# echo $JAVA_HOME

/home/softwares/java8

 

 下图中的jdk版本不同(盗的别人的图!将文件夹jdk1.7.0_79替换为java8即可

 打开core-site.xml文件,(注意可能文件中存在的是core-site.xml后面还带有其他后缀,直接将其重命名删掉后缀)

#在hadoop-2.9.2文件夹下创建几个文件夹,用于后面的配置:

[root@hadoop hadoop-2.9.2]# mkdir data

[root@hadoop hadoop-2.9.2]# cd data

[root@hadoop data]# mkdir tmp

[root@hadoop data]# cd tmp

[root@hadoop tmp]# pwd

/home/softwares/hadoop-2.9.2/data/tmp

 

在core-site.xml文件添加如下内容:

 <property>

     <name>fs.defaultFS</name>

     <value>hdfs://hadoop:8020</value>

 </property>

 <property>

       <name>hadoop.tmp.dir</name>

       <value>/home/softwares/hadoop-2.9.2/data/tmp</value>

  </property>

 

打开hdfs-site.xml文件(注意同上),添加如下内容

<property>

    <name>dfs.replication</name>

    <value>1</value>

</property>

 

[root@hadoop tmp]# cd ..

[root@hadoop data]# cd ..

#格式化文件系统(格式化系统用于将系统中本来有的文件清楚干净,不要随便重复此步骤!!!)

[root@hadoop hadoop-2.9.2]# bin/hdfs namenode –format

#启动文件系统

[root@hadoop hadoop-2.9.2]# sbin/start-dfs.sh

#注意:对应的关闭命令为sbin/stop-dfs.sh

 

 查看界面:用浏览器打开网址:192.168.189.130:50070 (下图为盗图)

配置yarn:修改mapred-site.xml,添加如下:

 

<property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

 

 修改yarn-site.xml,添加如下:

 

<property>

     <name>yarn.nodemanager.aux-services</name>

     <value>mapreduce_shuffle</value>

</property>

 

启动yarn

 

[root@hadoop hadoop-2.9.2]# sbin/start-yarn.sh
starting yarn daemons

starting resourcemanager, logging to /home/softwares/hadoop-2.9.2/logs/yarn-root-resourcemanager-hadoop.out

localhost: starting nodemanager, logging to /home/softwares/hadoop-2.9.2/logs/yarn-root-nodemanager-hadoop.out

#注意:对应的关闭命令为sbin/stop-yarn.sh

 

###############查看进程#####################5个(如果缺少进程则没有成功,解决方法见下方)

[root@hadoop hadoop-2.9.2]# jps

10849 ResourceManager

10974 Jps

10936 NodeManager

10535 SecondaryNameNode

10320 NameNode

10404 DataNode

[root@hadoop hadoop-2.9.2]#

 

查看界面:在浏览器中输入192.168.189.130:8088 (下图为盗图)

至此,hadoop伪分布式集群搭建完成!!!如果没有成功,就用命令停止dfs和yarn,到/hadoop-2.9.2/data 中删除tmp文件夹(rm -rf tmp),并重新创建新的tmp文件夹,并将tmp的完整路径配置到前面的core-site.xml文件中的相应位置,并检查其他的环境是否正确,然后再启动dfs和yarn,重新尝试打开界面。

 

 

测试案例(wordcount)

进入/home/data/创建测试数据

[root@hadoop data]# touch words

[root@hadoop data]# vim words

#在words文档中输入以下内容:

hello bigdata

hello Hadoop

 通过hadoop命令上传words文件

[root@hadoop hadoop-2.9.2]# bin/hadoop fs -put /home/data/words /words

 

 下图为盗图

 

 !!!插入补充:

通过以下命令可以再服务器上创建新的文件夹(例如/swun/test):

bin/hadoop fs -mkdir -p /swun/test

注意:命令中的bin/hadoop fs部分等价于bin/hdfs dfs  ,两个都可以用

 词频统计:

[root@hadoop hadoop-2.9.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /words /out

查看结果:

[root@hadoop hadoop-2.9.2]# bin/hadoop fs -ls /out

18/06/08 08:59:22 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Found 2 items

-rw-r--r--   1 root supergroup          0 2018-06-08 08:55 /out/_SUCCESS

-rw-r--r--   1 root supergroup         27 2018-06-08 08:55 /out/part-r-00000

[root@hadoop hadoop-2.9.2]# bin/hadoop fs -cat /out/part-r-00000

18/06/08 09:00:19 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

bigdata 1

hadoop  1

hello   2

下图为盗图

 词频统计的原理如下:

Hdfs原始数据

 

Hello bigdata

Hello Hadoop

 

Map阶段:

输入数据

<0,”hello bigdata”>

<8,”hello Hadoop”>

    

输出数据

     map(key,value,context){

         String line=value;  //hello a

         String[] words=value.split(“\t”);

         For(Stirng word:words){

             //hello

             //bigdata

             //hello

             //Hadoop

           Context.write(word,1);

}

}

 

//hello 1

//bigdata 1

//hello 1

//Hadoop 1

Reduce阶段

输入数据

   分组排序

   <bigdata,1>

   <Hadoop,1>

   <hello,{1,1}>

 

输出数据

Reduce(key,value,context){

     Int sum=0;

     String word=key;

     For(int i:value){

         Sum+=I;

}

Context.write(word,sum);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值