在老师讲的基础上在步骤上进行了些许改进,
总共几步:
1 准备环境搭建
1.1 JDK环境搭建
1.2 免密码配置
1.3 其他
2 Hadoop 集群配置
2.1 配置文件
2.2 名称节点格式化
2.3 运行验证
hadoop 1.x集群安装
假设我们有三台机 规划如下:
假设用户均为grid
1.1 第一步:查询本地是否已自带安装JAVA,如果有卸载之(centos 6.5版本会自带openJAVA ,我们这里最好还是安装oracle的java)
具体命令:rpm -qa|grep java #查询是否安装了JAVA
rpm -e "程序名称" # 卸载程序 ,java 默认有两个
第二步:下载并解压JDK包到目录"/usr/jdk",相关命令:wget :获取下载包 tar :解压
进入/usr/jdk/bin 目录下运行命令java测试是否成功
注:如果出现错误"bash: /usr/java/jdk1.7.0_06/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory" 则运行命令"su -c 'yum install glibc.i686' "安装glibc 即可
1.2 第一步:在每台机器上进入/home/grid目录下,
ssh-keygen -t rsa #生成ssh密钥
三台机器均生成成功后,进入机器l1
cat id_rsa.pub>>authorized_keys #自身访问免密码
ssh [email protected] 'cat /home/grid/.ssh/id_rsa.pub'>>authorized_keys #与192.168.1.11免密码
ssh [email protected] 'cat /home/grid/.ssh/id_rsa.pub'>>authorized_keys #与192.168.1.12免密码
scp authorized_keys [email protected]:/home/grid/.ssh/authorized_keys #复制到192.168.11
scp authorized_keys [email protected]:/home/grid/.ssh/authorized_keys
第二步:通过机器间 使用ssh grid@ip地址 来测试免密码是否设置成功
注:ssh 命令会进入到远端机器,测试完毕后记得退出
1.3 第一步 关闭防火墙:service iptables stop #关闭防火墙当前打开的防火墙
chkconfig iptables off #关闭开机自启动
第二步:修改hosts文件,增加机器名解析,修改三个机器的/etc/hosts文件,均增加下面几行:
192.168.1.10 l1
192.168.1.11 l2
192.168.1.12 l3
2.1 配置6个文件(/usr/home/hadoop-1.2.1/conf):
1 hadoop-env.sh
export JAVA_HOME=/usr/jdk1.7 #修改默认Java_HOME路径
2 core-site.xml:配置hadoop 默认文件端口和临时目录
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://l1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/grid/hadoop/tmp</value>
</property>
</configuration>
3 hdfs-site.xml: 配置数据复制份数
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4 mapred-site.xml: 配置jobtracker端口
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>l1:9001</value>
</property>
</configuration>
5 master:配置主节点名称
l1
6 slaves:配置从节点名称
l2
l3
配置完成后,将hadoop 目录复制到每个机器上
2.2 第一步:运行命令 /home/grid/hadoop-1.2.1/bin/hadoop namenode -format格式化名称节点,注意看日志是否成功
第二步:执行/home/grid/hadoop-1.2.1/bin/start-all.sh :启动Hadoop所有模块
2.3 在主节点机器上执行/usr/jdk1.7/bin/jps 看是否有进程 JobTracker namenode secondaryNamenode
在从节点机器上执行/usr/jdk1.7/bin/jps 看是否有进程 datanode tasktracker
http://192.168.1.10:50030 (MapReduce的页面)
http://192.168.1.10:50070 (HDFS的页面)
如果都可以打开,说明安装成功
2.x安装:
2.x 安装和1.x 基本一致,只有下面的地方不一致
1.3 hadoop文件解压后,需要在hadoop根目录下建立data和name文件夹 , 后面配置的地方要用到
2.1 配置6个文件(/usr/home/hadoop-2.x/etc/hadoop):
1 hadoop-env.sh同hadoop1.x一样
2 mapred-env.sh 仍然是改JAVA_HOME路径
3 yarn-env.sh 仍然是改JAVA_HOME路径
4 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://l3:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/grid/hadoop-2.2.0/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
5 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>l3:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/grid/hadoop-2.2.0/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/grid/hadoop-2.2.0/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
6 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>l3:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>l3:19888</value>
</property>
</configuration>
7 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>l3:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>l3:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>l3:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>l3:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>l3:8088</value>
</property>
</configuration>
8 slaves:
l2
l3
2.2 第一步:运行命令 /home/grid/hadoop-2.x/bin/hdfs namenode -format格式化名称节点,注意看日志是否成功
第二步:执行/home/grid/hadoop-2.x/bin/start-dfs.sh :启动hdfs模块
执行/home/grid/hadoop-2.x/bin/start-yarn.sh :启动yarn模块
2.3 在主节点机器上执行/usr/jdk1.7/bin/jps 看是否有进程 resourcemanager namenode secondaryNamenode
在从节点机器上执行/usr/jdk1.7/bin/jps 看是否有进程 datanode nodemanager
http://192.168.1.10:8088 (ResourceManager管理界面)
http://192.168.1.10:50070 (nomenode的页面)
如果都可以打开,说明安装成功