Hadoop安装(伪分布式)

三台虚拟机互信

  1. 创建3台虚拟机,例如IP地址分别为192.168.236.8,192.168.236.9,192.168.236.10
  2. 分别更改各自的hostname,拿192.168.236.100为例,
    输入hostname,查看自己的hostname,一般是自己的外网地址;输入hostnamectl set-hostname hadoop100,将hostname改成hadoop100

在这里插入图片描述
3. 将其它虚拟机和自己的hostname添加到hosts文件里(每台虚拟机都要做);输入vi /etc/hosts,在下面增加本机和需要连接的虚拟机的ip和hostname:比如
192.168.236.100 hadoop100
192.168.236.101 hadoop101
让后可以把秘钥传输给其它虚拟机,这样就不用改其它虚拟机上的文件了(scp /etc/hosts root@hadoop101:/etc/)
在这里插入图片描述

在这里插入图片描述
4. (每台虚拟机都要做)生成秘钥:ssh-keygen -t rsa -P “”,直接回车,再回车
在这里插入图片描述
5.(每台虚拟机都要做)自己保存秘钥:cat .ssh/id_rsa.pub > .ssh/authorized_keys
在这里插入图片描述
6.(每台虚拟机都要做)把秘钥传递给其它机器:
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@hadoop101
在这里插入图片描述
7.尝试连接其它虚拟机:ssh root@hadoop101,不需要密码就可以直接登录
在这里插入图片描述

安装jdk

wget安装:
4.1 下载wget
yum install wget -y
4.2 下载jdk
wget --no-check-certificate --no-cookies --header “Cookie: oraclelicense=accept-securebackup-cookie” http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
4.3 安装jdk
rpm -ivh jdk-8u131-linux-x64.rpm
yum安装或者rpm安装,不需要配环境变量

安装hadoop(jdk安装位置、hadoop安装位置,hostname,这三个都需要自己更改)

1.下载hadoop-2.6.0-cdh5.14.2.tar.gz包,下载hadoop-native-64-2.6.0.tar两个包
2.选择一台虚拟机,比如192.168.236.8,在opt下建立software文件夹,将以上两个包拖到该文件夹下
3.安装该文件:tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
4.名字太长,将其改名为hadoop:mv hadoop-2.6.0-cdh5.14.2 hadoop
5.可以删除掉压缩包:rm -f hadoop-2.6.0-cdh5.14.2.tar.gz
6.进入hadoop:cd hadoop查看目录结构
在这里插入图片描述
7.bin:执行文件;bin-mapreducel:是mapreduce的执行文件,系统自动操作;cloudera:发行公司的信息,hadoop是cdh版;etc放配置文件;examples和examples-mapreducel里面放的是一些示例;include是一些拓展的东西;lib是一些jar包依赖包;sbin也是一些启动文件;share是一些共享的东西,搭集群时会用到;src是源码;
8.进入该etc下的hadoop文件,修改配置:cd etc/hadoop(注意etc前面不要加/)里面的内容如下图所示:
在这里插入图片描述

9.修改启动环境,是hadoop启动和java相关联。进入hadoop-env.sh内部:vi hadoop-env.sh,内容如下:
在这里插入图片描述
将export JAVA_HOME=${HAVA_HOME}注释掉,在下面重新加入本机JAVA_HOME地址:export JAVA_HOME=/opt/software/jdk1.8.0_221
各自电脑不同,可以打开新窗口后,输入echo $JAVA_HOME查看位置
在这里插入图片描述
按ESC退出插入模式,按:wq保存退出
10.修改核心配置(伪分布式)。进入core-site.xml,vi core-site.xml,内容如下所示:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop9:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/software/hadoop/tmp</value>
</property>
<property>
  <name>hadoop.proxyuser.root.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.root.groups</name>
  <value>*</value>
</property>

在这里插入图片描述
在这里插入图片描述

一共添加了4向内容,后面两项是为搭建集群配置的,*代表任意人/任意用户都可以访问
11.进入hdfs-site.xml,数据备份数目:vi hdfs-site.xml,如下所示:(注意hadoop是装在opt下还是root下)

在这里插入图片描述
数据备份数目:如果是本地模式,vlaue里不填;如果是伪分布式,vlalue填1;有几个节点就填几。

dfs.replication
1

在这里插入图片描述
12.看看各个虚拟机之间是否可以免密登录ssh hadoop9,能进入的话,exit退回
在这里插入图片描述
13.配置yarn,yarn是用来管理mapreduce的。首先进入mapred-site.xml.template:vi mapred-site.xml.template

mapreduce.framework.name
yarn

在这里插入图片描述
修改后:
在这里插入图片描述
给它改名字:mv mapred-site.xml.template mapred-site.xml
14.配置node的用法是mapreduce_shuffle,指定yarn的Resourcemanager地址(不配的话是本地模式,配置的话是伪分布式)进入yarn-site.xml:vi yarn-site.xml
在这里插入图片描述
修改后:

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop8</value>
</property>

在这里插入图片描述
15.linux下配置环境变量(注意etc前面有/,不是在hadoop里了) vi /etc/profile
在这里插入图片描述
在倒数第二行和倒数第一行中间添加:
export HADOOP_HOME=/opt/software/hadoop(自己hadoop的安装目录,以下是不必须的配置)
export HADOOP_MAPRED_HOME= H A D O O P H O M E e x p o r t H A D O O P C O M M O N H O M E = HADOOP_HOME export HADOOP_COMMON_HOME= HADOOPHOMEexportHADOOPCOMMONHOME=HADOOP_HOME
export HADOOP_HDFS_HOME= H A D O O P H O M E e x p o r t Y A R N H O M E = HADOOP_HOME export YARN_HOME= HADOOPHOMEexportYARNHOME=HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR= H A D O O P H O M E / l i b / n a t i v e e x p o r t H A D O O P O P T S = " − D j a v a . l i b r a r y . p a t h = HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path= HADOOPHOME/lib/nativeexportHADOOPOPTS="Djava.library.path=HADOOP_HOME/lib"
改写最后一行:
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JAVA_HOME/jre/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH
16.source /etc/profile(不报错就行)
需要删除logs和tmp文件夹,才能格式化
17.格式化:hdfs namenode -format(有错的话,返回修改)
在这里插入图片描述

含有successful formatted和Exiting with status 0的算成功
补充:history配置文件的更改:位置:vi mapred-site.xml增加

mapreduce.jobhistory.address
hadoop9:10020


mapreduce.jobhistory.webapp.address
hadoop9:19888

单独打开历史服务器:
sbin/mr-jobhistory-daemon.sh start historyserver

18.回到外层hadoop路径cd …/…,用pwd查看是否在/root/soft/hadoop里,ll可以看到tmp文件夹

在这里插入图片描述
19.start-然后srart-all.sh(相当于start-dfs.sh和start-yarn.sh),回答yes
在这里插入图片描述
再输入jps
在这里插入图片描述
一共6个,缺少的话,缺哪个去看日志的报错:
tail -200f logs/hadoop-root-namenode-hadoop8.log
在这里插入图片描述
20.关闭所有,stop-all.sh
在这里插入图片描述
start-all.sh开启,然后输入jps查看,然后输入hdfs dfs -mkdir /test(在dfs里创建文件夹)登录网址:192.168.236.8:50070,可以看到test文件夹,在虚拟机上输入hdfs dfs -put README.txt /test(将README.txt放入test文件夹里),在输入hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /test/README.txt /output(对README.txt文件进行计数)输入网址192.168.236.8:8088查看;在linux上输入hdfs dfs -cat /output/part-r-00000,把单词统计出来了

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值