CentOs7安装Hadoop2.7.0总结
2015-07-02 11:25
711 查看
CentOS7.0安装配置hadoop2.7.0
资源准备
资源下载:hadoop-2.7.0.tar.gz 密码:727y
jdk-8u45-linux-x64.tar.gz 密码:d8bm
CentOS-7.0-1406-x86_64-DVD.iso 密码:1a71
virtual box for mac 密码:h9ig
注意事项:
如果自己下载资源的话,注意hadoop,jdk,centos都应该是64位或者32位的,以免出现无法预料的错误,上面的资源都是64位的
我是在mac下配置的,virtual box是ios x系统的,如果是其它系统的另外寻找资源下载安装
linux 虚拟机配置
系统配置:虚拟机:一个master(Master.Hadoop),两个slave(Slave1.Hadoop, Slave2.Hadoop)
网络设置:我使用的是桥接的方式,因为只是实验性安装,我没有设置静态ip
内存:每个虚拟机配置1024M内存
分区:自动
软件选择:最小安装,注意选择开发工具
用户设置:密码都设置为:hadoophadoop, 不创建任何用户,操作时使用root直接进行
额外软件安装:
centos7.0初始化时并没有ifconfig指令,需要使用下面两个指令进行安装:
yum search ifconfg yum install net-tools.x86_64
完成其它两个虚拟机的安装:
两个slave的hostname可以改成Slave1.Hadoop, Slave2.Hadoop,方便区分
安装完后各个虚拟机的ip配置(参考用)
主机 | ip地址 |
---|---|
master.hadoop | 192.168.1.122 |
slave1.hadoop | 192.168.1.125 |
slave2.hadoop | 192.168.1.124 |
输入指令
vi /etc/hosts // 将以下数据复制进入各个主机中 192.168.1.122 Master.Hadoop 192.168.1.125 Slave1.Hadoop 192.168.1.124 Slave2.Hadoop
使用以下指令对master主机中进行测试,可使用类似指令在slave主机测试
ping Slave1.Hadoop ping Slave2.Hadoop
配置Master无密码登录所有Salve
以下在Master主机上配置输入以下指令生成ssh
ssh-keygen // 会生成两个文件,放到默认的/root/.ssh/文件夹中
把id_rsa.pub追加到授权的key里面去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改文件”authorized_keys”权限
chmod 600 ~/.ssh/authorized_keys
设置SSH配置
vi /etc/ssh/sshd_config // 以下三项修改成以下配置 RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
重启ssh服务
service sshd restart
把公钥复制所有的Slave机器上
// scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/ scp ~/.ssh/id_rsa.pub root@192.168.1.125:~/ scp ~/.ssh/id_rsa.pub root@192.168.1.124:~/
以下在Slave主机上配置
在slave主机上创建.ssh文件夹
mkdir ~/.ssh // 修改权限 chmod 700 ~/.ssh
追加到授权文件”authorized_keys”
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys // 修改权限 chmod 600 ~/.ssh/authorized_keys
删除无用.pub文件
rm –r ~/id_rsa.pub
在master主机下进行测试
ssh 192.168.1.125 ssh 192.168.1.124 // 如果能够分别无密码登陆slave1, slave2主机,则成功配置
进行jdk, hadoop软件安装
jdk安装:在/usr下创建java文件夹
使用以下指令从真机传入jdk-8u45-linux-x64.tar.gz文件到虚拟主机中
// 需要在真机中进入文件目录,地址为虚拟主机的ip地址 scp jdk-8u45-linux-x64.tar.gz root@192.168.1.122:/usr/java scp jdk-8u45-linux-x64.tar.gz root@192.168.1.125:/usr/java scp jdk-8u45-linux-x64.tar.gz root@192.168.1.124:/usr/java
使用以下指令进行加压
tar zxvf jdk-8u45-linux-x64.tar.gz // 解压后可以删除掉gz文件 rm jdk-8u45-linux-x64.tar.gz
配置jdk环境变量
vi /etc/profile
添加Java环境变量
// 将以下数据复制到文件底部 export JAVA_HOME=/usr/java/jdk1.8.0_45 export JRE_HOME=/usr/java/jdk1.8.0_45/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
使配置生效
source /etc/profile
验证安装成功
java -version // 如果出现以下信息,则配置成功 java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
hadoop安装
使用以下指令将hadoop-2.7.0.tar.gz文件复制到/usr目录下
scp hadoop-2.7.0.tar.gz root@192.168.1.122:/usr/
解压hadoop-2.7.0.tar.gz文件,并重命名
cd /usr tar zxvf hadoop-2.7.0.tar.gz mv hadoop-2.7.0 hadoop // 删除hadoop-2.7.0.tar.gz文件 rm –rf hadoop-2.7.0.tar.gz
在”/usr/hadoop”下面创建tmp文件夹
cd /usr/hadoop mkdir tmp
把Hadoop的安装路径添加到”/etc/profile”中
vi /etc/profile // 将以下数据加入到文件末尾 export HADOOP_INSTALL=/usr/hadoop export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin${PATH} export HADOOP_MAPRED_HOME=${HADOOP_INSTALL} export HADOOP_COMMON_HOME=${HADOOP_INSTALL} export HADOOP_HDFS_HOME=${HADOOP_INSTALL} export YARN_HOME=${HADOOP_INSTALLL} export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_INSTALL}/lib/natvie export HADOOP_OPTS="-Djava.library.path=${HADOOP_INSTALL}/lib:${HADOOP_INSTALL}/lib/native"
重启”/etc/profile”
source /etc/profile
配置hadoop(先只在Master主机配置,配置完后传入两个Slave主机)
设置hadoop-env.sh和yarn-env.sh中的java环境变量cd /usr/hadoop/etc/hadoop/ vi hadoop-env.sh // 修改JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.0_45
配置core-site.xml文件
vi core-site.xml // 修改文件内容为以下 <configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://Master.Hadoop:9000</value> </property> </configuration>
配置hdfs-site.xml文件
vi hdfs-site.xml // 修改文件内容为以下 <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.nameservices</name> <value>hadoop-cluster1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master.Hadoop:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
配置mapred-site.xml文件
vi mapred-site.xml // 修改文件为以下 <property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> </property> <property> <name>mapreduce.jobtracker.http.address</name> <value>Master.Hadoop:50030</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>Master.Hadoop:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master.Hadoop:19888</value> </property> <property> <name>mapred.job.tracker</name> <value>http://Master.Hadoop:9001</value> </property>
配置yarn-site.xml文件
vi yarn-site.xml // 修改文件内容为以下 <property> <name>yarn.resourcemanager.hostname</name> <value>Master.Hadoop</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>Master.Hadoop:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>Master.Hadoop:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>Master.Hadoop:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>Master.Hadoop:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>Master.Hadoop:8088</value> </property>
配置Hadoop的集群
将Master中配置好的hadoop传入两个Slave中scp -r /usr/hadoop root@192.168.1.125:/usr/ scp -r /usr/hadoop root@192.168.1.124:/usr/
修改Master主机上的slaves文件
cd /usr/hadoop/etc/hadoop vi slaves // 将文件内容修改为 Slave1.Hadoop Slave2.Hadoop
格式化HDFS文件系统
// 在Master主机上输入以下指令 hadoop namenode -format
启动hadoop
// 关闭机器防火墙 service iptables stop cd /usr/hadoop/sbin ./start-all.sh // 更推荐的运行方式: cd /usr/hadoop/sbin ./start-dfs.sh ./start-yarn.sh 应该输出以下信息: Starting namenodes on [Master.Hadoop] Master.Hadoop: starting namenode, logging to /usr/hadoop/logs/hadoop-root-namenode-localhost.localdomain.out Slave2.Hadoop: starting datanode, logging to /usr/hadoop/logs/hadoop-root-datanode-Slave2.Hadoop.out Slave1.Hadoop: starting datanode, logging to /usr/hadoop/logs/hadoop-root-datanode-Slave1.Hadoop.out starting yarn daemons starting resourcemanager, logging to /usr/hadoop/logs/yarn-root-resourcemanager-localhost.localdomain.out Slave1.Hadoop: starting nodemanager, logging to /usr/hadoop/logs/yarn-root-nodemanager-Slave1.Hadoop.out Slave2.Hadoop: starting nodemanager, logging to /usr/hadoop/logs/yarn-root-nodemanager-Slave2.Hadoop.out
验证hadoop
// 1. 直接在Master或Slave输入指令: jps // 应该输出以下信息(端口号仅供参考) Master: 3930 ResourceManager 4506 Jps 3693 NameNode Slave: 2792 NodeManager 2920 Jps 2701 DataNode // 2. 输入以下指令 hadoop dfsadmin -report // 应该输出以下信息: Configured Capacity: 14382268416 (13.39 GB) Present Capacity: 10538565632 (9.81 GB) DFS Remaining: 10538557440 (9.81 GB) DFS Used: 8192 (8 KB) DFS Used%: 0.00% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Live datanodes (2): Name: 192.168.1.124:50010 (Slave2.Hadoop) Hostname: Slave2.Hadoop Decommission Status : Normal Configured Capacity: 7191134208 (6.70 GB) DFS Used: 4096 (4 KB) Non DFS Used: 1921933312 (1.79 GB) DFS Remaining: 5269196800 (4.91 GB) DFS Used%: 0.00% DFS Remaining%: 73.27% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu Jul 02 10:45:04 CST 2015 Name: 192.168.1.125:50010 (Slave1.Hadoop) Hostname: Slave1.Hadoop Decommission Status : Normal Configured Capacity: 7191134208 (6.70 GB) DFS Used: 4096 (4 KB) Non DFS Used: 1921769472 (1.79 GB) DFS Remaining: 5269360640 (4.91 GB) DFS Used%: 0.00% DFS Remaining%: 73.28% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1
访问网页
// CentOS7中iptables这个服务的配置文件没有了,采用了新的firewalld // 输入以下指令后,可以在真机浏览器上访问hadoop网页 systemctl stop firewalld // 输入以下网页,进入hadoop管理首页 http://192.168.1.122:50070/dfshealth.html#tab-overview
参考资料
在CentOS上安装Hadoop 2.x 集群centos安装配置hadoop超详细过程
Centos下安装hadoop并与Eclipse连接
Hadoop集群(第5期)_Hadoop安装配置
【分享】VirtualBox下安装CentOS 7 【图文教程】
centos7没有安装ifconfig命令的解决方法
[CentOS]安装软件:/lib/ld-linux.so.2: bad ELF interpreter解决
CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)【张振华.Jack】
Hadoop “Unable to load native-hadoop library for your platform” error on CentOS
CentOS静态IP修改网卡配置文件
CentOS 6.5 配置hadoop 2.6.0伪分布式
How can i use iptables on centos 7?
相关文章推荐
- CentOS环境DRBD的编译安装
- linux sed命令详解
- linux下 nexus搭建maven私有库 自动打包
- ARM linux的启动部分源代码简略分析
- linux 文件类型
- Linux中CPU亲和性(affinity)
- CentOS Linux解决Device eth0 does not seem to be present
- Linux常用命令大全
- windows下写好脚本需要在Linux运行
- 权 限 linux
- linux下安装Maven
- linux系统硬件配置查看方法
- 使用Glog帮助编写Linux C程序
- linux中fork()函数详解(转载)
- linux下部署项目后可能出现的问题 ;(是无效,Web server process 写入资料的目录)
- Linux kernel浮点计算支持
- SeLinux语法规则
- 构建自己的embedded linux系统
- linux第一篇
- Linux 磁盘分区