Hadoop从安装到启动,Hadoop安装启动
由于Hadoop 第一次入手需要配置多台机器多个配置,本文详细介绍下如何去使用,方便后面回头自己能够按照笔记配出来。OK,直接进入主题:
关于Hadoop的配置这里先说下流程:
1. 修改虚拟机网络连接方式 主机名 IP 映射文件 关闭防火墙
2. 安装ssh客户端方便多台虚拟机传输数据
3. 安装JDK,因为hadoop内部需要jdk的支持
4. 安装hadoop安装包 修改环境配置等。至此环境安装的流程完毕。
在开发过程中由于需要配置多台虚拟机,这里以3台为例,多了怕你电脑受不了。而上面的配置基本每台虚拟机都需要。所以,可以考虑先对其中一台虚拟机进行完全配置,再对该虚拟机进行克隆。
安装hadoop
1. 下载:http://archive.apache.org/dist/hadoop/core/ 这里我下载的是2.6.4版本。
2. 下载后解压
3. 配置相关环境
进入hadoop安装包的etc/hadoop目录:
这里有几个文件需要配置的:
第一个:hadoop-env.sh
vi hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_65
第二个:core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://weekend-1206-01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>weekend-1206-01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
第六个:删除slaves原有的内容,配置如下内容如下,这样我们可以用一键式命令启动整个hadoop集群:
hdpvm1
hdpvm2
hdpvm3
4. 添加hadoop环境变量
vi /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
5. 克隆虚拟机并做好新的配置
上面的操作中说明已经将单机环境设置完毕,接下来要实现克隆,如下图:
启动新的虚拟机,因为是做的克隆,所以虚拟机上的主机名称,网卡ip mac地址都还没改,而且克隆后的虚拟机会出现网卡异常。
6. 在主机上配置免密登录
为集群主机配置免密登录,这样,我们就可以在主机中将文件分配给每一台集群机器:
ssh-keygen -t rsa 声明秘钥,这样在用户的.ssh文件夹下就会产生2个文件
ssh-copy-id hdpvm1 为某个机器配置免密登录,如果配置好域名映射,后面写映射的名称即可
[root@hdpvm1 ~]# cd ~/.ssh
[root@hdpvm1 .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
33:8c:61:a5:eb:25:d5:7a:33:51:f9:4e:9b:18:36:e3 root@hdpvm1
The key's randomart image is:
+--[ RSA 2048]----+
| . .. |
| o . .. |
| + . o . |
| . * . .= o |
| + S +o B o |
| . o + oE + |
| . |
| |
| |
+-----------------+
[root@hdpvm1 .ssh]# ssh-copy-id hdpvm1
The authenticity of host 'hdpvm1 (192.168.254.105)' can't be established.
RSA key fingerprint is f8:98:34:82:c5:8b:14:fd:1a:26:42:28:1b:44:d3:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hdpvm1,192.168.254.105' (RSA) to the list of known hosts.
root@hdpvm1's password:
Now try logging into the machine, with "ssh 'hdpvm1'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@hdpvm1 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
7. 启动集群
因为我们已经配置了hadoop的环境变量,所以可以在namenode任意路径下行执行命令如下:
#hdfs namenode -format
# start-all.sh
...
# jps
4688 NodeManager
4454 SecondaryNameNode
5005 Jps
4192 NameNode
4308 DataNode
4594 ResourceManager
当集群成功启动后,我们可以通过50070端口网站访问该集群,50070 为HDFS管理界面,8088 为MR管理界面:
如果想关闭集群,只要执行命令stop-all.sh即可;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。