Hadoop 详细安装配置指南
2015-09-28 14:00
423 查看
1. 安装虚拟机和Linux。我们集群中准备3台机器:
192.168.1.16Master
192.168.1.17Slave1
192.168.1.18Slave2
可参考 http://blog.csdn.net/yg_it/article/details/25472523
2. 网络配置
2.1 修改hostname
a): 执行命令hostname 查看机器名称。
b): 如需修改,使用vi编辑器 vi /etc/sysconfig/network 修改其中的HOSTNAME属性为Master。
c): 执行hostnameMaster ,在当前环境中立即生效。
d): 执行命令hostname验证设置结果。
2.2 配置IP 和hostname 绑定。
a): 编辑文件“vi/etc/hosts” ,增加ip与hostname的映射信息。
192.168.1.16Master
192.168.1.17Slave1
192.168.1.18Slave2
b): 执行pingmaster 验证是否映射成功。
2.3 关闭防火墙。
a): 执行命令service iptables stop 关闭防火墙。
b): 执行命令service iptables status 查看防火墙是否正在运行。
c): 执行命令chkconfig iptables off 关闭防火墙自动运行。
3. 配置ssh免密码登陆(1.ssh-keygen -t rsa -P ''产生公钥私钥文件 2.产生的文件位于~/.ssh目录下 3. cp id_rsa.pub authorized_keys(如果要进行免密码登陆需要把产生的id_rsa.pub 信息复制到其他机器上authorized_keys文件中))
3.1 执行命令ssh-keygen-t rsa -P ''产生公钥私钥文件,产生的文件位于~/.ssh目录下。
3.2 执行命令ssh-copy-id-i master复制公钥文件到master节点的authorized_keys中。
ssh-copy-id-i slave1 复制公钥文件到slave1节点的authorized_keys中。
ssh-copy-id-i slave2 复制公钥文件到slave2节点的authorized_keys中。
3.3 执行命令 sshmaster ,验证免密码登陆。
4. 安装JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载 jdk-7u60-linux-x64.tar.gz
安装好的CentOS会自带OpenJdk,我们先卸载掉OpenJdk,在安装Oracle的JDK。
4.1 执行命令 rpm-qa | grep java 查看jdk。
4.2 分别执行以下命令,卸载OpenJdk。
rpm-e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm-e --nodeps tzdata-java-2013g-1.el6.noarch
4.3 在"/usr"下创建"java"文件夹,将jdk上传到“/usr/java/”目录下,执行命令 tar –zxvf jdk-7u60-linux-x64.tar.gz 解压缩,产生文件夹jdk1.7.0_60 。
4.4 设置Java环境变量
a): 编辑文件 vi/etc/profile 在尾部添加
exportJAVA_HOME=/usr/java/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin
b): 执行命令source /etc/profile使其立即生效
c): 使用命令 java–version ,如果看到如图所示,则JDK安装成功。
d): 同理,安装Slave1节点和Slave2节点上的JDK。
5. 安装Hadoop
下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-1.2.1/
下载hadoop-1.2.1.tar.gz
5.1 在master节点上传hadoop-1.2.1.tar.gz到/home/hadoop下。
5.2 执行命令 tar-zxvf ~/home/hadoop/hadoop-1.2.1.tar.gz 进行解压缩,产生文件夹hadoop-1.2.1。
5.3 设置环境变量
a): 编辑文件 vi/etc/profile 在尾部添加
exportHADOOP_HOME=/home/hadoop/hadoop-1.2.1
export PATH=$PATH:$HADOOP _HOME/bin
b): 执行命令 source /etc/profile使其立即生效
5.4 配置文件hadoop-env.sh,增加内容如下
export JAVA_HOME=/usr/java/jdk1.7.0_60
5.5 配置文件core-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>fs.default.name</name>
4. <value>hdfs://Master:9000</value>
5. </property>
6. <property>
7. <name>hadoop.tmp.dir</name>
8. <value>/home/hadoop/hadoop-1.2.1/tmp</value>
9. </property>
10.
11. </configuration>
注意:请先在 /home/hadoop/hadoop-1.2.1/ 目录下建立tmp 文件夹,不然会报tmp目录找不到。
5.6 配置文件hdfs-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>dfs.replication</name>
4. <value>2</value>
5. </property>
6. <property>
7. <name>dfs.permissions</name>
8. <value>false</value>
9. </property>
10. </configuration>
注意:dfs.replication是数据副本数量,默认为3,slave少于3台就会报错,这里我们有2个slave就设置为2.
5.7 配置文件 mapred-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>mapred.job.tracker</name>
4. <value>http://Master:9001</value>
5. </property>
6. </configuration>
5.8 配置文件masters(hadoop1.1.2/conf目录下),删除localhost增加内容如下
Master
4.9 配置文件slaves(hadoop1.1.2/conf目录下),删除localhost增加内容如下
Slave1
Slave2
5.10 把master上的hadoop-1.2.1复制到其他节点,执行命令
scp-r ~/hadoop-1.2.1 slave1:~/
scp -r ~/hadoop-1.2.1 slave2:~/
scp-r xxx root@主机名:/xxx
5.11 设置其他节点上hadoop的环境变量。(参照5.3)
5.12 在master节点执行命令hadoop namenode -format 进行格式化
5.13 在master节点执行命令start-all.sh 启动集群,并验证集群
查看Slave1和Slave2进程
网页查看集群
http://master:50070 http://master:50030
OK,Hadoop1.2.1集群安装成功!
hadoop在子节点上没有datanode进程
经常会有这样的事情发生:在主节点上start-all.sh后,子节点有TaskTracker进程,而没有DataNode进程。
环境:1NameNode 2DataNode三台机器,Hadoop为1.2.1
解决办法:
1.先停止Hadoop,bin/stop-all.sh
2.三台机器都把hadoop1.2.1/tmp下所有文件删除,rm-rf tmp/*
3.重新格式化DFS bin/hadoop namenode -format
4.再重启bin/start-all.sh
5.查看各节点jps,就有DataNode和TaskTracker了
192.168.1.16Master
192.168.1.17Slave1
192.168.1.18Slave2
可参考 http://blog.csdn.net/yg_it/article/details/25472523
2. 网络配置
2.1 修改hostname
a): 执行命令hostname 查看机器名称。
b): 如需修改,使用vi编辑器 vi /etc/sysconfig/network 修改其中的HOSTNAME属性为Master。
c): 执行hostnameMaster ,在当前环境中立即生效。
d): 执行命令hostname验证设置结果。
2.2 配置IP 和hostname 绑定。
a): 编辑文件“vi/etc/hosts” ,增加ip与hostname的映射信息。
192.168.1.16Master
192.168.1.17Slave1
192.168.1.18Slave2
b): 执行pingmaster 验证是否映射成功。
2.3 关闭防火墙。
a): 执行命令service iptables stop 关闭防火墙。
b): 执行命令service iptables status 查看防火墙是否正在运行。
c): 执行命令chkconfig iptables off 关闭防火墙自动运行。
3. 配置ssh免密码登陆(1.ssh-keygen -t rsa -P ''产生公钥私钥文件 2.产生的文件位于~/.ssh目录下 3. cp id_rsa.pub authorized_keys(如果要进行免密码登陆需要把产生的id_rsa.pub 信息复制到其他机器上authorized_keys文件中))
3.1 执行命令ssh-keygen-t rsa -P ''产生公钥私钥文件,产生的文件位于~/.ssh目录下。
3.2 执行命令ssh-copy-id-i master复制公钥文件到master节点的authorized_keys中。
ssh-copy-id-i slave1 复制公钥文件到slave1节点的authorized_keys中。
ssh-copy-id-i slave2 复制公钥文件到slave2节点的authorized_keys中。
3.3 执行命令 sshmaster ,验证免密码登陆。
4. 安装JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载 jdk-7u60-linux-x64.tar.gz
安装好的CentOS会自带OpenJdk,我们先卸载掉OpenJdk,在安装Oracle的JDK。
4.1 执行命令 rpm-qa | grep java 查看jdk。
4.2 分别执行以下命令,卸载OpenJdk。
rpm-e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm-e --nodeps tzdata-java-2013g-1.el6.noarch
4.3 在"/usr"下创建"java"文件夹,将jdk上传到“/usr/java/”目录下,执行命令 tar –zxvf jdk-7u60-linux-x64.tar.gz 解压缩,产生文件夹jdk1.7.0_60 。
4.4 设置Java环境变量
a): 编辑文件 vi/etc/profile 在尾部添加
exportJAVA_HOME=/usr/java/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin
b): 执行命令source /etc/profile使其立即生效
c): 使用命令 java–version ,如果看到如图所示,则JDK安装成功。
d): 同理,安装Slave1节点和Slave2节点上的JDK。
5. 安装Hadoop
下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-1.2.1/
下载hadoop-1.2.1.tar.gz
5.1 在master节点上传hadoop-1.2.1.tar.gz到/home/hadoop下。
5.2 执行命令 tar-zxvf ~/home/hadoop/hadoop-1.2.1.tar.gz 进行解压缩,产生文件夹hadoop-1.2.1。
5.3 设置环境变量
a): 编辑文件 vi/etc/profile 在尾部添加
exportHADOOP_HOME=/home/hadoop/hadoop-1.2.1
export PATH=$PATH:$HADOOP _HOME/bin
b): 执行命令 source /etc/profile使其立即生效
5.4 配置文件hadoop-env.sh,增加内容如下
export JAVA_HOME=/usr/java/jdk1.7.0_60
5.5 配置文件core-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>fs.default.name</name>
4. <value>hdfs://Master:9000</value>
5. </property>
6. <property>
7. <name>hadoop.tmp.dir</name>
8. <value>/home/hadoop/hadoop-1.2.1/tmp</value>
9. </property>
10.
11. </configuration>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-1.2.1/tmp</value>
</property>
</configuration>
注意:请先在 /home/hadoop/hadoop-1.2.1/ 目录下建立tmp 文件夹,不然会报tmp目录找不到。
5.6 配置文件hdfs-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>dfs.replication</name>
4. <value>2</value>
5. </property>
6. <property>
7. <name>dfs.permissions</name>
8. <value>false</value>
9. </property>
10. </configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
注意:dfs.replication是数据副本数量,默认为3,slave少于3台就会报错,这里我们有2个slave就设置为2.
5.7 配置文件 mapred-site.xml,增加内容如下
[plain]
view plaincopyprint?
1. <configuration>
2. <property>
3. <name>mapred.job.tracker</name>
4. <value>http://Master:9001</value>
5. </property>
6. </configuration>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://Master:9001</value>
</property>
</configuration>
5.8 配置文件masters(hadoop1.1.2/conf目录下),删除localhost增加内容如下
Master
4.9 配置文件slaves(hadoop1.1.2/conf目录下),删除localhost增加内容如下
Slave1
Slave2
5.10 把master上的hadoop-1.2.1复制到其他节点,执行命令
scp-r ~/hadoop-1.2.1 slave1:~/
scp -r ~/hadoop-1.2.1 slave2:~/
scp-r xxx root@主机名:/xxx
5.11 设置其他节点上hadoop的环境变量。(参照5.3)
5.12 在master节点执行命令hadoop namenode -format 进行格式化
5.13 在master节点执行命令start-all.sh 启动集群,并验证集群
查看Slave1和Slave2进程
网页查看集群
http://master:50070 http://master:50030
OK,Hadoop1.2.1集群安装成功!
hadoop在子节点上没有datanode进程
经常会有这样的事情发生:在主节点上start-all.sh后,子节点有TaskTracker进程,而没有DataNode进程。
环境:1NameNode 2DataNode三台机器,Hadoop为1.2.1
解决办法:
1.先停止Hadoop,bin/stop-all.sh
2.三台机器都把hadoop1.2.1/tmp下所有文件删除,rm-rf tmp/*
3.重新格式化DFS bin/hadoop namenode -format
4.再重启bin/start-all.sh
5.查看各节点jps,就有DataNode和TaskTracker了
相关文章推荐
- apache和tomcat三种连接方式
- shell判断变量是否属于数组
- 从零自学Hadoop(03):Linux准备上
- LNMP安装Nginx1.9.5+PHP5.5+MySQL5.6
- apache中国地址镜像文件下载地址
- linux定时关机命令
- L2TP Over IPSec On Ubuntu(Debian,CentOS) With OpenSwan
- Windows下Git Bash命令LS显示中文乱码
- USB驱动——键盘,U盘
- EasyARM-iMX257如何配置出低速率CAN
- linux查看磁盘使用情况 查看文件夹大小
- EasyARM-iMX257 linxu两年前的笔记
- docker 源码分析 二(基于1.8.2版本),docker client与daemon交互
- EasyARM-iMX257 linux两年前的笔记
- Intellij IDEA如何使用Maven Tomcat Plugin运行web项目
- OpenCV3.0基本类型初探(三)MAT初探
- phpStudy for Linux (lnmp+lamp一键安装包)
- linux应用编程笔记(4)静态函数库和动态函数库使用
- 【Linux命令-文件管理类】chgrp命令和groups命令
- Linux下Bonding配置