0320安装Hadoop集群

 由于一些原因,有三个基本闲置的服务器,分别是Vultr和DigitalOcean的。同学的同学正好要做简单的WordCount程序当毕设,来找我帮忙。自己对Hadoop也很感兴趣,于是就开始入坑了。

三个主机运行的都是Ubuntu系统,这个历史遗留问题就不便更改为CentOS了。首先是建立ssh密钥登陆,自己一直用的是这种登陆方法,所以这里就不赘述了。master上生成的密钥分别传给两个slave的~/.ssh/authorized_keys ,在这里直接搬过来历史记录。


  206 ssh-keygen -t rsa

  207  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

  209  cat ~/.ssh/authorized_keys

  211  ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

  214  ssh-copy-id -i ~/.ssh/id_rsa.pub  [email protected]

  215  cat ~/.ssh/id_rsa.pub

在主机的/etc/hosts为两台从机的IP设置别名为slave1 slave2。这里的原理和访问网站差不多,基本格式像这样:


/etc/hosts

***.***.***.***     slave1

***.***.***.***     slave2

访问测试再搬一下历史记录

  216  ssh slave2

  249  ssh slave1

  250  ssh slave2

  288  cat ~/.ssh/id_rsa.pub

然后设置 hostname,这是在ubuntu上的修改方式。
master为例说明

vi /etc/hostname

HOSTNAME=hadoop-master

这一步没问题的话就可以安装JDK了

安装JDK的最简单的方法应该是 sudo apt-get update ; sudo apt-get install default-jdk,但是我实际上安装的是Oracle JDK,安装命令如下:


sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

sudo apt install oracle-java8-set-default

在三台机器上都安装JDK8之后,使用java -version验证一下即可


安装Hadoop,在Google上面搜索Hadoop,进入官网,复制2.7.5版本的Binary下载链接,然后使用wget下载,比如。


wget http://mirror.metrocast.net/apache/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz

链接不久会失效,到时候自己搜一下。

然后设置Hadoop的JAVA_HOME

sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh打开环境设置文件,在JAVA_HOME的下面添加这样一条命令

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
就完成了

Hadoop环境搭建
配置hadoop-master的hadoop环境
1、hadoop-master上 解压缩安装包及创建基本目录

tar -xzvf hadoop-2.7.3.tar.gz -C /usr/local

2、 配置hadoop-master的hadoop环境变量

1)配置环境变量,修改配置文件vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
使得hadoop命令在当前终端立即生效

source /etc/profile
然后配置HOSRT_NAME
这一步很重要,要不然Hadoop启动时会找不到主机
vi /etc/sysconfig/network

HOSTNAME=hadoop-master

以下修改的文件都在/usr/local/hadoop/etc/hadoop/目录下

core-site.xml

    
        hadoop.tmp.dir
        file:/usr/local/hadoop/tmp
        Abase for other temportary directories.
    

    
        fs.defaultFS
        hdfs://hadoop-master:9000
    


hdfs-site.xml

    
        dfs.replication
        3
    
    
        dfs.name.dir
        /usr/local/hadoop/hdfs/name
    
    
        dfs.data.dir
        /usr/local/hadoop/hdfs/data
    


cp marped-site.xml.template mapred-site.xml

    
        mapreduce.framework.name
        yarn
    
    
        mapred.job.tracker
        http://hadoop-master:9001
    


yarn-site.xml


    
        yarn.nademanager.aux-services
        mapreduce_shuffle
    
    
        yarn.resourcemanager.hastname
        hadoop-master
    

配置masters文件 该文件指定namenode节点所在的服务器机器。删除localhost,添加namenode节点的主机名hadoop-master;不建议使用IP地址,因为IP地址可能会变化,但是主机名一般不会变化。

vi /usr/local/hadoop/etc/hadoop/masters
## 内容
hadoop-master

配置slaves文件(Master主机特有)

修改/usr/local/hadoop/etc/hadoop/slaves文件,该文件指定哪些服务器节点是datanode节点。删除locahost,添加所有datanode节点的主机名,如下所示。

vi /usr/local/hadoop/etc/hadoop/slaves
## 内容
slave1
slave2
slave3

配置hadoop-slave的hadoop环境
复制hadoop到hadoop-slave1节点

scp -r /usr/local/hadoop hadoop-slave1:/usr/local/

登录hadoop-slave1服务器,删除slaves内容

rm -rf /usr/local/hadoop/etc/hadoop/slaves

2)配置环境变量

vi /etc/profile

内容

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

使得hadoop命令在当前终端立即生效;

source /etc/profile
依次配置其它slave服务

启动集群
1、格式化HDFS文件系统

进入master的 hadoop目录,执行以下操作

bin/hadoop namenode -format

格式化namenode,第一次启动服务前执行的操作,以后不需要执行。

2、然后启动hadoop:

sbin/start-all.sh
3、使用jps命令查看运行情况

master 执行 jps查看运行情况

25928 SecondaryNameNode
25742 NameNode
26387 Jps
26078 ResourceManager
#slave 执行 jps查看运行情况
24002 NodeManager
23899 DataNode
24179 Jps

4、命令查看Hadoop集群的状态

通过简单的jps命令虽然可以查看HDFS文件管理系统、MapReduce服务是否启动成功,但是无法查看到Hadoop整个集群的运行状态。我们可以通过hadoop dfsadmin -report进行查看。用该命令可以快速定位出哪些节点挂掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。

hadoop dfsadmin -report
输出结果:

Configured Capacity: 50108030976 (46.67 GB)
Present Capacity: 41877471232 (39.00 GB)
DFS Remaining: 41877385216 (39.00 GB)
DFS Used: 86016 (84 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

5、hadoop 重启

sbin/stop-all.sh
sbin/start-all.sh

你可能感兴趣的:(0320安装Hadoop集群)