Linux下部署Hadoop伪分布模式

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

Hadoop版本为1.2.1
   Linux使用Fedora19并使用hadoop账号安装
   第一步:配置ssh本地登录证书(虽然为伪分布模式,Hadoop依然会使用SSH进行通信)
[hadoop@promote ~]$ which ssh
/usr/bin/ssh
[hadoop@promote ~]$ which ssh-keygen
/usr/bin/ssh-keygen
[hadoop@promote ~]$ which sshd
/usr/sbin/sshd
[hadoop@promote ~]$ ssh-keygen -t rsa
  然后一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Passphrases do not match.  Try again.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
2f:a9:60:c7:dc:38:8f:c7:bb:70:de:d4:39:c3:39:87 hadoop@promote.cache-dns.local
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|        S        |
|     o o o o +   |
|    o B.= o E .  |
|   . o Oo+   =   |
|      o.=o.      |
+-----------------+
  最终将在/home/hadoop/.ssh/路径下生成私钥id_rsa和公钥id_rsa.pub
  [hadoop@promote .ssh]$ cd /home/hadoop/.ssh/
  [hadoop@promote .ssh]$ ls
  id_rsa  id_rsa.pub
  修改sshd服务配置文件:
  [hadoop@promote .ssh]$ su root
  密码:
  [root@promote .ssh]# vi /etc/ssh/sshd_config
  启用RSA加密算法验证(去掉前面的#号)
RSAAuthentication yes
PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile      .ssh/authorized_keys


 修改mapred-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
  修改hdfs-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
  master中指定的SNN节点和slaves中指定的从节点位置均为本地
[hadoop@promote conf]$ cat masters
localhost
[hadoop@promote conf]$ cat slaves
localhost
  第五步:启动Hadoop
[hadoop@promote bin]$ cd ../conf/
[hadoop@promote conf]$ cd ../bin
[hadoop@promote bin]$ sh start-all.sh
starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-promote.cache-dns.local.out
localhost: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-promote.cache-dns.local.out
localhost: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-promote.cache-dns.local.out
starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-promote.cache-dns.local.out
localhost: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-promote.cache-dns.local.out
  可以看到所有Hadoop守护进程均已启动
 保存并退出,然后重启sshd服务
[root@promote .ssh]# service sshd restart
Redirecting to /bin/systemctl restart  sshd.service
[root@promote .ssh]# ps -ef|grep sshd
root      1995     1  0 22:33 ?        00:00:00 sshd: hadoop [priv]
hadoop    2009  1995  0 22:33 ?        00:00:00 sshd: hadoop@pts/0
root      4171     1  0 23:11 ?        00:00:00 /usr/sbin/sshd -D
root      4175  3397  0 23:12 pts/0    00:00:00 grep --color=auto sshd
  然后切换回hadoop用户,将ssh证书公钥拷贝至/home/hadoop/.ssh/authorized_keys文件中
  [root@promote .ssh]# su hadoop
  [hadoop@promote .ssh]$ cat id_rsa.pub >> authorized_keys
  修改authorized_keys文件的权限为644(这步一定要有)
  [hadoop@promote .ssh]$ chmod 644 authorized_keys
  [hadoop@promote .ssh]$ ssh localhost
  The authenticity of host 'localhost (127.0.0.1)' can't be established.
  RSA key fingerprint is 25:1f:be:72:7b:83:8e:c7:96:b6:71:35:fc:5d:2e:7d.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
  Last login: Thu Feb 13 23:42:43 2014
   第一次登陆将会将证书内容保存在/home/hadoop/.ssh/known_hosts文件中,以后再次登陆将不需要输入密码
  [hadoop@promote .ssh]$ ssh localhost
  Last login: Thu Feb 13 23:46:04 2014 from localhost.localdomain
  至此ssh证书部分配置完成
   第二步:安装JDK
  [hadoop@promote ~]$ java -version
  java version "1.7.0_25"
  OpenJDK Runtime Environment (fedora-2.3.10.3.fc19-i386)
  OpenJDK Client VM (build 23.7-b01, mixed mode)
  将OpenJDK换为Oracle的Java SE
  [hadoop@promote .ssh]$ cd ~
  [hadoop@promote ~]$ uname -i
  i386
  在Oracle的官网下载jdk-6u45-linux-i586.bin后上传至服务器,赋予权限并进行安装,最后删除安装包
  [hadoop@promote ~]$ chmod u+x jdk-6u45-linux-i586.bin
  [hadoop@promote ~]$ ./jdk-6u45-linux-i586.bin
  [hadoop@promote ~]$ rm -rf jdk-6u45-linux-i586.bin
  [hadoop@promote conf]$ export PATH=$PATH:/home/hadoop/jdk1.6.0_45/bin
  出现以下结果说明JDK成功安装:
  [hadoop@promote ~]$ java -version
  java version "1.6.0_45"
  Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
  Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)
   第三步:安装Hadoop
  在Hadoop官网下载hadoop-1.2.1.tar.gz并上传至服务器/home/hadoop路径下
  [hadoop@promote ~]$ tar -xzf hadoop-1.2.1.tar.gz
  [hadoop@promote ~]$ rm -rf hadoop-1.2.1.tar.gz
  [hadoop@promote ~]$ cd hadoop-1.2.1/conf/
  [hadoop@promote conf]$ vi hadoop-env.sh
  将JAVA_HOME指向第二步安装的JDK所在目录片
  # The java implementation to use.  Required.
  export JAVA_HOME=/home/hadoop/jdk1.6.0_45
  保存并退出
   第四步:修改Hadoop配置文件
  修改core-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>


最新内容请见作者的GitHub页:http://qaseven.github.io/


相关文章
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
106 1
Linux系统之部署轻量级Markdown文本编辑器
|
2月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
82 41
Linux系统之部署homer静态主页
|
2月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
103 3
Linux系统之部署Linux管理面板1Panel
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
65 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
57 2
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
320 3
|
25天前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
21天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
123 6
|
22天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
60 3