您的位置:首页 > 运维架构

Hadoop 1、在虚拟机上进行 HDFS 安装

2016-12-01 00:00 267 查看




一、准备条件

1.四台Linux虚拟机(1台NameNode节点,1台Secondary节点(Secondary和其中1台DataNode共用),外加2台DataNode)

2.下载Hadoop版本,本例使用Hadoop-2.5.2版本

二、安装Java JDK

最好安装,JDK 1.7 因为JDK 1.7的兼容性最好

#安装JDK rpm -ivh jdk-7u79-linux-x64.rpm #配置环境变量 vi /root/.bash_profile JAVA_HOME=/usr/java/jdk1.7.0_79 PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/local/hadoop-2.5.1 PATH=$PATH:$HADOOP_HOME/bin
#HADOOP_HOME  是后面要用到的,为了方便提前写进来


配置完成以后,通过 java -version可以查看是否安装成功

三、配置hosts文件

vi /etc/hosts #在该文件中建入
192.168.171.15 node5 192.168.171.16 node6 192.168.171.17 node7 192.168.171.18 node8


四、安装SSH 设置免密码登录

#创建密钥(一定要在NameNode节点上):
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa #将密钥添加到公钥:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


然后将公钥添加到其他节点的authorized_keys上:

$ scp ~/.ssh/id_dsa.pub root@node6:/opt $ scp ~/.ssh/id_dsa.pub root@node7:/opt $ scp ~/.ssh/id_dsa.pub root@node8:/opt #然后分别登录这三台虚拟机,将公钥覆盖到公钥中
$ cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys


如果在进行上述操作的时候报:

-bash: /root/.ssh/authorized_keys: No such file or directory的错误,则需要先在该节点上创建一下本地公钥,然后再把主节点上的公钥添加到该节点上,具体操作看上方NameNode操作;

配置完成以后使用nameNode 分别:ssh node6 ; ssh node7 ssh node8 ;如果在登录的时候没有显示要输入密码则说明成功了;(在ssh 登录一个节点以后,需要先退出然后才能再登录,使用exit退出);

五、安装Hadoop

1.解压hadoop-2.5.1 并移动到/usr/local/hadoop-2.5.1

$ tar -zxvf hadoop-2.5.1.tar.gz $ mv hadoop-2.5.1 /usr/local


2.配置Hadoop配置文件

$ cd /usr/local/hadoop-2.5.1/etc/hadoop/
$ vim hadoop-env.sh #写入
export JAVA_HOME=/usr/java/latest $ vim etc/hadoop/core-site.xml #写入,配置NameNode的读写入口点和目录
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node5:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop</value> </property> </configuration>

$ vim etc/hadoop/hdfs-site.xml #写入,配置Secondry
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>node6:50090</value> </property> <property> <name>dfs.namenode.secondary.https-address</name> <value>node6:50091</value> </property> </configuration>


配置DataNode节点:

$ vim etc/hadoop/slaves #写入 配置dataNode
node6 node7 node8 $ vim etc/hadoop/masters #写入,配置HDFS的secondry节点
node6


配置完成后将所有的配置文件在其他节点上覆盖一下:

scp -r hadoop/ root@node8:/usr/local/hadoop-2.5.1/etc/hadoop/ scp -r hadoop/ root@node6:/usr/local/hadoop-2.5.1/etc/hadoop/ scp -r hadoop/ root@node7:/usr/local/hadoop-2.5.1/etc/hadoop/


关闭防火墙,并同步时间:

$ service iptables stop $ ntpdate s2c.time.edu.cn


3.格式化并初始化

$ bin/hdfs namenode -format


4.启动并访问

$ sbin/start-dfs.sh #这是关闭命令
$ sbin/stop-dfs.sh


访问 nodeName:http://node5:50070/ http://node6:50070/ 如果能看到以下界面就说明成功了:



七、在HDFS上 创建上传文件

$ hdfs dfsadmin #查看帮助
$ hdfs dfs -mkdir /test   #创建HDFS的根目录
$ hdfs dfs -ls /  #查看hdfs的目录
$ hdfs dfs -put /root/**  /test/  #上传文件到hdfs
$ hdfs dfs chmod  -777 /test  #放开hdfs的权限
$ hdfs dfs -help ls #查看命令帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐