1.安装前提条件 (1)首先安装jdk,最好安装1.7及1.7以上版本,而且安装jdk的环境变量 vi ~/.bashrc export JAVA_HOME=/usr/local/software/jdk1.8.0_141 export PATH=$JAVA_HOME/bin:$PATH (2)检查ssh和sshd是否安装,若是没有安装, ubuntu下面安装ssh和sshd: $ sudo apt-get install ssh $ sudo apt-get install rsync 若是你用的是redhat,fedora,centos等系列linux发行版,那么使用命令,例如安装sshd: sudo yum install sshd 检查ssh和sshd是否安装: sudo service sshd status 开启ssh服务: sudo service sshd start 2.在hadoop的官网下载hadoop版本http://www-eu.apache.org/dist/hadoop/common/,选择相应的版本进行下载,而后使用winscp工具上传hadoop-2.9.1到linux上。 3.解压hadoop tar -zxvf hadoop-2.9.1 4.配置hadoop的环境变量,方便输入命令,vi ~/.bashrc export HADOOP_HOME=/usr/local/software/hadoop-2.9.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 5.配置文件 (1)配置etc/hadoop/core-site.xml,hdfs的根路径 <property> <name>fs.defaultFS</name> <value>hdfs://slave2:9000</value> </property> (2)配置etc/hadoop/hdfs-site.xml,hdfs的副本 <property> <name>dfs.replication</name> <value>1</value> </property> (3)配置etc/hadoop/slaves,hdfs的datanode节点,直接把localhost改成域名,我这里是slave2 (4)配置免密码登陆 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys (5)格式化namenode $ bin/hdfs namenode -format 只要看见打印的日志里面有一行:18/10/09 14:29:34 INFO common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted. 就表示namenode格式化成功了。 (6)启动hdfs start-dfs.sh (6)启动hdfs start-dfs.sh (7)jps看一下进程,若是显示下面这样的,表示hdfs启动成功。 [root@slave2 hadoop-2.9.1]# jps 69617 Jps 69312 DataNode 69487 SecondaryNameNode 69198 NameNode (8)访问http://192.168.2.130:50070,就能看到hadoop的界面 【伪分布式模式下,配置yarn】 (1)配置etc/hadoop/mapred-site.xml 先复制一个cp mapred-site.xml.template mapred-site.xml,而后输入下面的 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> (2)配置etc/hadoop/yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> (3)启动yarn start-yarn.sh (4)这个时候进程多了两个,一个主节点ResourceManager,一个从节点NodeManager 69312 DataNode 69907 ResourceManager 70354 Jps 69487 SecondaryNameNode 70015 NodeManager 69198 NameNode (5)测试伪分布式模式下的mapreduce,让mapreduce计算test.txt里面的每一个单词出现的次数。 [root@slave2 input]# cat test.txt hadoop hdfs mapreduce nodemanager yarn hadoop hdfs nodemanager hadoop yarn hadoop 1. 在hdfs系统上面建立目录input hdfs dfs -mkdir /input 2.上传test.txt到hdfs hdfs dfs -put test.txt /input 3. 在hadoop的home目录下输入命令并回车,bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /input /output 4.这个时候能够看见hdfs系统上面生成了一个目录output,查看output里面的内容 [root@slave2 hadoop-2.9.1]# hdfs dfs -text /output/* hadoop 4 hdfs 2 mapreduce 1 nodemanager 2 yarn 2