#hadoop搭建(centOS 7 hadoop 2.7.2)
伪分布式版本
修改主机名
新增用户
groupadd hadoop
useradd hd -g hadoop -p xxxxxxxx
SSH
cd ~
cd .ssh/
ssh-kengen -t rsa
ssh-copy-id 其他机器的id
测试
ssh hadoop100
- 检查是否安装了ssh和rsync
rpm –qa | grep openssh
rpm –qa | grep rsync
yum install openssh
yum install rsync
service sshd restart
- master机器上生成秘钥对
修改主机名
1. vim /etc/sysconfig/network
HOSTNAME= hadoop101
2. vim /etc/hosts
192.168.64.10 hadoop10
安装
- 下载hadoop安装包并解压
https://archive.apache.org/dist/hadoop/common/
- 创建用户
groupadd hadoop
useradd hd -g hadoop -p 你的密码
- 配置hadoop的环境变量,方便使用命令
vim /etc/profile
HADOOP_HOME=你的hadoop目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
伪分布式
- 修改配置文件
/etc/hadoop/hadoop-env.sh
export JAVA_HOME=你的javahome
etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://你的hadoop节点ip:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>你的hadoop文件</value>
</property>
etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 启动(jps查看服务是否启动成功)
#第一次启动需要在创建hadoop的存储目录和一些准备工作
hdfs namenode -format
#启动namenode
hadoop-daemon.sh start namenode
#启动datanode
hadoop-daemon start datanode
- 运行MapReduce程序
1. 创建文件夹(示例)
hadoop fs -mkdir -p /hadoop/fs/mapreduce/input
2.上传文件至hdfs
创建test.txt文件(用于统计词出现的次数)
hadoop fs -put input/test.txt /hadoop/fs/mapreduce/input
3.执行mapreduce程序
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /hadoop/fs/mapreduce/input /hadoop/fs/mapreduce/output
- 查看结果
hadoop fs -ls -R /
或者
http://hadoop10:50070/explorer.html
配置yarn
1. 修改yarn-site.cml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop10</value>
</property>
2. 配置mapred-env.sh的java环境变量
3.配置mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
启动yarn
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager