64bit Centos6.4搭建hadoop-2.5.1
64bit Centos6.4搭建hadoop-2.5.1
1、分布式环境搭建
採用4台安装Linux环境的机器来构建一个小规模的分布式集群。
当中有一台机器是Master节点,即名称节点,另外三台是Slaver节点,即数据节点。这四台机器彼此间通过路由器相连,从而实验相互通信以及传输数据。
2、集群机器具体信息
2.1 hadoop版本号:
2.5.1
2.2 masterserver
具体信息 |
|
机器名称 |
Hamster |
IP |
192.168.1.193 |
USER |
hadoop |
PASSWORD |
**** |
2.3 slave1server
具体信息 |
|
机器名称 |
slave1 |
IP |
192.168.1.194 |
USER |
hadoop |
PASSWORD |
**** |
2.4 slave2server
具体信息 |
|
机器名称 |
slave2 |
IP |
192.168.1.194 |
USER |
hadoop |
PASSWORD |
**** |
2.5 slave3server
具体信息 |
|
机器名称 |
slave3 |
IP |
192.168.1.195 |
USER |
hadoop |
PASSWORD |
**** |
3、SSH无password验证配置
Hadoop执行过程中须要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不须要输入password的形式,故我们须要配置SSH运用 无password公钥认证的形式,这样NameNode使用SSH无password登录并启动DataName进程,相同原理,DataNode上也能使用SSH无password登录到 NameNode。
3.1 安装和启动SSH协议
安装ssh和rsync
yum install openssh.x86_64 openssh-clients.x86_64 安装SSH协议
yum install rsync (rsync是一个远程数据同步工具。可通过LAN/WAN高速同步多台主机间的文件)
service sshd restart 启动服务
3.2 配置Master无password登录全部Salve
1)这条命是生成其无password密钥对,询问其保存路径时直接回车採用默认路径。生成的密钥对:id_rsa和id_rsa.pub。默认存储在"/home/hadoop/.ssh"文件夹下
ssh-keygen -t rsa -P ''
2)接着在Master节点上做例如以下配置。把id_rsa.pub追加到授权的key里面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3)改动权限
chmod -R 700 .ssh
chmod 600 .authorized_keys
4)改动SSH配置文件"/etc/ssh/sshd_config"的下列内容
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
service sshd restart
5)验证localhost能否够无password登录
ssh localhost
6)配置slave无password登录。把公钥复制全部的Slave机器上
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.194:~/(将id_rsa.pub拷贝到slave机器上面)
mkdir ~/.ssh(创建.ssh)
chmod 700 ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 660 ~/.ssh/authorized keys
7) 运行第4-5步骤
4、jdk的安装
配置全部机器jdk
下载jdk,减压到文件夹以下,配置jdk环境
vi /etc/profile
#set java environment
export JAVA_HOME=/opt/jdk1.7.0_51/
export JRE_HOME=/opt/jdk1.7.0_51/jre
exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
source /etc/profile
5、Hadoop集群安装
全部的机器上都要安装hadoop,如今就先在Masterserver安装。然后其它server依照步骤反复进行就可以。安装和配置hadoop须要以"root"的身份进行。
5.1 安装hadoop
下载hadoop-2.5.1.tar.gz
减压成/opt/hadoop
5.2配置hadoop到环境变量中
vi /etc/profile
# set hadoop path
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH :$HADOOP_HOME/bin
source /etc/profile
5.3 配置下面7个文件
~/opt/hadoop/etc/hadoop/hadoop-env.sh
~/opt/hadoop/etc/hadoop/yarn-env.sh
~/opt/hadoop/etc/hadoop/slaves
~/opt/hadoop/etc/hadoop/core-site.xml
~/opt/hadoop/etc/hadoop/hdfs-site.xml
~/opt/hadoop/etc/hadoop/mapred-site.xml
~/opt/hadoop/etc/hadoop/yarn-site.xml
以上个别文件默认不存在的,能够复制对应的template文件获得。
配置文件1:hadoop-env.sh
改动JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_51/)
配置文件2:yarn-env.sh
改动JAVA_HOME值(exportJAVA_HOME=/opt/jdk1.7.0_51/)
配置文件3:slaves (这个文件中面保存全部slave节点)
写入下面内容:
slave1
slave2
slave3
配置文件4:core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/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>
配置文件5:hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hmaster:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</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.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>
</configuration>
配置文件7:yarn-site.xml
<configuration>
<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>
5.4、拷贝到其它slave
scp -r /opt/hadoop root@slave1:/opt
scp -r /opt/hadoop root@slave2:/opt
scp -r /opt/hadoop root@slave3:/opt
5.5、启动验证
启动hadoop
进入安装文件夹: cd /opt/hadoop
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
使用jps查看,
此时在hmaster上面执行的进程有:namenode secondarynamenode
slave1/2/3上面执行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
使用jps查看,
此时在hmaster上面执行的进程有:namenode secondarynamenode resourcemanager
slave1/2/3上面执行的进程有:datanode nodemanager
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck / -files -blocks
查看HDFS: http://16.187.94.161:50070
查看RM: http:// 16.187.94.161:8088
最新文章
- ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化
- Django调用JS、CSS、图片等静态文件
- PHPUnit单元测试中类protected/private方法测试
- 对大一新生开始学习C语言课程谈几点看法
- 菜单滑动-menu swipe
- asp.net中GridView的CheckedUnBindCheckBox属性
- 开发纯ndk程序之环境搭配
- chrome浏览器强制采用https加密链接
- linux命令sysctl使用
- 【百度地图API】如何制作商圈地图?行政地图?
- c++ 智能指针【转载】
- Android的快速开发框架 afinal
- jquery 三级关联选择效果
- 开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试
- SQL Server——存储过程
- Centos7开机启动自己的脚本的方法
- Maven 自动打包上传到私服 Nexus
- convertToNodeSpace和convertToWorldSpace ---实际应用
- 常量,变量,a++,++a,+=等
- SSR &; Next.js &; Nuxt.js
热门文章
- django的admin后台管理如何更改为中文
- Unity5.3.6升级到Unity5.4.4 NGUI出现Ignoring menu item NGUI because it is in no submenu!问题解决方案
- E - Perfect Number
- VMware中linux安装jdk
- Block的本质与使用
- 【Oracle】服务器端监听配置
- Linux rsync配置用于服务器之间传输大量的数据
- 【sqli-labs】 less32 GET- Bypass custom filter adding slashes to dangrous chars (GET型转义了&#39;/";字符的宽字节注入)
- windows10上安装mysql详细图文教程
- Leetcode刷题笔记——查找