hadoop集群环境搭建

网络拓扑

网络拓扑图 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
11
JAVA_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
3
scp ~/.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
4
sudo 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管理 web管理图