网络拓扑
NN :namenode
RM:资源管理器
DN:datanode
NM:nodemanager
SNM:secondary namenode
软件环境
ubuntu14.04 64Bit (所有机器用户名 应当一样 hostname不同进行区分)
JDK 1.8
hadoop 2.6.4
运行环境配置
1、解压jdk /usr/local/jdk1.8.0
2、解压hadoop /usr/local/hadoop
3、sudo vi /etc/environment
1
2
3
4
5
6
7
8
9
10
11JAVA_HOME=/usr/local/jdk1.8.0
HADOOP_INSTALL=/usr/local/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/jdk1.8.0/bin:/usr/local/hadoop/bin"
```
## 安装SSH并配置免密码登录
``` shell
sudo apt-get install ssh
ssh-keygen -t dsa -P '' ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost
注意: 将master机器上的id_rsa.pub添加到所有机器的authorized_keys文件中。
1
2
3scp ~/.ssh/id_rsa.pub jiutian@slave1:/home/jiutian/.ssh/master.pub
//在slave1中执行下面语句
cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys
配置hadoop分布式
1、修改文件拥有者
sudo chown -R jiutian:jiutian /usr/local/hadoop
2、使用软连接切换运行环境
cp /usr/local/hadoop/etc/hadoop /usr/local/hadoop/etc/hadoop_clone
mv /usr/local/hadoop/etc/hadoop /usr/local/hadoop/etc/hadoop_clutser
ln -s /usr/local/hadoop/etc/hadoop_clutser /usr/local/hadoop/etc/hadoop
3、配置分布式运行环境参数
1、core-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>hadoop.tmp.dit</name>
<value>/home/jiutian/hadoop_tmp</value>
</property>
<property>
<name>fs.checkpoint.period</name>
<value>3600</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
</configuration>
2、hdfs-site.xml
1
2
3
4
5
6
7
8
9
10<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave3:50090</value>
</property>
</configuration>
3、mapred-site.xml
1
2
3
4
5
6<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4、yarn-site.xml
1
2
3
4
5
6
7
8
9
10<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5、添加数据节点slave
1
2编辑slaves
添加主机名 slave1 slave2 各占一行
6、添加SNN主机
1
2新建masters文件
添加主机名 slave3
7、将修改过的配置文件,复制到所有的机器上。
4、修改主机名、网络
a)
1
2
3
4sudo vim /etc/hostname
```
对应修改为 master slave1 slave2 slave3
b)
sudo vim /etc/hosts
1
2添加相应的网络设置
如果是ubuntu 把第二行127.0.1.1注释掉.
192.168.0.190 master
192.168.0.192 slave1
192.168.0.197 slave2
192.168.0.198 slave3
1
2
3
4
5
将修改后的hosts文件覆盖所有机器.
远程覆盖:
```
scp /etc/hosts jiutian@slave1:/etc/
5、启动hadoop
1
./usr/local/hadoop/sbin/start-all.sh
通过jps查看运行信息
1
2
3
4
5
6 1、master
jps、RM、NN
2、slave1 slave2
jps、DN、NM
3、slave3
jps、SNN
6、hdfs创建目录 上传文件
创建目录
1
2./bin/hdfs dfs -mkdir -p /user/jiutian
./bin/hdfs dfs -mkdir input
上传文件
1
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
下载文件
1
./bin/hdfs dfs -get output ./output # 将 HDFS 上的 output 文件夹拷贝到本机
删除文件
1
./bin/hdfs dfs -rm -r output # 删除 output 文件夹
7、Web管理