原创hadoop2.6集群环境搭建
2024-10-08 23:17:01
三台机器: Hmaster 172.168.2.3、Hslave1 172.168.2.4、Hslave2 172.168.2.6
JDK:1.8.49
OS:red hat 5.4 64 (由于后期发现有一些由于系统lib库版本太低、python版本太低、java运行环境版本太低等问题,降低了搭建效率,应该用至少是7及以上的OS版本。尤其是无法使用本地库的问题必须得由升级操作系统很多组件来解决,如glib库等)
1、配置hostname /etc/system/network
域名映射 /etc/hosts 每个机器都有3条映射信息
2、增加用户hadoop,设置三台机器间免密通信
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
scp id_rsa.pub hadoop@172.168.2.4:~/.ssh/id_rsa.pub_sl
scp id_rsa.pub hadoop@172.168.2.6:~/.ssh/id_rsa.pub_sl
cat id_rsa.pub_sl >> authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
3、升级JDK
rpm -ivh jdk-8u91-linux-x64.rpm
vi .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.6.4/
4、 配置
三个节点都创建这三个文件夹
[hadoop@Hmaster ~]$ mkdir -p hadoop/tmp
[hadoop@Hmaster ~]$ mkdir -p dfs/data
[hadoop@Hmaster ~]$ mkdir -p dfs/name
主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下,可以用gedit命令对其进行编辑。
~/hadoop/etc/hadoop/hadoop-env.sh -->修改JAVA_HOME
~/hadoop/etc/hadoop/yarn-env.sh -->修改JAVA_HOME
~/hadoop/etc/hadoop/slaves -->>增加slave节点
~/hadoop/etc/hadoop/core-site.xml -->>增加hadoop核心配置
~/hadoop/etc/hadoop/hdfs-site.xml -->>增加hdfs配置信息(namenode、datanode端口和目录位置)
~/hadoop/etc/hadoop/mapred-site.xml -->>增加mapreduce配置(使用yarn框架、jobhistory使用地址以及web地址)
~/hadoop/etc/hadoop/yarn-site.xml -->>增加resource manager
[hadoop@Hmaster ~]$ cd /home/hadoop/hadoop-2.6.4/etc/hadoop/
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
vi yarn-env.sh
JAVA_HOME=/usr/java/jdk1.8.0_91
vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Hmaster:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<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.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Hmaster:50090</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>Hmaster:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Hmaster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Hmaster:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://Hmaster:9001</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Hmaster</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>Hmaster:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>Hmaster:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>Hmaster:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>Hmaster:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>Hmaster:8088</value>
</property>
</configuration>
vi masters
Hmaster
vi slaves
Hslave1
Hslave2
5、拷贝及配置
scp -r hadoop-2.6.4/ hadoop@172.168.2.4:~/
scp -r hadoop-2.6.4/ hadoop@172.168.2.6:~/
复制Hmaster的.bash_profile的配置到slave
修改/etc/sysconfig/network
6、测试
格式化namenode:hdfs namenode -format 三个节点都执行
启动hdfs:/sbin/start-dfs.sh
启动yarn:./sbin/start-yarn.sh
上传一个文件,才能正常查看到状态
查看集群状态:
hadoop dfsadmin -report
最新文章
- 10分钟写一个markdown编辑器
- 【代码笔记】iOS-UIScrollerView里有两个tableView
- Cygwin: connection closed by ::1
- [数论]ZOJ3593	One Person Game
- nodejs对静态文件目录的处理
- mayavi安装
- linkin大话数据结构--Queue
- Java利用递归算法统计1-6的数组排列组合数
- scrapy-redis 分布式爬虫
- SSM 框架搭建
- 单元测试如何覆盖internal的方法
- 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习
- NOIP 2018 划水记
- scrapy输出的json文件中显示中文
- 支付宝WAP支付总结
- 微信WebView关闭后本地cookie无法清除问题
- js中setInterval和setTimeout区别和用法
- (华中科大)江南雨烟 C++ STL 专栏
- Android事件拦截机制 - 两句话
- 判断资源贴图是否有alpha