大数据平台开发大作业20172834谢宏明

编程入门 行业动态 更新时间:2024-10-06 08:27:58

大数据平台开发大<a href=https://www.elefans.com/category/jswz/34/1771149.html style=作业20172834谢宏明"/>

大数据平台开发大作业20172834谢宏明

Hadoop安装过程:

(1)在VMware中安装了CentOS,修改网络连接为仅主机模式:与主机共享的专用网络。

(2)启动Linux系统,进行Linux系统中的IP地址、网关、子网掩码。

(3)修改主机名,将主机名和IP地址进行绑定

(4)关闭防火墙

(5)配置SSH免密码登陆

(6)安装jdk

详细:

Linux的安装命令:rmp;yum;tar

(1)用rpm装jdk:

  -rpm -i jdk-7u67-linux-x64.rpm

  -whereis java

  -vi + /etc/profile

  export JAVA_HOME=/usr/bin/java

  export PATH=$PATH:$JAVA_HOME/bin

  -source /etc/profile

 

(2)免秘钥

  -ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

  -cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

之后进行验证

-ssh localhost  

 -ssh node01 

 

(3)装hadoop2.6.5

  -tar xf hadoop-2.6.5.tar.gz -C /opt/ldy 

 对配置文件进行一些修改:

  export JAVA_HOME=/usr/bin/java

  export HADOOP_HOME=/opt/ldy/hadoop-2.6.5

  export PATH=$PATH:/usr/java/jdk1.7.0_67/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

修改完成后输入hd按Tab键可以联想出hdfs,输入start-d按Tab键可以联想出start-dfs.

 

修改hadoop配置文件信息

  cd /opt/ldy/hadoop-2.6.5/etc/hadoop

  vi hadoop-env.sh

  vi mapred-env.sh

  vi yarn-env.sh 

  给这三个文件里的JAVA_HOME都改成绝对路径/usr/java/jdk1.7.0_67 

 

配置 vi core-site.xml    

    <property>

    <name>fs.defaultFS</name>

     <value>hdfs://node03:9000</value>

     </property>

     <property>

     <name>hadoop.tmp.dir</name>

     <value>/var/ldy/hadoop/pseudo</value>

     </property> 

配置 vi hdfs-site.xml

   <property>

   <name>dfs.replication</name>

   <value>1</value>

   </property>

    <property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>node03:50090</value>

    </property>

配置slaves文件

       vi slaves

       node03

(4)格式化hdfs

  hdfs namenode -format 

(5)启动集群

  start-dfs.sh

(6)创建目录:hdfs dfs  -mkdir -p  /user/root

(7)上传文件: hdfs dfs -put  a.txt   /user/root

(8) 停止集群:stop-dfs.sh

Hadoop HA高可用安装

分发jdk到node04 05 06

-scp jdk-7u67-linux-x64.rpm node04:`pwd`

-scp jdk-7u67-linux-x64.rpm node05:`pwd`

-scp jdk-7u67-linux-x64.rpm node06:`pwd`

分别在node04、05、06上执行rpm安装命令

  -rpm -i jdk-7u67-linux-x64.rpm

在node03上cd /etc,在此目录下把profile文件分发到node04、05、06上。

  scp profile node04:`pwd`

同步所有服务器时间

1.yum进行时间同步器的安装

  -yum -y install ntp

  2.执行同步命令

  -ntpdate time1.aliyun

检查配置文件

1.-cat /etc/sysconfig/network

  查看HOSTNAME是否正确

2.-cat /etc/hosts

  查看IP映射是否正确

3. -cat /etc/sysconfig/selinux里是否

  SELINUX=disabled

4. service iptables status查看防火墙是否关闭

免密钥设置

1.  在家目录下 ll –a看下有无.ssh文件,如果没有就ssh loalhost一下

2. -cd .ssh ,并ll查看一下

3. 把node03的公钥发给其他三台机子

在node02上分别ssh node03,ssh node04,ssh node05

4. 在node04的.ssh目录下看是否有node03.pub

  如果有,那就追加到authorized_keys

  cat node03.pub >> authorized_keys

并且在node03上ssh node04看是否免密钥了,

给node05、06都追加一下node03.pub,也就是在node05、06的.ssh目录下执行cat node03.pub >> authorized_keys

1.node03与node04间互相免密钥: node03可免密钥登录node04,那现需node04上能免密钥登node03,所以 在node04上:

  ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

  cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  ssh localhost验证一下

  分发到node03上:scp  id_dsa.pub   node03:`pwd`/node04.pub

  在node03的.ssh目录下,cat node04.pub >> authorized_keys,

  在node04上ssh node03验证一下可否免密钥登录

  vi hdfs-site.xml

  去掉snn的配置

  <property> 

  <name>dfs.namenode.secondary.http-address</name>

  <value>node03:50090</value>

  </property>

 

1.vi hdfs-site.xml 增加以下property

  <!-- 为namenode集群定义一个services name --> 

  <property>  

  <name>dfs.nameservices</name>   

  <value>mycluster</value> 

  </property> 

1.vi hdfs-site.xml

   

  <!--指定HDFS副本的数量,不能超过机器节点数--> 

  <property> 

  <name>dfs.replication</name> 

  <value>3</value> 

  </property> 

  <!-- nameservice 包含哪些namenode,为各个namenode起名 --> 

  <property>   

  <name>dfs.ha.namenodes. mycluster</name>    <value>nn1,nn2</value> 

  </property>  

 

1.vi hdfs-site.xml

  <!-- 名为nn1的namenode的rpc地址和端口号,rpc用来和datanode通讯 --> 

  <property>   

  <name>dfs.namenode.rpc-address. mycluster.nn1</name>    <value>node03:9000</value> 

  </property>  

  <!--名为nn1的namenode的http地址和端口号,用来和web客户端通讯 --> 

  <property>   

  <name>dfs.namenode.http-address. mycluster.nn1</name>    <value>node03:50070</value> 

  </property>  

1.vi hdfs-site.xml

  <!-- 名为nn2的namenode的rpc地址和端口号,rpc用来和datanode通讯 --> 

  <property>   

  <name>dfs.namenode.rpc-address. mycluster.nn2</name>    <value>node04:9000</value> 

  </property>  

  <!--名为nn2的namenode的http地址和端口号,用来和web客户端通讯 --> 

  <property>   

  <name>dfs.namenode.http-address. mycluster.nn2</name>    <value>node04:50070</value> 

  </property>  

1.vi hdfs-site.xml

  <!-- namenode间用于共享编辑日志的journal节点列表 --> 

  <property>   

  <name>dfs.namenode.shared.edits.dir</name>    <value>qjournal://node03:8485;node04:8485;node05:8485/mycluster</value>

  </property>   

  <!-- journalnode 上用于存放edits日志的目录 --> 

  <property>   

  <name>dfs.journalnode.edits.dir</name>    <value>/var/ldy/hadoop/ha/jn</value> 

  </property>   

1.vi hdfs-site.xml

  <!-- 指定该集群出现故障时,是否自动切换到另一台namenode --> 

  <property>   

  <name>dfs.ha.automatic-failover.enabled.cluster</name>    <value>true</value> 

  </property> 

  <!-- 配置失败自动切换实现方式 --> 

  <property>     

  <name>dfs.client.failover.proxy.provider.cluster</name>   <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

  </property>   

1.vi hdfs-site.xml

  <!-- 一旦需要NameNode切换,使用ssh方式进行操作 --> 

  <property>   

  <name>dfs.ha.fencing.methods</name>    <value>sshfence</value> 

  </property>   

  <!-- 如果使用ssh进行故障切换,使用ssh通信时用的密钥存储的位置 --> 

  <property>   

  <name>dfs.ha.fencing.ssh.private-key-files</name>    <value>/root/.ssh/id_rsa</value> 

  </property> 

  

2.vi core-site.xml

<!– 集群名称mycluster-->

<property>

  <name>fs.defaultFS</name>

  <value>hdfs://mycluster</value>

  </property>

  <!– zookeeper布署的位置-->

  <property>

   <name>ha.zookeeper.quorum</name>

   <value>node07:2181,node08:2181,node09:2181</value>

   </property>

 

2.vi slaves

  node04

  node05

  node06

安装hadoop

  cd /opt ,将其下的ldy目录分发到node04、05、06

  scp –r  ldy/ node04:`pwd`

  scp –r  ldy/ node05:`pwd`

  scp –r  ldy/ node06:`pwd`

 

4.将hdfs-site.xml和core-site.xml分发到node04、05、06

  -scp hdfs-site.xml core-site.xml node04:`pwd`

  -scp hdfs-site.xml core-site.xml node05:`pwd`

  -scp hdfs-site.xml core-site.xml node06:`pwd`

安装zookeeper

1.解压安装zookeeper

  tar xf zookeeper-3.4.6.tar.gz -C /opt/ldy

2.修改zookeeper的配置文件

  cd /opt/ldy/zookeeper-3.4.6/conf

  给zoo_sample.cfg改名

  cp zoo_sample.cfg zoo.cfg

启动journalnode

对任一namenode格式化

然后,启动刚刚格式化的那台namenode

hadoop-daemon.sh start namenode

给另一namenode同步数据

格式化zkfc

hdfs zkfc -formatZK

在node04上执行zkCli.sh打开zookeeper客户端看hadoop-ha是否打开

启动hdfs集群

在node03上启动hdfs集群:

start-dfs.sh

在Windows下配置hadoop的环境:

此电脑”右键-属性-高级系统设置

更改环境变量,增加HADOOP_HOME

并且给path后追加HADOOP_HOME的bin目录,注意:Windows里path的路径分隔符是分号;,而不是冒号:

然后再新建一个变量HADOOP_USER_NAME

把hadoop.dll拷贝到以下路径

安装ecipse-mars,此版本的eclipse带插件,可以可视化的看到hadoop的一些东西,比较方便

如果eclipse界面下方没有小象图标,则做后续三步调出

在eclipse里把hadoop相关信息填一下

在eclipse里导入自己建一个包库

把jar包导入刚建的包库

把刚建的包库引入到project里

把JUnit包库引入到project里

利用xftp把hdfs-site.xml,core-site.xml等几个xml放到project的src目录。

完成Hadoop的安装

更多推荐

大数据平台开发大作业20172834谢宏明

本文发布于:2024-02-13 10:05:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758325.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:作业   数据   平台   谢宏明

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!