赞
踩
看了零零散散的一系列安装教程后,终于磕磕绊绊勉强完成了Ubuntu搭建Haoop
实在是太不希望看零零散散的乱七八糟的教程
所以我决定自己亲手写一份保姆级别的安装配置教程
以下都是我使用的工具版本,具体的版本也可以根据自己的喜好换(劝你最好不要有喜好)
工具准备好以后就要进行环境的部署了
1、第一步安装VMware
这个随便在网上找个教程安装就可以了
推荐安装教程
2、第二步 新建虚拟机
也是随便找篇教程安装新建即可,除了导入ubuntu的iso文件,大部分时间都是选默认选项,一路next
这个教程就挺好的
VM和ubuntu安装配置后,就是这个样子的
1、为了方便之后的文件修改等操作,需要安装一些工具,如vim
切换到root用户下,第一次可能不能切换,按照以下代码更改root用户登录密码
切换到root用户
更新apt源,会比较慢,你可以研究如何更换下载源
安装vim
为防止每次开机的IP都变换,将其设置为静态IP
之后的hadoop是装在hadoop用户下的,而不是root用户下
hadoop 用户增加管理员权限,方便部署
切换到hadoop用户
安装ssh服务器
登录 输入yes和hadoop用户登录密码
为避免每次登录时都输入密码,设置为无密码登录
三次回车
若没有~/.ssh文件就再执行一次ssh localhost
再次登录 已经没有密码了
把之前准备好的jdk包弄到虚拟机里面,有很多办法,最简单的就是将jdk包放在qq里,然后在虚拟机的火狐浏览器里登录你的qq进行下载包,顺便把hadoop的压缩包也放到ubuntu虚拟机里,记住下载的路径(建议放在haoop的根目录下,即/home/haoop)。
比如我的在/home/hadoop下
在haoop用户下
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入到jdk压缩包所在的那个位置,我的是在hadoop的根目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
#把JDK文件解压到/usr/lib/jvm目录下
执行如下命令到/usr/lib/jvm目录查看一下
配置环境变量
打开~/.bashrc文件后在最底部插入如下代码
保存后退出vim编辑器
执行如下命令让.bashrc文件的配置立即生效并查看java版本
出现版本号即java安装完成
回到放有hadoop压缩包的目录下并解压hadoop到 /usr/local 下
解压后
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R 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
执行以下代码使~/.bashrc生效并查看haoop版本
hadoop也就安装完成了
wordcount就相当于c语言的"hello world" 是一个小的demo
修改/usr/local/hadoop/etc/hadoop 下的mapred-site.xml文件
如果是mapred-site.template进行如下操作,修改为mapred-site.xml
修改内容
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hmaster:9001</value>
</property>
</configuration>
创建input文件夹
cd /usr/local/hadoop
hadoop fs -mkdir /input
当前在hadoop的目录下,有个LICENSE.txt的文件,把它放到hdfs的input目录下面
hadoop fs -put LICENSE.txt /input
查看文件是否正确传入到/input目录下
执行以下代码
cd /usr/local/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /input /output
查看输出结果的目录
查看最终运行的结果
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
配置文件如下
修改core-site.xml
修改前
添加
<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>
修改后
修改配置文件 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 的格式化
这里可能会报 Error: JAVA_HOME is not set and could not be found. 的错误
那么请到hadoop的安装目录修改配置文件“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”,在里面找到“export JAVA_HOME=${JAVA_HOME}”这行,然后,把它修改成JAVA安装路径的具体地址
开启 NameNode 和 DataNode 守护进程
通过命令 jps 来判断是否成功启动
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。