2015.07.12hadoop伪分布安装
hadoop伪分布安装
- Hadoop2的伪分布安装步骤【使用root用户用户登陆】other进去超级用户拥有最高的权限
1.1(桥接模式)设置静态IP ,,修改配置文件,虚拟机IP192.168.1.99重启网卡,网关192.168.1.1是物理机下面的默认网关,
执行命令
vi /etc/sysconfig/network-scripts/ifcfg-eh0
修改内容:
TYPE="Ethernet"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.1.99"
GATEWAY="192.168.1.1"
DNS1="192.168.1.1"
NETMASK=255.255.255.0
重启网卡,执行命令service network restart
验证:执行命令 ifconfig
1.2修改主机名(主机名类似于域名(baidu.com))
<1>修改当前会话中的主机名,执行命令hostname hadoop
<2>修改配置文件中的主机名,执行命令vi /etc/sysconfig/network
验证:重启机器reboot -h now
命令vi三种模式 只读,不能写
编辑,能读,也能写(敲击键盘a或i)
命令,需要执行命令(按Esc键,然后按Shift+:组合键,输入wq保存退出)
编辑文件强退时会产生(没保存时vi就自动保存成.a.swp)交换分区缓存文件(.a.swp) 查看隐藏文件使用命令ls -a
1.3把hostname和IP绑定
执行命令vi /etc/hosts,增加一行内容,如下
192.168.1.99 hadoop (虚拟机的IP地址)
保存退出。
验证:ping hadoop
1.4关闭防火墙
执行命令 service iptables stop
验证:service iptables status
1.5关闭防火墙的自动运行(防火墙重启后可能会自动启动)
执行命令 chkconfig iptables off
验证:chkconfig --list | grep iptables(chkconfig是检查自动运行的配置项,--list是显示所有结果)
1.6 ssh免密码登录(类似与telnet命令,是明文传输包括密码,不安全。ls /root/.shh/查看(重启命令service shhd restart)A要免密码登录B,A、B的自身shh是可以运行,A将公钥文件复制给B中的authorized_keys文件,A向B发送登录请求,B向A发送随机的字符串,A用私钥加密字符串后的数据发回B,B自身将公钥加密之前的字符串,然后对比加密后的数据,如果比对匹配则可通信,反之不可通信)
<1>执行命令ssh-keygen -t rsa(-t指定加密类型,rsa是加密的算法一种)产生密钥,位于~/.shh文件夹中(id_rsa.pub是公钥文件id_rsa是私钥文件)
<2>执行命令(将自己的公钥文件拷贝到其他机器)ssh-copy-id -i hadoop ((不安全偷懒)或者将crxy2的密钥文件拷贝到hadoop在crxy2执行命令scp /root/.ssh/* crxy1:/root/.shh/) (cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys)
验证:ssh localhost
主节点->(公钥)子节点,子节点->(字符串)主节点,主节点->(密钥加密字符串)自己公钥加密字符串配对
公钥到了对方那里会放到authorized_keys文件夹中,ssh验证的时候会读取authorized_keys文件夹的内容
2.7安装jdk
<1>执行命令rm -rf/usr/local/*删除所有内容(r是递归删除,f是强制删除*是全部)
<2>使用winscp把jdk文件从windows复制到/usr/local目录下
<3>执行命令 chmod u+x jdk-8u31-linux-x64.tar.gz 赋予执行权限
<4>执行命令(当前目录/usr/local/) tar -zxvf jdk-8u31-linux-x64.tar.gz(./jdk-6u24-linux-i586.bin 解压缩)
<5>执行命令 mv jdk-8u31 jdk 重命名
<6>执行命令 vi /etc/profile 设置环境变量,增加了2行内容
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile 让该设置立即生效
验证:java -version
位的,如果是32位需要编译)
<1>执行命令 tar -zxvf(z是压缩格式,x是解压,f是文件) hadoop-2.6.0.tar.gz进行解压缩
<2>执行命令 mv hadoop-2.6.0 hadoop 重命名
<3>执行命令 vi /etc/profile 设置环境变量,增加了1行内容
export HADOOP_HOME=/usr/local/hadoop
修改了1行内容
export PATH=.:$HADOOP_HOME:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile 让该设置立即生效
<4>修改hadoop的配置文件,位于$HADOOP_HOME/etc/hadoop 目录下的
修改3个配置文件,分别是hadoop-env.sh、core-site.xml、hdfs-site.xml
注意:查看hadoop版本:进入位机器上需要编译源码,可是为什么要编译源码,编译源码后,会有什么效果。
1.为什么需要编译Java文件?
你写出来的都是*.JAVA文件,JVM能执行的都是*.CLASS文件,所以需要编译2.为什么要编译hadoop文件?
只有编译后的hadoop,才能被就jvm执行,才能被安装
位,64位。虚拟机编译的文件,只能运行于32虚拟机虚拟机编译的文件,只能运行于64虚拟机)关闭防火墙
参考一下
疑问:老师操设置完环境变量后并没有source /etc/profile就可以echo $JAVA_HOME,而我操作时却需要source /etc/profile才能echo $JAVA_HOME
注意细节,最后是</configuration>,不然就会报错。
HDFS伪分布搭建
修改配置文件etc/hadoop/hadoop-env.sh
JAVA_HOME=/usr/local/jdk(安装jdk所在的路径)
修改配置文件etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
//备注:<value>/usr/local/hadoop/tmp</value>(备注hadoop运行时产生的数据文件所存在的目录,具有读写权限)
修改配置文件etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>(指的是副本数)
</property>
</configuration>
格式化文件系统
$ bin/hdfs namenode -format(格式化)
启动hdfs集群:
$ sbin/start-dfs.sh
访问web浏览器:
(NameNode ) http://localhost:50070/
练习:
创建目录:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/root
复制文件:
$ bin/hdfs dfs -put /etc/profile input
关闭集群:
$ sbin/stop-dfs.sh
启动不成功查看日志文件
用浏览器查看hdfs(http://hadoop:50070/)(能查看就说明HDFS已启动成功啦!恭喜恭喜!)
试验(验证hdfs是启动成功)
报错情况与解决办法:
配置文件修改错了!重新修改一次!
先停止hdfs(sbin/stop-all.sh),删除hadoop下的logs文件夹,然后再删除tmp文件夹,再格式化NameNode(bin/hdfs namenode -format),最后启动hdfs(sbin/start-all.sh)
2015.07.12hadoop伪分布安装的更多相关文章
- Hadoop学习记录(1)|伪分布安装
本文转载自向着梦想奋斗博客 Hadoop是什么? 适合大数据的分布式存储于计算平台 不适用小规模数据 作者:Doug Cutting 受Google三篇论文的启发 Hadoop核心项目 HDFS(Ha ...
- CentOS 6.5 伪分布安装
CentOS 6.5 伪分布安装 软件准备 jdk-6u24-linux-i586.bin .hadoop-1.2.1.tar.gz.hadoop-eclipse-plugin-1.2.1.jar ...
- hadoop 2.6伪分布安装
hadoop 2.6的“伪”分式安装与“全”分式安装相比,大部分操作是相同的,主要区别在于不用配置slaves文件,而且其它xxx-core.xml里的参数很多也可以省略,下面是几个关键的配置: (安 ...
- hadoop伪分布安装
解压 将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压 #将hadoop解压到/home/haozhulin/install路径下,定 ...
- Hadoop伪分布安装详解(五)
目录: 1.修改主机名和用户名 2.配置静态IP地址 3.配置SSH无密码连接 4.安装JDK1.7 5.配置Hadoop 6.安装Mysql 7.安装Hive 8.安装Hbase 9.安装Sqoop ...
- hadoop: hbase1.0.1.1 伪分布安装
环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一.下载解压 到官网 http://hbase.apache.org ...
- 【hadoop之翊】——基于CentOS的hadoop2.4.0伪分布安装配置
今天总算是把hadoop2.4的整个开发环境弄好了,包括 windows7上eclipse连接hadoop,eclipse的配置和測试弄得烦躁的一逗比了~ 先上一张成功的图片,hadoop的伪分布式安 ...
- Hadoop-1.0.4伪分布安装与配置
1.采用伪分布模式安装 将hadoop-****.tar.gz复制到linux的/usr/local目录下. 2.解压,重命名 #tar -xzvf hadoop-1.0.4.ta ...
- hbase伪分布安装配置
hbase1.2.4 伪分布式安装 注意:在安装hbase或者hadoop的时候,要注意hadoop和hbase的对应关系.如果版本不对应可能造成系统的不稳定和一些其他的问题.在hbase的lib ...
随机推荐
- bppm与AD域集成
1. 使用admin登录BMC ProactiveNet Operations Console,点击选项-> 集成编辑 2. 勾选LDAP集成方式,配置相关信息,点击应用 3. 查看配置文件%B ...
- Windows程序员必须知道的字符编码和字符集
字符编码 (Character encoding) 在存储和传递文本过程中,为了使得所有电脑都能够正确的识别出文本内容,需要有一个统一的规则. 2. 字符集 (Character Set) ) 一般 ...
- Java编程规范(一)
最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则.接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助. 不考虑任何编码规范的 ...
- int与integer的区别(基本数据类型与引用数据类型)
一.先说说int与integer的区别 int 是基本数据类型,默认值为0,不需要进行实例化 integer 是引用数据类型,是int的封装类型,默认值为null,创建该类型需要进行实例化. 基本数据 ...
- C++STL笔记
C++STL 1.vector 向量,长度可变的数组 头文件 #include<vector> 1.1vector的定义 vector<typename> name; 例如: ...
- Unity渲染优化中文翻译(三)——GPU的优化策略
如果游戏的渲染瓶颈来自于GPU 首要任务就是找出造成GPU瓶颈的因素所在,通常GPU的性能受到像素分辨率的影响,特别是在移动客户端的游戏,但是内存带宽和顶点计算的影响也需要注意.这些因素的影响都需要实 ...
- jquery和javascript的区别(常用方法比较)
jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单.人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能.JavaScript 与JQu ...
- css3瀑布流
css3虽然可以实现,不过要是真的运用到项目中还是老老实实写js吧 .container{ /*列的宽度*/ column-width:160px; -webkit-column-width:160p ...
- 【2017-02-24】循环嵌套、跳转语句、异常语句、迭代穷举、while
一.循环嵌套 1.格式 for() { for() { } } 2.执行顺序 先执行外边循环进到循环体发现里面的循环,开始执行里面的循环.等到里面的循环执行完毕,再执行外边的循环. 在外面循环第一次, ...
- hashMap4种遍历方式
package collection; import java.util.Collection; import java.util.HashMap; import java.util.Hashtabl ...