软件 |
下载地址 |
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 语句以后,需要连续敲击三次回车,结果如下:
再输入:
$ 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文件:
|
接下来修改配置文件 hdfs-site.xml
|
配置完成后,执行 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系统信息: