下载及安装
下载
我先在CentOS 7.4的服务器的/usr/
目录新建了一个hadoop目录,然后进入新建的hadoop目录,下载hadoop。
命令:
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
到hadoop下载页面选择合适的hadoop版本进行下载,我使用的是2.8.5,截止现在,因为hbase最高支持2.8.X的版本,使用Hadoop2.9.X会有问题。
安装
把下载好的压缩包解压出来
命令:
tar xvzf hadoop-2.8.5.tar.gz
配置/etc/profile的JAVA_HOME
配置
配置${HADOOP_HOME}/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
这个配置是配置HDFS的备份数的,不配置的话默认是备份3分,因为这里是测试,所以1份就够了。一般用默认配置,土豪可以调3+。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
设置passphraseless ssh
现在通过ssh localhost
看看需不需要密码访问。如果发现需要密码访问,那么试用一下命令配置ssh-keygen
:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
运行
- format namenode
$ ${HADOOP_HOME}/bin/hdfs namenode -format
- 启动NameNode和DataNode:
$ ${HADOOP_HOME}/sbin/start-dfs.sh
- 使用jps命令查看是否启动成功:
- 访问localhost:50070
运行官方提供的测试examples
- 创建执行MapReduce作业所需的HDFS目录:
$ ${HADOOP_HOME}/bin/hdfs dfs -mkdir /user
$ ${HADOOP_HOME}/bin/hdfs dfs -mkdir /user/<username>
- 拷贝官方提供的input文件到分布式文件系统中:
$ ${HADOOP_HOME}/bin/hdfs dfs -put etc/hadoop input
- 运行examples
$ ${HADOOP_HOME}/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar grep input output 'dfs[a-z.]+'
跑完会输出这个:
最后停止运行:
$ ${HADOOP_HOME}/sbin/stop-dfs.sh
配置YARN
先配置MapReduce的管理工具为yarn:
$ cp ${HADOOP_HOME}/etc/hadoop/mapred-site.xml.template ${HADOOP_HOME}/etc/hadoop/mapred-site.xml
$ vim ${HADOOP_HOME}/etc/hadoop/mapred-site.xml
mapred-site.xml配置如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml:
$ vim ${HADOOP_HOME}/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动yarn:
$ ${HADOOP_HOME}/sbin/start-yarn.sh
$ jps
32934 NodeManager
32999 Jps
32857 ResourceManager