@spiritnotes
2016-08-28T16:28:22.000000Z
字数 2584
阅读 1622
Hadoop
Spark
1 java安装
2 sshd安装
apt-get install openssh-server
安装后使用"ps aux | grep sshd"命令查看sshd是否启动,如果有如下信息"root 7093 0.0 0.2 65612 6116 ? Ss 22:22 0:00/usr/sbin/sshd -D",表明sshd已启动,如果没有启动,则使用命令"/etc/init.d/ssh start"启动sshd进程
3 hadoop安装
http://www.apache.org/dyn/closer.cgi/hadoop/common/
执行 ./bin/hadoop
如果出现java配置错误则配置java home
etc/hadoop/hadoop-env.sh
单机模式
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs[a-z.]+'
cat output/*
1 dfsadmin
gedit etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
gedit etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化namenode
bin/hdfs namenode -format
启动集群
/opt/hadoop$ sbin/start-dfs.sh
Starting namenodes on [localhost]
spirit@localhost's password:
localhost: starting namenode, logging to /opt/hadoop-2.7.3/logs/hadoop-spirit-namenode-master.out
spirit@localhost's password:
localhost: starting datanode, logging to /opt/hadoop-2.7.3/logs/hadoop-spirit-datanode-master.out
Starting secondary namenodes [0.0.0.0]
spirit@0.0.0.0's password:
0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-2.7.3/logs/hadoop-spirit-secondarynamenode-master.out
现在可以通过如下web端查看hadoop运行状况
http://localhost:50070/
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
gedit etc/hadoop/mapred-site.xml
##
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
gedit etc/hadoop/yarn-site.xml
###
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
启动
sbin/start-yarn.sh
http://localhost:8088/
遇到问题
问题1:
Error: Could not find or load main class
org.apache.hadoop.hdfs.server.namenode.NameNode
解决办法:
在~/hadoop-2.7.0/etc/hadoop/hadoop-env.sh中添加
export HADOOP_COMMON_HOME=~/hadoop-2.7.0
重启生效
问题2:
格式化Java_home not found
bin/hdfs namenode -format
在/etc/environment 中添加
export JAVA_HOME=/usr/jdk
生效
source /etc/environment
重启[如还不行,重启]
sudo init 6
接下来创建hdfs文件系统的目录:
$ ./bin/hdfs dfs -mkdir /user
$ ./bin/hdfs dfs -mkdir /user/root
然后我们将之前input文件夹拷贝到hdfs文件系统中:
$ ./bin/hdfs dfs -put input /user/root
我们可以使用如下命令查看,是否将input文件夹拷贝到了hdfs文件系统中:
./bin/hdfs dfs -ls /user/root/input/*
以上操作如下图所示:
\
接下来让我们将当前文件系统中的input和output文件夹删除:
$ rm -rf input output
再运行hadoop命令:
$ ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount input output
同样检查输出文件,将hdfs文件系统中的输出复制到本地文件系统,命令如下:
$ ./bin/hdfs dfs -get /user/root/output ouput
$ cat output/*
或者直接查看hdfs文件系统中的输出结果,而不用先复制到本地文件系统中,命令如下:
$ ./bin/hdfs dfs -cat output/*
可看到运行结果与之前单机模式时相同。当你做完测试,记得关闭服务,使用如下命令:
$ ./sbin/stop-dfs.sh
3总结