侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Hadoop伪分布搭建

2023-12-04 星期一 / 0 评论 / 0 点赞 / 67 阅读 / 7236 字

1.安装java https://my.oschina.net/u/3132676/blog/804599 2.下载hadoop压缩包 http://hadoop.apache.org/#Downlo

1.安装java

https://my.oschina.net/u/3132676/blog/804599

2.下载hadoop压缩包

http://hadoop.apache.org/#Download+Hadoop

我下的是2.7.3

3.创建hadoop账户

.

sudo useradd hadoop

      设置密码:

sudo passwd hadoop

      为hadoop用户添加管理员权限:

      方法一:

            sudo adduser hadoop sudo

      方法二:

            打开/etc/sudoers文件,在root用户组中添加hadoop

            sudo nano /etc/sudoers

.

 

.

使用hadoop用户登录:

      su hadoop

(注意:以下步骤均需在hadoop用户下完成!)

.

4.安装ssh,配置ssh免密码登录

        

.

安装ssh前,先更新一下apt:

. . .

sudo apt-get update

. . .

安装ssh命令:

. . .

sudo apt-get install openssh-server

. . .

安装后,启动ssh登录本机:

. . .

ssh localhost

. . .

        作为一个安全通信协议,使用ssh登录时需要输入密码,而在hadoop集群中,需要将ssh改成无密码登录,hadoop节点间才能正常通信。

. .

退出ssh登录:

. . .

exit

. . .

生成私钥和公钥:

. . .

cd ~/.ssh/

. . . .

ssh-keygen -t rsa

. . .

将公钥追加到authorized_keys文件中:

. . .

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

. . .

再次使用ssh localhost登录本机,此时便不在需要输入密码了。

.

5.配置伪分布环境

在安装Hadoop时,修改hadoop-env.sh时要将
export JAVA_HOME=${JAVA_HOME}
修改为具体目录export JAVA_HOME=/home/java_jre

      需要在/hadoop/etc/hadoop目录下的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四个配置文件中添加配置,其中后两个是用于配置YARN的。

可以用Notepad++ 连接服务器修改配置文件

在core-site.xml中添加:
   

<property>  

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

    <value>file:/usr/local/hadoop/tmp</value>  

    <description>Abase for other temporarydirectories.</description>  

</property>  

<property>  

    <name>fs.defaultFS</name>  

    <value>hdfs://主机名:9000</value> 

</property>  

在hdfs-site.xml文件中添加:

<property>  

    <name>dfs.replication</name>  

    <value>1</value>  

</property>  

<property>  

    <name>dfs.namenode.name.dir</name>  

    <value>file://home/hadoop/dfs/name</value>  

</property>  

<property>  

    <name>dfs.datanode.data.dir</name>  

    <value>file://home/hadoop/dfs/data</value>  

</property>  

<property>  

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

    <value>Master:50090</value>  

</property>  

mapred-site.xml文件原先并不存在,需先将mapred-site.xml.template更名为mapred-site.xml:

sudo mv mapred-site.xml.template mapred-site.xml

然后在mapred-site.xml文件中添加:

<property>  

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

    <value>yarn</value>  

</property>  

<property>  

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

    <value>主机名:10020</value>  

</property>  

<property>  

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

    <value>主机名:19888</value>  

</property>  

 

在yarn-site.xml文件中添加:

<property>  

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

    <value>mapreduce_shuffle</value>  

</property>  

<property>  

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

    <value>主机名</value>  

</property>  

6.启动hadoop的守护进程

.

启动dfs:

.

start-dfs.sh

.

启动后使用jps命令查看进程,将看到NameNode、DataNode、SecondaryNamenode三个进程。

启动YARN:

.

start-yarn.sh

.

启动后将增加ResourceManager、NodeManager两个进程。

也可以使用start-all.sh命令启动全部进程(start-all.sh = start-dfs.sh + start-yarn.sh)

启动JobHistoryServer:

. . .

mr-jobhistory-daemon.sh start historyserver

. 因为mapred-site.xml文件中配置了JobHistoryServer,所以必须启动hadoop才能正常运行。 .

7.运行hadoop伪分布实例 

. .

在hdfs中创建输入文件夹,并将文件拷贝到文件夹中:

. . .

./bin/hdfs dfs -mkdir input

. .

./bin/hdfs dfs -put ./etc/hadoop/*.xml input

. . .

运行mapreduce作业:

. . .

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output

. . .

等待mapreduce作业运行结束,查看运行结果:

. . .

hdfs dfs -cat output/*

. . .

    

 

广告 广告

评论区