从今天起,关心hadoop
因工作需要,需要了解一些hadoop相关内容,记下来希望以后可以作为一个参考,帮助像我这样的新手
欢迎拍砖~~~ :)
1、 下载必要软件包
http://hadoop.apache.org/releases.html
我下载的是2.7版本
2、 安装java
a) 把java安装好,可参考CentOS 安装Java 1.8
从oracle官网下载jdk:
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm"
新改版后的下载页面需要加上cookie头部才能用wget顺利下载,版本号可以在官网上浏览后自行选择
安装:
rpm -ivh jdk-8u65-linux-x64.rpm
装好后,再次确认当前系统默认的java版本:
如果看到:
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
那么恭喜,已经安装成功。
b) 配置环境变量
vim ~/.bashrc
加上这两行
JAVA_HOME=/usr/java/jdk1.8.0_65/PATH=$JAVA_HOME:$PATH
export PATH JAVA_HOME
刷新下环境变量
source ~/.bashrc
3、 基本配置(最简配置)
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 这个可以不配,我的机器高端口不让用 -->
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:8080</value>
</property>
</configuration>
mapred-sit.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
OK了,就这么多,其它高级配置用到再说,咱从简单来。
4、继续配置环境变量
继续在~/.bashrc中添加
export HADOOP_INSTALL="/home/users/[yourname]/hadoop_learn/hadoop"
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
刷新下环境变量
source ~/.bashrc
5、格式化HDFS
这个用来初始化空文件系统,新安装要搞一下这个
hadoop namenode -format
5、启动伪分布模式
运行 start-all.sh
下面一堆输入密码,也可以按书上写的做个免密码登录ssh localhost
,我公司电脑原因这块内容不可以做,就不写了,不设置也没关系
6、验证安装
1、运行JPS
命令: JPS
显示下面这一坨,就安装好了
2、可以从web页面看
上面的那个8080端口,如果没配,默认
50070
端口http://your.domain:8080
7、报错解决
1、运行过程中报这个问题
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
下载对应版本,解压到 lib/native下面,可以搞定此报警
http://dl.bintray.com/sequenceiq/sequenceiq-bin/
8、WordCount
1、建立输入目录
hadoop fs -mkdir -p input
2、随便烤点啥
hadoop fs -copyFromLocal README.txt input
3、运行官方示例
hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output
4、输出这个样子基本就ok了
5、查看结果
hadoop fs -cat output/*
如果以后文件大,推荐下载下来看
9、总结
安装过程比较流畅,基本就是解压,配变量,另外别用系统的openJDK,安装oracle的比较靠谱