Ubuntu系统下纯净模式配置hadoop

本文详细介绍了如何在Ubuntu虚拟机中进行网络设置,包括设置静态IP、安装openssh-server以及使用Xshell和Xftp进行远程连接和文件传输。然后,文章讲述了如何配置Java环境,复制虚拟机并实现免密登录,以及配置本地解析。最后,重点在于Hadoop集群的搭建,包括安装Hadoop,修改配置文件,创建NameNode目录,以及将配置文件分发到其他节点,并启动Hadoop集群。
摘要由CSDN通过智能技术生成

虚拟机安装打开

需要的传输软件(Xshell、Xftp)

第一次进入Ubuntu界面,打开终端Open in Terminal

目录

1-虚拟机准备工作

1.1-使用ping命令查看是否可以上网

1.2-设置root用户

1.3-更新安装源

1.4-设置虚拟机静态IP

1.5-安装openssh-server(为了后续的操作方便,连接Xshell)

1.6-使用Xshell(也可以不安装,看个人习惯)

1.7-使用Xftp(可以做到物理主机和虚拟机相互传递文件)

2-将所需的软件源传送到虚拟机中,

2.1-将java压缩包通过Xftp传送到连接好的虚拟机中

 2.2-配置java环境变量,编辑/etc/profile文件

3-复制虚拟机并且配置免密登录

3.1-复制虚拟机

3.2 免密登录

3.3-配置本地解析 

4-配置hadoop

4.1-将hadoop压缩包通过Xftp传送到1号机器中

4.2-配置hadoop环境

 4.3-修改hadoop中的配置文件(文件都在/usr/local/hadoop-2.7.3/etc/hadoop下)

4.3.1-hadoop-env.sh

4.3.2core-site.xml文件

 4.3.3-修改hdfs-site.xml文件

4.3.4-修改mapred-site.xml文件(由mapred-site.xml.templete文件复制而来)

 4.3.5-修改yarn-site.xml文件

 4.3.6-修改slaves文件

4.3.7-创建NameNode目录

 4.3.8-将配置好的hadoop文件传送到2号和3号机器上

4.3.9-启动格式化命令

1-虚拟机准备工作

1.1-使用ping命令查看是否可以上网

ping baidu.com

 出现下面一系列自动输出的代码,就说明该虚拟机可以上网

1.2-设置root用户

Ubuntu系统默认是没有root用户的,需要自己设置

sudo passwd root    #创建root用户,接下来输入两次新密码,都是不可见状态,回车确定

 使用su命令确认可以进入root用户后,使用exit命令进行退出

1.3-更新安装源

sudo apt-get update    
ifconfig    #查看虚拟机ip
sudo apt-get install net-tools    #没有安装的话使用命令进行安装

1.4-设置虚拟机静态IP

 

最下面,从左往右数第四个图像样子,鼠标右键点击,然后点击“网络”,将“连接方式”设置为“桥接网卡”

更改完成后,输入ifconfig命令,查看桥接后的IP, 

 inet对应的就是你的虚拟机IP,记住前三位192.168.xx

netmask是你的子网掩码

broadcast是你的默认网关

 

 点击右上角的图标,点击“Wired Connected”属性,点击“Wired Seething”

 点击“Network”的“设置”图标

然后点击“IPV4” ,再点击“Manual”

 在“Address”属性中写下你之前查到的“inet”的前三个属性,第四个属性自己随便添加

在“Netmask”属性中写下你之前查到的“netmask”属性

在“Gateway”属性中写下你之前查到的“gateway”

输入完成后点击“Apply”应用

完成后,点击设置图标左边的界面,关闭之后再打开,然后回到终端页面,ping baidu.com查看是否可以上网,ifconfig查看此时的IP设置

1.5-安装openssh-server(为了后续的操作方便,连接Xshell)

sudo apt-get install openssh-server    #输入root密码进行安装,提示会让你输入y确定

 完成安装后查看服务是否开启

sudo service ssh status    #查看该服务状态

 显示active就是启动

1.6-使用Xshell(也可以不安装,看个人习惯)

打开安装好的Xshell

点击“新建”

 名称属性随便写

主机属性写入你刚才创建好的静态IP

 用户名属性输入你的虚拟机用户

密码属性输入你的虚拟机用户密码

一切完成后,点击确定,然后点击你创建好的名称

 点击“接受并保存”

 连接创建成功,可以在Xshell中远程访问虚拟机

1.7-使用Xftp(可以做到物理主机和虚拟机相互传递文件)

大致和Xshell是类似的

2-将所需的软件源传送到虚拟机中,

2.1-将java压缩包通过Xftp传送到连接好的虚拟机中

 在Xshell中使用mv命令将压缩包移动到/usr/local目录下

sudo mv 文件位置 目标目录位置
sudo mv jdk-8u181-linux-x64..gz /usr/local/
#进入/usr/local目录
cd /usr/local
#解压传送的java压缩包文件
sudo tar -zxvf jdk-8u181-linux-x64..gz

 解压完成后,就可以将压缩包删除(rm命令),节省一丢丢空间了

sudo rm -rf jdk-8u181-linux-x64..gz 

 2.2-配置java环境变量,编辑/etc/profile文件

sudo vi /etc/profile

使用vi命令发现无法编辑之后,这是vi版本过于老化,需要重新下载

先卸载之前版本的vi

sudo apt-get remove vim-common

安装新版本vi

sudo apt-get install vim

安装完之后,应该就可以编辑文件了,重新使用vi命令编辑/etc/profile文件,点击“i”,进入文本编辑模式,拉到文档最后,输入几行代码

#JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_181
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

编辑完之后,保存退出(wq),使用source命令重新加载环境变量

 没有报错,并且显示出java版本号,即配置成功

3-复制虚拟机并且配置免密登录

3.1-复制虚拟机

关闭先前的虚拟机,复制两台虚拟机

更改复制机的主机名称

sudo vi /etc/hostname    #主机名称改为不一样的,用户名是复制的,所以不影响

打开复制机,需要向之前1.4一样,为新虚拟机配置静态IP

###主要不要与之前的虚拟机IP一样

给新虚拟机链接Xshell

3.2 免密登录

前面安装过了openssh-server服务,没有安装的使用命令安装一下该服务

在1号机器上执行命令

ssh localhost    #在用户目录下生成一个包含主机公钥的文件know_hosts

 在1号机器继续执行命令

ssh-keygen -t rsa    #生成密钥文件,输入三次回车

 

 将公钥添加到登陆凭证authorized_keys中

cat id_rsa.pub >> authorized_keys

 在2号机器上执行命令

ssh localhost    #在用户目录下生成一个包含主机公钥的文件know_hosts
ssh-keygen -t rsa    #生成密钥文件,输入三次回车

 将1号机器上的登陆凭证authorized_keys文件通过scp 命令传送到2号机器上

scp authorized_keys文件位置 2号机器的用户名@2号机器的IP:~/.ssh

 出现该字段代表传送成功

在2号机器上执行命令,将2号机器的公钥添加到authorized_keys文件中

 在3号机器上执行命令

ssh localhost    #在用户目录下生成一个包含主机公钥的文件know_hosts
ssh-keygen -t rsa    #生成密钥文件,输入三次回车

  将2号机器上的登陆凭证authorized_keys文件通过scp 命令传送到3号机器上

scp authorized_keys文件位置 3号机器的用户名@3号机器的IP:~/.ssh

在3号机器上执行命令,将3号机器的公钥添加到authorized_keys文件中 

然后再使用scp命令将3号机器的登陆凭证authrized_keys文件传送到1号和2号机器的ssh目录下

配置完成后,使用ssh 想要登陆的IP,检验是否成功

ssh 想要登陆的IP

不报错,登陆成功则完成,如果出错,建议将ssh目录删除,重新进行免密配置

3.3-配置本地解析 

为了后面方便,进行配置本地解析,可以更方便的远程访问,只需要ssh 机器名,即可远程登陆

sudo vi /etc/hosts    #配置本地解析文件

 在该文件中配置映射,IP然后TAB键隔开,加上机器名

该文件在2号和3号机器都要配置,写完保存退出

测试

 即可以成功,输入exit退出远程用户

4-配置hadoop

4.1-将hadoop压缩包通过Xftp传送到1号机器中

使用mv命令将压缩包移动到/usr/local目录下

 使用tar命令将其解压

 并且给解压后的文件赋予权限

4.2-配置hadoop环境

在1号机器上配置/etc/profile文件,加入下面代码

#HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

配置完成后,重启环境变量source

测试

 4.3-修改hadoop中的配置文件(文件都在/usr/local/hadoop-2.7.3/etc/hadoop下)

4.3.1-hadoop-env.sh

修改下面两处位置代码

4.3.2core-site.xml文件

写入下面代码

<property>
    <!--指定hadoop临时存放目录-->
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop-2.7.3/tmp</value>
</property>
<property>
    <!--hdfs地址-->
    <name>fs.defaultFS</name>
    <value>hdfs://主机1名称:9000</value>
</property>
<!--hadoop临时存放目录需要手动创建-->
<!--mkdir /usr/lcoal/hadoop-2.7.3/tmp-->

 4.3.3-修改hdfs-site.xml文件

添加下面代码

<property>
    <!--指定hdfs产生数据时备份的机器数量,一个datanode,存放一个副本-->
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
<!--指定namenode数据存放的目录-->
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop-2.7.3/tmp/dfs/name</value>
</property>
<property>
<!--指定datanode数据存放目录-->
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/hadoop-2.7.3/tmp/dfs/data</value>
</property>

<!--mkdir /usr/local/hadoop-2.7.3/tmp/dfs/name-->
<!--mkdir /usr/local/hadoop-2.7.3/tmp/dfs/data-->

4.3.4-修改mapred-site.xml文件(由mapred-site.xml.templete文件复制而来)

cp mapred-site.xml.template mapred-site.xml

编辑mapred-site.xml文件

写入下面代码

<property>
<!--    指定mr运行在yarn框架上-->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

<property>
    <name>mapreduce.jobhistory.address</name>
    <value>主机1名称:10020</value>
</property>

<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>主机1名称:19888</value>
</property>

 4.3.5-修改yarn-site.xml文件

写入下面代码

<property>
<!--指定resourcemanager的主机名称    -->
    <name>yarn.resourcemanager.hostname</name>
    <value>主机1名称</value>
</property>
<property>
<!--yarn默认混洗方式-->
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

 4.3.6-修改slaves文件

删除原有内容,写入1号、2号、3号主机名称

4.3.7-创建NameNode目录

在/usr/local/hadoop-2.7.3目录下创建,并赋予权限

mkdir tmp
mkdir tmp/dfs
mkdir tmp/dfs/name
mkdir tmp/dfs/data
mkdir tmp/dfs/namesecondary
chmod -R +777 tmp/

 4.3.8-将配置好的hadoop文件传送到2号和3号机器上

scp -r hadoop-2.7.3文件位置 2号主机名称:~
scp -r hadoop-2.7.3文件位置 3号主机名称:~

然后再使用mv命令将文件移动到/usr/local目录下

还要编辑2号和3号机器上的hadoop环境/etc/profile

#HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

4.3.9-启动格式化命令

1号机器上执行命令

hdfs namenode -format

 即可成功

启动hadoop集群

start-all.sh

查看1号机器进程

 2号机器进程

 3号机器进程

终止hadoop进程命令

stop-all.sh

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不行就我来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值