Linux+虚拟机的JDK+Hadoop安装配置、单机模式配置、伪分布式配置、完全分布式配置

一、条件及部分Linux指令

1、部分Linux指令

cd文件名(A):表示进入A文件夹

mkdir文件名(A):表示创建A文件夹

rf –rm文件名(A):表示删除A文件夹

cd / :返回根目录

2、条件 1)、以下操作在SecureCRT里面完成

              2)、关闭防火墙 firewall-cmd--state 显示防火墙状态running/not running systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙 systemctl disable firewalld 禁止防火墙服务。

二、过程

1、传输JDK和HADOOP压缩包(根目录opt操作上传文件到虚拟机的Linux) SecureCRT 【File】→【Connect SFTP Session】开启sftp操作 put 路径/jdk-8u121-linux-x64.tar.gz put 路径/hadoop-2.7.3.tar.gz

2、解压JDK、HADOOP(先创建module文件夹即mkdir module) tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/module 解压安装 tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module 解压安装

3、.配置JDK并生效 vi /etc/profile文件添加: exportJAVA_HOME=/opt/module/jdk1.8.0_121 exportPATH=$JAVA_HOME/bin:$PATH Esc :wq!保存并退出。不需要配置CLASSPATH。 source/etc/profile配置生效运行命令javac,检验是否成功。

4、.配置HADOOP并生效(创建profile文件夹即mkdir profile) vi /etc/profile文件添加: exportHADOOP_HOME=/opt/module/hadoop-2.7.3exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH Esc :wq!保存并退出。 source/etc/profile配置生效 运行命令hadoop,检验是否成功。

5、单机模式配置hadoop -env.sh vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件修改 显示行号 Esc :set number 取消行号Esc :set nonumber 修改第25行export JAVA_HOME=/opt/module/jdk1.8.0_121 Esc :wq!保存并退出 本地模式没有HDFS和Yarn,配置JDK后MapReduce能够运行java程序。

6、运行自带程序wordcount cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce 转入wordcount所在路径。

创建adir文件夹: hadoop fs -mkdir/adir

查看所创建的文件: hadoop fs -ls / 运行touch in.txt,创建In.txt文件,作为输入文件。 (如果in.txt是空文件,运行vi in.txt,输入内容作为被统计词频的输入文件)传输in.txt文件到adir hadoop fs -put in.txt/adir 查看in.txt是否传到adir里: hadoop fs -ls/adir 输出目录/output必须不存在,程序运行后自动创建。

运行wordcount: hadoop jar hadoop-mapreduce-examples-2.7.3.jar

wordcount /adir/in.txt output/ 运行成功之后,进入/output目录,打开文件part-r-00000 _SUCCESS查看计数结果。

cd output cat part-r-00000 _SUCCESS

7、Hadoop伪分布式模式配置 只有一台虚拟机bigdata128,既是namenode又是datanode。

1)、基础安装配置 完成上述1-5安装配置。

2)、修改以下5个配置文件(根目录下面) 在<configuration>与</configuration>之间添加如下property:

①core-site.xml

<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->

<property>

<name>fs.defaultFS</name>

<value>hdfs://bigdata128:9000</value>

</property>

<!--配置HDFS数据块和元数据保存的目录,一定要修改-->

<property>

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

<value>/opt/module/hadoop-2.7.3/tmp</value>

</property>

②hdfs-site.xml <!--注释配置数据块的冗余度,默认是3--> <property> <name>dfs.replication</name> <value>1</value> </property>

<!--secondaryNameNode的主机地址-->

<property>

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

<value>bigdata128:50090</value>

</property>

③mapred-site.xml(该配置文件不存在,先复制)

cp mapred-site.xml.template

mapred-site.xml

<!--配置MR程序运行的框架-->

<property>

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

<value>yarn</value>

</property>

④yarn-site.xml

<!--配置Yarn的节点-->

<property>

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

<value>bigdata128</value>

</property> <!--NodeManager执行MR任务的方式是Shuffle洗牌-->

<property>

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

<value>mapreduce_shuffle</value>

</property>

⑤Slaves文件里使用默认localhost,或者添加 bigdata128(既是NameNode又是DataNode) 注:如果Slaves文件为空,就没有DataNode和NodeManager。

⑥修改\etc\hosts配置文件(根目录下修改) 运行命令 vi \etc hosts 注释掉已有内容,添加虚拟机的ip及对应主机名: 192.168.163.128 bigdata128

⑦修改\etc\hostname配置文件 运行命令 vi \etc hostname 添加虚拟机的主机名: bigdata128 重启虚拟机,主机名生效。

3)、格式化 hdfs namenode-format (如果不是第一次格式化,格式化之前先删除/opt/module/hadoop-2.7.3/下面的tmp、logs两个目录)

4)、启动 start-all.sh (如果启动之前已经启动过,启动之前先停止stop-all.sh)(启动记得关闭防火墙) 查看伪分布式配置是否成功:

①执行ll,查看/opt/module/hadoop-2.7.3/tmp/dfs目录。

  ②执行jps,有NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager如果全部启动,伪分布式配置成功。 ③web控制台访问:http://192.168.43.87:50070、http://192.168.43.87:8088 页面正常显示,则成功。

5)、运行wordcount hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件到hdfs的/adir目录下。

运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar

wordcount /adir/in.txt output/。

在http://192.168.43.87:50070 查看/user/root/output/part-r-00000文件里的词频统计结果。

6)、SSH免密码登陆(解决每次启动hadoop输入用户密码问题)

生成公、私密钥对:ssh-keygen -t rsa 按3次回车键

查看:cd ~/.ssh路径下面的id_rsa和id_rsa.pub

复制:ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata128

查看生成authorized_keys。

8、Hadoop完全分布式模式配置

1)、新建另外两台Linux虚拟机 完全分布式模式共三台虚拟机,前述伪分布式的虚拟机(bigdata128)作为master主节点,克隆另外两个虚拟机(bigdata129 bigdata130)作为slaves子节点,克隆机自带安装JDK、Hadoop及配置文件。 注:此配置是为学习所用,且电脑资源有限,因此照搬伪分布式配置,将NameNode、SecondaryNameNode、ResourceManager全部配置在主节点bigdata128上面,实际情况则相反,应该分别配置在不同的节点上面。

2)、修改以下配置文件(cd /~~~~根目录下)

①slaves配置文件 三台虚拟机分别都运行命令 vi /opt/module/hadoop-2.7.3/etc/hadoop slaves

修改slaves为: bigdata129 bigdata130

②修改\etc\hosts配置文件 三台虚拟机分别都运行命令 vi \etc hosts 注释已有内容,添加集群三台虚拟机的ip及对应主机名: 192.168.43.87 bigdata128

192.168.43.39 bigdata129

192.168.43.230 bigdata130

③修改\etc\hostname配置文件(根目录下~~~cd /)

三台虚拟机分别都运行命令 vi \etc hostname 添加各自的主机名bigdata128或者bigdata129或者bigdata130。 重启全部虚拟机,主机名生效。

3)、格式化 在主节点bigdata128上面输入格式化命令(hdfs namenode -format),格式化集群。

注:如果不是第一次格式化,三台虚拟机都删除\opt\module\hadoop-2.7.3\下面的tmp、logs

目录:rf –rm\opt\module\hadoop-2.7.3\tmp rm –rf \opt\module\hadoop-2.7.3\logs

注:如果格式化之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再格式化。

4)、启动集群 在主节点bigdata128上面输入启动命令(start-all.sh),启动集群。

注:如果启动之前启动过集群,先在主节点bigdata128上面停止集群(stop-all.sh),再启动。

启动正常,输入jps命令:

web控制台访问:http://192.168.43.87:50070 、http://192.168.43.87:8088 页面正常显示,则成功。

5)、运行wordcount hdfs dfs -put in.txt /adir 上传本地当前路径下的in.txt文件到hdfs的/adir目录下。

运行hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /adir/in.txt output/。

在http://192.168.43.87:50070 查看/user/root/output/part-r-00000文件里的词频统计结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值