Spark实践笔记2:Hadoop安装
Hadoop下载:我选择了hadoop2.7.0
将hadoop-2.7.0.tar 上传到ubuntu1里去,并将hadoop解压到/usr/local/hadoop
|
- 修改 ~/.bashrc 文件,增加环境变量:
|
导入配置使其生效:source ~/.bashrc
- 创建必要的目录
|
- 修改配置文件,配置文件目录:${HADOOP_HOME}/etc/hadoop
检查配置文件hadoop-env.sh , yarn-env.sh , mapred-env.sh里的JAVA_HOME配置,未配置或者配置不正确则修改成正确的。此处JAVA_HOME都应配绝对路径
修改配置文件slaves,将其修改为正确的从节点名
|
- 修改core-site.xml,增加配置:以下是最小化配置,所有配置项含义参考官方文档
|
- 修改hdfs-site.xml,增加配置:以下是最小化配置,所有配置项含义参考官方文档
|
- 根据mapred-site.xml模板文件,复制一份为mapred-site.xml修改配置项,增加配置:以下是最小化配置,所有配置项含义参考[官方文档](http://hadoop.apache.org/docs/r2.7.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapre
d-default.xml)
cp mapred-site.xml.template mapred-site.xml
|
- 修改yarn-site.xml,增加配置:以下是最小化配置,所有配置项含义参考官方文档
|
- 发布到另外两台机器:
|
同样修改ubuntu2,ubuntu3的环境变量,增加HADOOP_HOME及PATH,参看 二.3
- 启动hadoop
- 格式化namenode,在ubuntu1上执行
root@ubuntu1:/usr/local/hadoop/hadoop-2.7.0/bin# hadoop namenode -format
- 在${HADOOP_HOME}/sbin执行
./start-dfs.sh
,执行后jps一下,在ubuntu1上发现有namenode,datanode,在ubuntu2,ubuntu3上又datanode进程出现。
在执行./start-dfs.sh
时发现有告警:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决办法是手工编译hadoop并用编译生成的native-hadoop library替换自带的native-hadoop library。
打开http://10.211.55.21:50070/ 查看集群状况
执行
./start-yarn.sh
,启动yarn;通过 http://10.211.55.21:8088 查看资源状况resourcemanager
通过 http://10.211.55.22:8042/ http://10.211.55.23:8042/ 查看对应主机上的nodemanager运行状况
- 执行
./mr-jobhistory-daemon.sh start historyserver
,启动历史任务服务,启动后通过 http://10.211.55.21:19888 任务历史信息
- 通过wordcount验证hadoop
- 在HDFS里创建输入输出目录:
|
- 将HADOOP的配置文件当做是wordcount的对象放到HDFS里,
hadoop fs -put ${HADOOP_HOME}/etc/hadoop/*.xml /data/wordcount/
- 执行自带的wordcount
hadoop jar ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /data/wordcount /output/wordcount
- 执行成功,查看执行结果
hadoop fs -cat /output/wordcount/part-r-00000
至此,HADOOP安装完毕!