Hadoop-01-01 伪分布式环境搭建

来源:互联网 发布:网络打字员工作 编辑:程序博客网 时间:2024/06/06 03:30

1.准备Linux环境

1.0点击VMware快捷方式,右键打开文件所在位置 ->双击vmnetcfg.exe-> VMnet1 host-only ->修改subnetip设置网段:192.168.239.0 子网掩码:255.255.255.0-> apply -> ok

回到windows --> 打开网络和共享中心 -> 更改适配器设置-> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.239.110 子网掩码:255.255.255.0-> 点击确定                                                                                                           ip设置的时候必须以192.168.239 开头

在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only ->ok        

 

1.1修改主机名

vim /etc/sysconfig/network

 

NETWORKING=yes

HOSTNAME=itcast    ###

 

使生效

hostname 主机名

 

1.2修改IP

两种方式:

第一种:通过Linux图形界面进行修改(强烈推荐)

进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.119 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply

 

第二种:修改配置文件方式(屌丝程序猿专用)

vim/etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE="eth0"

BOOTPROTO="static"           ###

HWADDR="00:0C:29:3C:BF:E7"

IPV6INIT="yes"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"

IPADDR="192.168.1.44"       ###

NETMASK="255.255.255.0"      ###

GATEWAY="192.168.1.1"        ###

 

1.3修改主机名和IP的映射关系

vim /etc/hosts  在最后一行加入

192.168.239.100        itcast

 

1.4关闭防火墙

#查看防火墙状态

serviceiptables status

#关闭防火墙

serviceiptables stop

#查看防火墙开机启动状态

chkconfigiptables --list

#关闭防火墙开机启动

chkconfigiptables off

 

1.5重启Linux

reboot

 

2.安装JDK

2.1上传

 

2.2解压jdk

#创建文件夹

mkdir/usr/java

#解压

tar -zxvf jdk-7u55-linux-i586.tar.gz -C /opt/modules/

 

2.3将java添加到环境变量中

vim/etc/profile

#在文件最后添加

exportJAVA_HOME=/opt/modules/jdk1.7.0_67

exportPATH=$PATH:$JAVA_HOME/bin

 

#刷新配置

source/etc/profile

3.安装Hadoop

3.1上传hadoop安装包

 

3.2解压hadoop安装包

mkdir/cloud

#解压到/cloud/目录下

tar-zxvf hadoop-2.2.0.tar.gz -C /cloud/

 

hadoop目录下 /doc可以删除 里面是hadoop的配置文档   没有用

 

3.3修改配置文件(5个)

        cd  /cloud/hadoop-2.5.0/etc/hadoop

 

第一个:hadoop-env.sh

#修改

exportJAVA_HOME=/opt/modules/jdk1.7.0_67

第二个:core-site.xml

<configuration>

<!-- 指定HDFS老大(namenode)的通信地址  9000是端口  可以随便设置-->

<property>

<name>fs.defaultFS</name>

<value>hdfs://itcast:9000</value>   

</property>

<!-- 指定hadoop运行时产生文件的存储路径 -->

<property>

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

<value>/cloud/hadoop-2.5.0/tmp</value>

</property>

</configuration>

 

第三个:hdfs-site.xml

<configuration>

<!-- 设置hdfs副本数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

 

第四个:mapred-site.xml.template 需要重命名: mvmapred-site.xml.template mapred-site.xml

<configuration>

<!-- 通知框架MR使用YARN -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

第五个:yarn-site.xml

<configuration>

<!-- reducer取数据的方式是mapreduce_shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的管理者resourcemanager在哪里 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>itcast</value>

</property>

 

</configuration>

 

3.4将hadoop添加到环境变量

vim/etc/profile

 

exportJAVA_HOME=/usr/java/jdk1.7.0_55

exportHADOOP_HOME=/cloud/hadoop-2.2.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

:$HADOOP_HOME/bin  启动hadoop用的一些指令

 

source/etc/profile

3.5格式化HDFS(namenode)第一次使用时要格式化

hdfsnamenode -format

 

3.5.0   slaves (指定伪分布的机器名字,也可以不配置)

      

         vi slaves

   将localhost  修改为

          itcast

 

3.6启动(关闭)hadoop

 

NameNode

./hadoop-daemon.shstart namenode

./hadoop-daemon.shstop namenode

 

DataNode

./hadoop-daemon.shstart datanode

./hadoop-daemon.shstop datanode

 

SecondaryNameNode

./hadoop-daemon.shstart secondarynamenode

./hadoop-daemon.shstop secondarynamenode

 

ResourceManager

./yarn-daemon.shstart resourcemanager

aemon.sh stop resourcemanager

 

NodeManager

./yarn-daemon.shstart nodemanager

./yarn-daemon.shstop nodemanager

 

HistoryServer

./mr-jobhistory-daemon.shstart historyserver

./mr-jobhistory-daemon.shstop historyserver

 

          start-dfs.sh会启动  NameNode   DataNode    SecondaryNameNode

 

启动关闭historyserver

 ./mr-jobhistory-daemon.shstart historyserver

./mr-jobhistory-daemon.sh stop historyserver

 

             

3.7验证是否启动成功

方式一:访问

  http://192.168.239.100:50070  (HDFS管理界面)

 

  在这个文件中添加linux主机名和IP的映射关系

  C:\Windows\System32\drivers\etc\hosts

  192.168.239.100        itcast

  http://192.168.239.100:8088 (MR管理界面)

 

账户和密码:

         hostname:50070

hostname:8088

 

方式二:

         使用jps命令验证

         jps命令后出现以下显示

 

27408NameNode

28218Jps

27643SecondaryNameNode

28066NodeManager

27803ResourceManager

27512DataNode

          

  /hadoop-2.5.0/tmp/dfs  目录里存放了NameNode  SecondaryNameNode  DataNode 运行时存放的log文件

 

4 hdfs&mapreduce测试

         1.hdfs    用来上传和下载文件

          Hadoop fs -put 文件名  hdfs://itcast:9000/

          Hadoop fs -put 文件名  /

          Hadoop fs -get   hdfs://itcast:9000/文件名

 

        当出现  namenode  is safe   错误 时

       hdfs dfsadmin -safemode leave

 

       或者

        先把/hadoop-2.5.0/tmp/的文件全部删除 再  格式化

        hdfs namenode -format  再开启 namenode

 

         2.mapreduce  /cloud/hadoop-2.5.0/share/hadoop/mapreduce     hadoop-mapreduce-examples-2.5.0.jar

          hadoop jarhadoop-mapreduce-examples-2.5.0.jar pi 5 5          计算圆周率

          hadoop jarhadoop-mapreduce-examples-2.5.0.jar   wordcount /wordcount/input   /wordcount/output/count.tex     计数

 

 

 

4.1 配置hadoop lib

WARNutil.NativeCodeLoader: Unable to load native-hadoop library for yourplatform... using builtin-java classes where applicable

把  native-2.5.0.tar.gz 解压到    /cloud/hadoop-2.5.0/lib

 

4.2配置historyserver

mapred-site.xml

<property>

<name>mapreduce.jobhistory.address</name>

<!--配置实际的主机名和端口-->

<value>itcast:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>itcast:19888</value>

</property>

启动关闭historyserver

 ./mr-jobhistory-daemon.shstart historyserver

./mr-jobhistory-daemon.sh stop historyserver

 

5.hdfs shell

hdfsdfs查看所有选项

查看文件内容

hdfsdfs -cat

hdfsdfs -text

 

查看文件或文件夹的详细信息

hdfsdfs -ls -R        

 

创建文件夹

hdfsdfs -mkdir -p

 

删除文件夹

hdfsdfs -rm -r

 

上传文件

hdfs dfs -put 本地文件 hdfs文件目录

 

下载文件

hdfs dfs -get hdfs文件 本地目录

 

6.配置ssh免登陆

       两个主机 itcast(用户kequan)和itcast2(用户kequan2)为例

       1. 把各自的 ip 对应 主机名copy到对方的 /etc/hosts文件

2.进入到我的home目录

cd~

cd.ssh/

 

3.生成ssh免登陆密钥

ssh-keygen -t rsa (四个回车)

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

 

        4.将公钥拷贝到要免登陆的机器上

       scp id_rsa.pub itcast2:/home/kequan2

 

     5.在  Itcast2    加到授权列表   (必须装上hadoop才会有 ~.ssh 目录)

 

         cd ~

         cd .ssh/

         touch authorized_keys

         chmod 600 authorized_keys

         cat ../id_rsa.pub >>./authorized_keys

 

     authorized_keys 的        权限必须改为 600 chmod 600 authorized_keys

 

        4.5综合命令

ssh-copy-iditcast2

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

 

        6.验证登陆

         ssh itcast2

 

     7.本机的免密登陆

       cd ~

        cd .ssh/

         touch authorized_keys

         chmod 600 authorized_keys

         cat id_rsa.pub >> authorized_keys

         ssh itcast

 

 

 

 

 

 

 

 

 

 

 

0 0