Hadopp3.11的伪分布式搭建

  • 准备软件

软件

下载地址

VMware Workstation 14中文破解版

https://pan.baidu.com/s/1pbDXpgpNQTdTRzzKNWfE1A

ubuntu-18.10-desktop-amd64

http://releases.ubuntu.com/18.10/ubuntu-18.10-live-server-amd64.iso

JDK

https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-i586.tar.gz

Hadoop 3.1.1

http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz

eclipse-java-2018-12-R-linux-gtk-x86_64.tar.gz

https://www.eclipse.org/downloads/packages/

hadoop-eclipse-plugin-2.6.0.jar

https://codeload.github.com/winghc/hadoop2x-eclipse-plugin/zip/master

 

  • 安装虚拟机

安装成功后,打开VMware Workstation,点击新建虚拟机,选择典型,如下:

点击下一步,选择安装程序光盘映像文件,浏览找到你下载的ubuntu-18.10-desktop-amd64的压缩包文件,如下:

继续点击下一步,填写用户名和密码(尽量简单),填好后点击下一步,为即将创建的虚拟机命名并选择安装路径(最好不要安装在C盘),如下所示:

继续点击下一步至如下界面:

 

点击自定义硬件可以修改虚拟机的各项参数,如果电脑内存小于等于4GB,需要将内存改至512MB,否则严重卡顿。修改完成后点击完成,虚拟机就创建成功,打开后界面如下:

 

  • 集群搭建

3.1 打开虚拟机,创建Hadoop用户

$ sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell

$ sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码

$ sudo adduser hadoop sudo             #为hadoop用户增加管理员权限

$ su - hadoop                          #切换当前用户为用户hadoop

$ sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装

3.2安装SSH,设置SSH无密码登陆

$ sudo apt-get install openssh-server   #安装SSH server

$ ssh localhost                         #登陆SSH,第一次登陆输入yes

$ exit                                  #退出登录的ssh localhost

$ cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost

$ ssh-keygen -t rsa  

输入完  $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车,结果如下:

https://i-blog.csdnimg.cn/blog_migrate/b8f5cd54912525f6dce26d53bad3c12c.jpeg

再输入:

$ cat ./id_rsa.pub >> ./authorized_keys #加入授权

$ ssh localhost                         #此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案

3.3安装jdk1.8.0_191

$ mkdir /usr/lib/jvm                           #创建jvm文件夹

$ sudo tar zxvf /home/Hadoop/Hadoop/jdk-8u191-linux-x64.tar.gz  -C /usr/lib #/ 解压到/usr/lib/jvm目录下

$ vi ~/.bashrc                                 #给JDK配置环境变量

在.bashrc文件添加如下指令:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

在文件修改完毕以后,输入代码:

$ source ~/.bashrc                       #使新配置的环境变量生效

$ java -version                          #检测是否安装成功,查看java版本

如果出现如下图所示的内容,即为安装成功:

3.4安装hadoop

$ sudo tar -zxvf  /home/Hadoop/Hadoop/hadoop-3.1.1.tar.gz -C /usr/local    #解压到/usr/local目录下

$ cd /usr/local

$ sudo mv  hadoop-3.1.1   hadoop                      #重命名为hadoop

$ sudo chown -R hadoop ./hadoop                        #修改文件权限

给hadoop配置环境变量,将下面代码添加到.bashrc文件:

export HADOOP_HOME=/usr/local/hadoop

export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

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

同样,执行source ~./bashrc使设置生效,并查看hadoop是否安装成功

3.5 伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。首先将jdk1.8.0_191的路径添(export JAVA_HOME=/usr/lib/ jdk1.8.0_191)加到hadoop-env.sh文件:

接下来修改core-site.xml文件:

<configuration>

        <property>

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

             <value>file:/usr/local/hadoop/tmp</value>

             <description>Abase for other temporary directories.</description>

        </property>

        <property>

             <name>fs.defaultFS</name>

             <value>hdfs://localhost:9000</value>

        </property>

</configuration>

接下来修改配置文件 hdfs-site.xml

<configuration>

        <property>

             <name>dfs.replication</name>

             <value>1</value>

        </property>

        <property>

             <name>dfs.namenode.name.dir</name>

             <value>file:/usr/local/hadoop/tmp/dfs/name</value>

        </property>

        <property>

             <name>dfs.datanode.data.dir</name>

             <value>file:/usr/local/hadoop/tmp/dfs/data</value>

        </property>

</configuration>

配置完成后,执行 NameNode 的格式化:

$ ./bin/hdfs namenode -format

启动namenode和datanode进程,并查看启动结果

$ ./sbin/start-dfs.sh

$ jps

3.6案例运行:

新建hadoop hdfs文件系统上的input文件夹(输入文件存放):hadoop fs -mkdir  -p /data/wc_input

传入测试文件: hadoop fs -put /usr/local/hadoop/input/*.txt /data/wc_input

查看刚刚传入的文件:hadoop fs -ls /data/wc_input

运行wordcount示例: hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount /data/wc_input /output/wordcountresult

查看运行结果:hadoop fs -text /output/wordcountresult/part-r-00000

3.7系统信息:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值