Hadoop集群安装(1 master + 2 slave)(ubuntu-14.04.3 + hadoop 2.6.3)

VMware下配置三台ubuntu-14.04.3的虚拟机:

master   192.168.13.130

slave1   192.168.13.131

slave2   192.168.13.132


一.以下操作step1-step3三台机器上都要操作:

1.创建hadoop用户名

 #sudouseradd -m hadoop -s /bin/bash  

/*创建了hadoop 用户,并使用 /bin/bash 作为 shell。

# sudopasswd hadoop

#sudoadduser hadoop sudo

在登陆界面使用刚创建的 hadoop 用户进行登陆。


2..更新apt
#sudoapt-get update

可能会出现下面error:

/var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en

解决方法:sudo rm /var/lib/apt/lists/* -vfR删除apt-getinstall 的所有软件状态包。然后再次执行sudoapt-get update


3.Java环境
#sudoapt-get install openjdk-7-jre openjdk-7-jdk

#默认安装位置为 /usr/lib/jvm/java-7-openjdk-amd64

#dpkg -L openjdk-7-jdk| grep '/bin/javac'        #查询安装路径

接着配置 JAVA_HOME 环境变量

#vim /home/hadoop/.bashrc

在文件最前面添加:

exportJAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64


让环境变量生效并查询:

#source /home/hadoop/.bashrc

#echo $JAVA_HOME


二.修改主机名和所用节点的IP映射

1.192.168.13.130的机器(master):

#vi /etc/hostname

输入master,保存退出。需要重启才能生效

#vi /etc/hosts

默认有2个127.0.0.1,只保留127.0.0.1 localhost这个

然后在下面添加下面信息并保存:

192.168.13.130  master  

192.168.13.131  slave1  

192.168.13.132  slave2 


2.192.168.13.131的机器(slave1):

#vi /etc/hostname

输入slave1,保存退出。需要重启才能生效

#vi /etc/hosts

默认有2个127.0.0.1,只保留127.0.0.1 localhost这个

然后在下面添加下面信息并保存:

192.168.13.130  master  

192.168.13.131  slave1  

192.168.13.132  slave2

3.192.168.13.131的机器(slave2):

#vi /etc/hostname

输入slave2,保存退出。需要重启才能生效

#vi /etc/hosts

默认有2个127.0.0.1,只保留127.0.0.1 localhost这个

然后在下面添加下面信息并保存:

192.168.13.130  master  

192.168.13.131  slave1  

192.168.13.132  slave2


4.分别三台机器上执行ping 命令,确认能互相通信

ping master

ping slave1

ping slave2


三.SSH无密码登录节点设定

1.master,slave1,slave2分别做安装操作

#sudoapt-get install openssh-server


2.master上如下操作

(1)使用命令登录本机:#ssh localhost 或者#ssh master ,登录成功后exit退出ssh,/home/hadoop/下会自动创建一个.ssh文件夹(隐藏的)

(2)

# cd /home/hadoop/.ssh

#ssh-keygen-t rsa              # 会有提示,一路按回车就可以

#cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

此后,再用 ssh localhost 命令,无需输入密码就可以登录了

(3)master节点将上公匙传输到slave1,slave2节点

#scp /home/hadoop/.ssh/id_rsa.pub  hadoop@slave1:/home/hadoop

#scp /home/hadoop/.ssh/id_rsa.pub  hadoop@slave2:/home/hadoop

3.slave1,slave2 节点上,将ssh 公匙加入授权:

(1)#mkdir /home/hadoop/.ssh 
(2)#cat /home/hadoop/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys


4.master上进行检验:

#ssh slave1

#ssh slave2


四.在master上安装 Hadoop 2.6.3,完成后copy到slave1,slave2

(1)master上安装 Hadoop

a.

http://mirrors.cnnic.cn/apache/hadoop/common/ 下载hadoop-2.6.3.tar.gz 这个文件

# 解压到/usr/local中

#sudotar -zxf   /下载目录/hadoop-2.6.3.tar.gz-C /usr/local   

#cd/usr/local/

#sudo mv  ./hadoop-2.6.3/  ./hadoop            # 将文件夹hadoop-2.6.3改为hadoop

#sudo chown -R hadoop:hadoop ./hadoop        # 修改文件权限


#cd/usr/local/hadoop

#./bin/hadoopversion    #检查 Hadoop 是否可用

b.修改PATH环境变量。(和JAVA_HOME一样)

#vim /home/hadoop/.bashrc

在JAVA_HOME下面添加:

exportPATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin

#source /home/hadoop/.bashrc


c.修改/usr/local/hadoop/etc/hadoop 中的5个配置文件: slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。

文件core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>sample.</description>
    </property>
</configuration>


文件 hdfs-site.xml,dfs.replication 一般设为 3,(只有一个 Slave 节点,dfs.replication 的值还是设为 1):
<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>


文件 mapred-site.xml :
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

文件 yarn-site.xml:
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>


(2)将Master 上的/usr/local/和adoop 文件夹复制到slave1,slave2上

#sudo tar -zcf /usr/local/hadoop.master.tar.gz /usr/local/hadoop   # 先压缩再复制

#scp /usr/local/hadoop.master.tar.gz 是lave1:/home/hadoop

#scp /usr/local/hadoop.master.tar.gz 是lave2:/home/hadoop


(3)分别在slave1,slave2上解压,并赋予文件夹权限

#sudo tar -zxf  /home/hadoop/hadoop.master.tar.gz  -C  /usr/local
#sudo chown -R hadoop:hadoop /usr/local/hadoop


五..在master上首次启动需要执行NameNode 的格式化:

#hdfs namenode -format


六.启动 hadoop 了,启动需要在 master 节点上进行:
1.    start-dfs.sh
2.    start-yarn.sh
3.    mr-jobhistory-daemon.sh start historyserver
jps 可以查看各个节点所启动的进程。master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer
4.在slave1,slave2 节点用jps可以看到 DataNode 和 NodeManager 进程

5.dfsadmin可以查看DataNode的状态
也可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://master:50070/

七.执行分布式实例

#hdfs dfs -mkdir -p /user/hadoop
将 /usr/local/hadoop/etc/hadoop 中的配置文件作为输入文件复制到分布式文件系统中:
#hdfs dfs -mkdir input
#hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
http://master:50070/的data状态中[block pool used]的大小会发生改变。


接着运行 MapReduce 作业了:
#hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

同样通过 Web 界面查看任务进度 http://master:8088/cluster,在 Web 界面点击 “Tracking UI” 这一列的 History 连接,可以看到任务的运行信息

注意:如果在window的firefox上Tracking UI的history无法查看的话,需要修改system32/drivers/etc/hosts的内容。把192.168.13.130 master给添加上去。

八.关闭 Hadoop 集群,在 Master 上执行的:
#stop-yarn.sh
#stop-dfs.sh
#mr-jobhistory-daemon.sh stop historyserver


完!







  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值