本文共 4234 字,大约阅读时间需要 14 分钟。
集群发布试验后,后续要转向hadoop开发,所以下面要进行伪分布式发布和eclipse结合的实践。
hadoop伪分布式发布
第一步 规划
主机: 192.168.136.155, hostname master
主机操作系统; centos6.5 (虚拟机)
(注: 我尝试设置主机hostname为 localhost,不成功,总是启动后,一开始为localhost,过了1分钟左右,就变成localhost.localdomain,如果有人
知道原因,望告知,先谢过!)
ssh无密钥登录参考之前的内容
第二步 hadoop 配置
1) 下载hadoop并传送到主机155上,解压,并授权给hadoop用户。
2) 设置系统环境变量
root用户下, 修改 /etc/profile文件,在最后部分增加如下内容
export JAVA_HOME=/usr/java/jdk1.7.0_80 export JAVA_BIN=/usr/java/jdk1.7.0_80/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH export HADOOP_HOME=/opt/hadoop/hadoop-2.6.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
3) 切换到hadoop用户,进入hadoop的安装目录 ,
cd etc/hadoop 找到hadoop-env.sh文件 vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.6.4/etc/hadoop export HADOOP_PREFIX=/opt/hadoop/hadoop-2.6.4
确保上面环境变量设置好
上面设置好后,通过hadoop version命令进行测试,测试返回如下:
[hadoop@master hadoop]$ hadoop version Hadoop 2.6.4 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 5082c73637530b0b7e115f9625ed7fac69f937e6 Compiled by jenkins on 2016-02-12T09:45Z Compiled with protoc 2.5.0 From source with checksum 8dee2286ecdbbbc930a6c87b65cbc010 This command was run using /opt/hadoop/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar [hadoop@master hadoop]$
4) 配置core-site.xml 文件
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.136.155:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> </configuration>
5) 配置 hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
配置后,手工要建立这些目录,注意权限也要赋给 hadoop用户
6) 配置 mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
7) 配置yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
8) 修改slaves文件
[hadoop@master hadoop]$ cat slaves master
伪分布式发布,所以slaves也用155主机的host
9)格式化
执行 hdfs namenode -format 命令
[hadoop@master ~]$ hdfs namenode -format 16/06/13 15:48:27 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = master/192.168.136.155 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.6.4
。。。。。
16/06/13 15:48:32 INFO common.Storage: Storage directory /usr/hadoop/dfs/name has been successfully formatted. 16/06/13 15:48:32 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 16/06/13 15:48:32 INFO util.ExitUtil: Exiting with status 0 16/06/13 15:48:32 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at master/192.168.136.155 ************************************************************/ [hadoop@master ~]$
最后出现状态 status 0就成功了
10) 启动全部进程
start-all.sh
启动后,如果没有报错,输入jps命令查看进程
[hadoop@master mydata]$ jps 7236 NameNode 7508 SecondaryNameNode 8284 Jps 7352 DataNode 7750 NodeManager 7659 ResourceManager
11) 创建dfs的目录
$ hdfs dfs -mkdir /user $ hdfs dfs -mkdir /user/hadoop
这个创建后,需要网址http://192.168.136.155:50070/dfshealth.html#tab-overview 打开后,通过工具-》查看文件系统可以看到
12) 下载例子数据:天气数据
http://download.csdn.net/download/s060403072/6535733 可以从这里下载 :)
上传到主机155上
[hadoop@master mydata]$ pwd /opt/hadoop/mydata [hadoop@master mydata]$ [hadoop@master mydata]$ ls -ltr total 4408 -rw-rw-r-- 1 hadoop hadoop 2253120 Oct 7 2010 stations-fixed-width.txt -rw-rw-r-- 1 hadoop hadoop 2253738 Oct 7 2010 ish-history.txt [hadoop@master mydata]$
13) 导入到dfs中
[hadoop@master mydata]$ hdfs dfs -put /opt/hadoop/mydata input [hadoop@master mydata]$
没有报错,就说明正常,否则会屏幕打印。
14) 导入成功后,就可以在前面的网址里面查看。
端口8088显示: 注意2.6.4没有 50030端口,改为8088了
50070端口显示: