Ⅰ 在修改hadoop的配置文件时,用命令gedit /etc/hadoop/conf/core-si
需要先进入相关的路径 直接输入 cd $HADOOP_HOME 之后在用gedit修改 (前提是你$HADOOP_HOME已经在前面的步骤中配置过了)
Ⅱ 我建了一个hadoop集群运行正常,但是我用xshell远程登录集群中的主机,就是连接不上,求指教
这个原因会有很多的,那没有详细的说明我也不太明白了
Ⅲ 如何配置hadoop伪分布式配置
0.关闭防火墙
service iptables start;#立即开启防火墙,但是重启后失效。
service iptables stop;#立即关闭防火墙,但是重启后失效。
重启后生效
chkconfig iptables on;#开启防火墙,重启后生效
chkconfig iptables off;#关闭防火墙,重启后生效
1.配置主机名
!!!!!注意安装hadoop的集群主机名不能有下划线!!不然会找不到主机!无法启动!
配置主机名
$vi /etc/sysconfig/network
$source /etc/sysconfig/network
例如:
NETWORKING=yes
HOSTNAME=hadoop01
2.配置Hosts
vi /etc/hosts
填入以下内容
127.0.0.1 hadoop01
其他主机和ip对应信息。。。
3.配置面密码互通
生成自己的公钥和私钥,生成的公私钥将自动存放在/root/.ssh目录下。
$ ssh-keygen
把生成的公钥到远程机器上
$ ssh--id [user]@[host]
此时在远程主机的/root/.ssh/authorized_keys文件中保存了公钥,在known_hosts中保存了已知主机信息,当再次访问的时候就不需要输入密码了。
$ ssh [host]
通过此命令远程连接,检验是否可以不需密码连接
4.安装JDK
通过fz将jdk安装包上传
解压安装包
tar -zxvf [jdk安装包位置]
配置环境变量
修改profile -- 这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
vim /etc/profile
在文件行尾加入配置后保存退出
export JAVA_HOME=/home/app/jdk1.7.0_45/
export PATH=$PATH:$JAVA_HOME/bin
重新加载profile使配置生效
source /etc/profile
环境变量配置完成,测试环境变量是否生效
echo $JAVA_HOME
java -version
5.安装hadoop
通过fz将hadoop安装包上传到linux
解压安装包
tar -zxvf [hadoop安装包位置]
6.配置hadoop
(1)修改 hadoop-env.sh
通过vim打开
vim [hadoop]/etc/hadoop/hadoop-env.sh
主要是修改java_home的路径
在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改成具体的路径
重新加载使修改生效
source hadoop-env.sh
(2)修改 core-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/core-site.xml
增加namenode配置、文件存储位置配置
<configuration>
<property>
<!--用来指定hdfs的老大,namenode的地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<name>hadoop.tmp.dir</name>
<value>/home/park/work/hadoop-2.5.2/tmp</value>
</property>
</configuration>
(3)修改 hdfs-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/hdfs-site.xml
配置包括自身在内的备份副本数量。
<configuration>
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
(4)修改 mapred-site.xml
说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个
cp mapred-site.xml.template mapred-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/mapred-site.xml
配置maprece运行在yarn上
<configuration>
<property>
<!--指定maprece运行在yarn上-->
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)修改 yarn-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/yarn-site.xml
配置
<configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
</configuration>
(6)修改 slaves
(7)配置hadoop的环境变量
vim /etc/profile
export HADOOP_HOME=/home/park/work/hadoop-2.5.2/
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
重新加载profile使配置生效
source /etc/profile
环境变量配置完成,测试环境变量是否生效
echo $HADOOP_HOME
(8)重启linux
$reboot
????为什么需要重启配置文件才起作用?原因不明????
(8)格式化namenode
进入 hadoop/bin 输入命令格式化namenode
hadoop namenode -format(hdfs namenode -format 以前的方式)
在格式化的时候,会有这样的输出:
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted
7.启动hadoop
在/home/app/hadoop-2.6.0/sbin目录下
$start-all.sh
8.关闭hadoop
在/home/app/hadoop-2.6.0/sbin目录下
$stop-all.sh
9.hdfs命令
hadoop fs -mkdir /user/trunk
hadoop fs -ls /user
hadoop fs -lsr /user (递归的)
hadoop fs -put test.txt /user/trunk
hadoop fs -put test.txt . (复制到hdfs当前目录下,首先要创建当前目录)
hadoop fs -get /user/trunk/test.txt . (复制到本地当前目录下)
hadoop fs -cat /user/trunk/test.txt
hadoop fs -tail /user/trunk/test.txt (查看最后1000字节)
hadoop fs -rm /user/trunk/test.txt
hadoop fs -rmdir /user/trunk
hadoop fs -help ls (查看ls命令的帮助文档)
10.通过浏览器访问hadoop管理页面
http://[server_ip]:50070
**如果访问不了有可能是服务器50070端口被关闭了。通过如下方式打开50070端口:
service iptables status #查询防火墙状态
service iptables start #开启防火墙
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开通特定端口
iptables -I INPUT -p tcp --dport 80 -j DROP #关闭特定端口
service iptables save #保存配置
service iptables restart #重启防火墙
Ⅳ 怎么更改hive连接hadoop的地址
1、下载hive(http://archive.cloudera.com/cdh/testing/hive-0.3.99.1+0.tar.gz),解包把它放到目录 /usr/local/hadoop/contrib并改名为hive,改属主(chown -R hadoop:hadoop).
2、下载ant (http://labs.xiaonei.com/apache-mirror/ant/binaries/apache-ant-1.7.1-bin.tar.gz),解包并把它放置到目录/usr/local/hadoop.
3、修改文件 /etc/profile,添加如下的行:
export HADOOP_HOME=/usr/local/hadoopexport ANT_HOME=$HADOOP_HOME/apache-ant-1.7.1export PATH=$PATH:/usr/local/hadoop/bin:$JAVA_HOME/bin:$HADOOP_HOME/contrib/hive/bin:$ANT_HOME/bin
export ANT_LIB=$HADOOP_HOME/apache-ant-1.7.1/lib
export HADOOP=$HADOOP_HOME/bin/hadoop4、修改hive配置文件 /usr/local/hadoop/contrib/hive/conf/hive-default.xml,只要改一个地方,使其内容为:/usr/local/hadoop/contrib/hive/lib/hive_hwi.war。昨天我把它书写成 “hive-hwi.war”,浏览器访问,就只列出文件目录,死活都不对,唉!
5、启动hive web服务: $ hive –service hwi & .监听端口默认是9999,也可以自己到hive-default.xml定制。浏览器的访问url为 http:/hadoop:9999/hwi.
注:hive表的存放地为hdfs,默认是 /user/hive .这个路径只有通过hadoop shell才能看见(不是/usr)
Ⅳ 大数据:Hadoop入门
什么是大数据:
(1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如关系型数据库,数据仓库等。这里“大”是一个什么量级呢?如在阿里巴巴每天处理数据达到20PB(即20971520GB).
2.大数据的特点:
(1.)体量巨大。按目前的发展趋势来看,大数据的体量已经到达PB级甚至EB级。
(2.)大数据的数据类型多样,以非结构化数据为主,如网络杂志,音频,视屏,图片,地理位置信息,交易数据,社交数据等。
(3.)价值密度低。有价值的数据仅占到总数据的一小部分。比如一段视屏中,仅有几秒的信息是有价值的。
(4.)产生和要求处理速度快。这是大数据区与传统数据挖掘最显着的特征。
3.除此之外还有其他处理系统可以处理大数据。
Hadoop (开源)
Spark(开源)
Storm(开源)
MongoDB(开源)
IBM PureDate(商用)
Oracle Exadata(商用)
SAP Hana(商用)
Teradata AsterData(商用)
EMC GreenPlum(商用)
HP Vertica(商用)
注:这里我们只介绍Hadoop。
二:Hadoop体系结构
Hadoop来源:
Hadoop源于Google在2003到2004年公布的关于GFS(Google File System),MapRece和BigTable的三篇论文,创始人Doug Cutting。Hadoop现在是Apache基金会顶级项目,“
Hadoop”一个虚构的名字。由Doug Cutting的孩子为其黄色玩具大象所命名。
Hadoop的核心:
(1.)HDFS和MapRece是Hadoop的两大核心。通过HDFS来实现对分布式储存的底层支持,达到高速并行读写与大容量的储存扩展。
(2.)通过MapRece实现对分布式任务进行处理程序支持,保证高速分区处理数据。
3.Hadoop子项目:
(1.)HDFS:分布式文件系统,整个Hadoop体系的基石。
(2.)MapRece/YARN:并行编程模型。YARN是第二代的MapRece框架,从Hadoop 0.23.01版本后,MapRece被重构,通常也称为MapRece V2,老MapRece也称为 MapRece V1。
(3.)Hive:建立在Hadoop上的数据仓库,提供类似SQL语音的查询方式,查询Hadoop中的数据,
(5.)HBase:全称Hadoop Database,Hadoop的分布式的,面向列的数据库,来源于Google的关于BigTable的论文,主要用于随机访问,实时读写的大数据。
(6.)ZooKeeper:是一个为分布式应用所设计的协调服务,主要为用户提供同步,配置管理,分组和命名等服务,减轻分布式应用程序所承担的协调任务。
还有其它特别多其它项目这里不做一一解释了。
三:安装Hadoop运行环境
用户创建:
(1.)创建Hadoop用户组,输入命令:
groupadd hadoop
(2.)创建hser用户,输入命令:
useradd –p hadoop hser
(3.)设置hser的密码,输入命令:
passwd hser
按提示输入两次密码
(4.)为hser用户添加权限,输入命令:
#修改权限
chmod 777 /etc/sudoers
#编辑sudoers
Gedit /etc/sudoers
#还原默认权限
chmod 440 /etc/sudoers
先修改sudoers 文件权限,并在文本编辑窗口中查找到行“root ALL=(ALL)”,紧跟后面更新加行“hser ALL=(ALL) ALL”,将hser添加到sudoers。添加完成后切记还原默认权限,否则系统将不允许使用sudo命令。
(5.)设置好后重启虚拟机,输入命令:
Sudo reboot
重启后切换到hser用户登录
安装JDK
(1.)下载jdk-7u67-linux-x64.rpm,并进入下载目录。
(2.)运行安装命令:
Sudo rpm –ivh jdk-7u67-linux-x64.rpm
完成后查看安装路径,输入命令:
Rpm –qa jdk –l
记住该路径,
(3.)配置环境变量,输入命令:
Sudo gedit /etc/profile
打开profile文件在文件最下面加入如下内容
export JAVA_HOME=/usr/java/jdk.7.0.67
export CLASSPATH=$ JAVA_HOME/lib:$ CLASSPATH
export PATH=$ JAVA_HOME/bin:$PATH
保存后关闭文件,然后输入命令使环境变量生效:
Source /etc/profile
(4.)验证JDK,输入命令:
Java –version
若出现正确的版本则安装成功。
配置本机SSH免密码登录:
(1.)使用ssh-keygen 生成私钥与公钥文件,输入命令:
ssh-keygen –t rsa
(2.)私钥留在本机,公钥发给其它主机(现在是localhost)。输入命令:
ssh--id localhost
(3.)使用公钥来登录输入命令:
ssh localhost
配置其它主机SSH免密登录
(1.)克隆两次。在VMware左侧栏中选中虚拟机右击,在弹出的快捷键菜单中选中管理---克隆命令。在克隆类型时选中“创建完整克隆”,单击“下一步”,按钮直到完成。
(2.)分别启动并进入三台虚拟机,使用ifconfig查询个主机IP地址。
(3.)修改每台主机的hostname及hosts文件。
步骤1:修改hostname,分别在各主机中输入命令。
Sudo gedit /etc/sysconfig/network
步骤2:修改hosts文件:
sudo gedit /etc/hosts
步骤3:修改三台虚拟机的IP
第一台对应node1虚拟机的IP:192.168.1.130
第二台对应node2虚拟机的IP:192.168.1.131
第三台对应node3虚拟机的IP:192.168.1.132
(4.)由于已经在node1上生成过密钥对,所有现在只要在node1上输入命令:
ssh--id node2
ssh--id node3
这样就可以将node1的公钥发布到node2,node3。
(5.)测试SSH,在node1上输入命令:
ssh node2
#退出登录
exit
ssh node3
exit
四:Hadoop完全分布式安装
1. Hadoop有三种运行方式:
(1.)单机模式:无须配置,Hadoop被视为一个非分布式模式运行的独立Java进程
(2.)伪分布式:只有一个节点的集群,这个节点即是Master(主节点,主服务器)也是Slave(从节点,从服务器),可在此单节点上以不同的java进程模拟分布式中的各类节点
(3.)完全分布式:对于Hadoop,不同的系统会有不同的节点划分方式。
2.安装Hadoop
(1.)获取Hadoop压缩包hadoop-2.6.0.tar.gz,下载后可以使用VMWare Tools通过共享文件夹,或者使用Xftp工具传到node1。进入node1 将压缩包解压到/home/hser目录下,输入命令:
#进入HOME目录即:“/home/hser”
cd ~
tar –zxvf hadoop-2.6.0.tar.gz
(2.)重命名hadoop输入命令:
mv hadoop-2.6.0 hadoop
(3.)配置Hadoop环境变量,输入命令:
Sudo gedit /etc/profile
将以下脚本加到profile内:
#hadoop
export HADOOP_HOME=/home/hser/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
保存关闭,最后输入命令使配置生效
source /etc/profile
注:node2,和node3都要按照以上配置进行配置。
3.配置Hadoop
(1.)hadoop-env.sh文件用于指定JDK路径。输入命令:
[hser@node1 ~]$ cd ~/hadoop/etc/hadoop
[hser@node1 hadoop]$ gedit hadoop-env.sh
然后增加如下内容指定jDK路径。
export JAVA_HOME=/usr/java/jdk1.7.0_67
(2.)打开指定JDK路径,输入命令:
export JAVA_HOME=/usr/java/jdk1.7.0_67
(4.)core-site.xml:该文件是Hadoop全局配置,打开并在
Ⅵ hadoop 1.2配置启动成功后,从浏览器都能访问两个JSP界面,但是无法使用shell命令
配置文件core-site.xml中的fs.default.name参数值写错了吧,应该是hdfs不是hfds。
Ⅶ 如何配置Hadoop环境
安装前设置
在安装Hadoop之前,需要进入Linux环境下,连接Linux使用SSH(安全Shell)。按照下面提供的步骤设立Linux环境。
创建一个用
在开始时,建议创建一个单独的用户Hadoop以从Unix文件系统隔离Hadoop文件系统。按照下面给出的步骤来创建用户:
使用 “su” 命令开启root .
创建用户从root帐户使用命令 “useradd username”.
现在,可以使用命令打开一个现有的用户帐户“su username”.
打开Linux终端,输入以下命令来创建一个用户。
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
SSH设置和密钥生成
SSH设置需要在集群上做不同的操作,如启动,停止,分布式守护shell操作。认证不同的Hadoop用户,需要一种用于Hadoop用户提供的公钥/私钥对,并用不同的用户共享。
下面的命令用于生成使用SSH键值对。复制公钥形成 id_rsa.pub 到authorized_keys 文件中,并提供拥有者具有authorized_keys文件的读写权限。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
安装Java
Java是Hadoop的主要先决条件。首先,应该使用命令“java-version”验证 java 存在在系统中。 Java version 命令的语法如下。
$ java -version
如果一切顺利,它会给下面的输出。
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
如果Java还未安装在系统中,那么按照下面的给出的步骤来安装Java。
第1步
下载Java(JDK<最新版> - X64.tar.gz)
然后JDK-7u71-linux-x64.tar.gz将被下载到系统。
第2步
一般来说,在下载文件夹中的Java文件。使用下面的命令提取 jdk-7u71-linux-x64.gz文件。
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
第3步
为了使Java提供给所有用户,将它移动到目录 “/usr/local/”。打开根目录,键入以下命令。
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
第4步
用于设置PATH和JAVA_HOME变量,添加以下命令到~/.bashrc文件。
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=PATH:$JAVA_HOME/bin
现在从终端验证 java -version 命令如上述说明。
下载Hadoop
下载来自Apache基金会软件,使用下面的命令提取 Hadoop2.4.1。
$ su
password:
# cd /usr/local
# wget http //apache claz org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit
Hadoop操作模式
下载 Hadoop 以后,可以操作Hadoop集群以以下三个支持模式之一:
本地/独立模式:下载Hadoop在系统中,默认情况下之后,它会被配置在一个独立的模式,用于运行Java程序。
模拟分布式模式:这是在单台机器的分布式模拟。Hadoop守护每个进程,如 hdfs, yarn, MapRece 等,都将作为一个独立的java程序运行。这种模式对开发非常有用。
完全分布式模式:这种模式是完全分布式的最小两台或多台计算机的集群。我们使用这种模式在未来的章节中。
在单机模式下安装Hadoop
在这里,将讨论 Hadoop2.4.1在独立模式下安装。
有单个JVM运行任何守护进程一切都运行。独立模式适合于开发期间运行MapRece程序,因为它很容易进行测试和调试。
设置Hadoop
可以通过附加下面的命令到 ~/.bashrc 文件中设置 Hadoop 环境变量。
export HADOOP_HOME=/usr/local/hadoop
在进一步讨论之前,需要确保Hadoop工作正常。发出以下命令:
$ hadoop version
如果设置的一切正常,那么应该看到以下结果:
Hadoop 2.4.1
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum
这意味着Hadoop在独立模式下工作正常。默认情况下,Hadoop被配置为在非分布式模式的单个机器上运行。
Ⅷ 如何通过界面修改hadoop配置
mr程序只有运行,并没有安装这个说法。通常运行mr程序有两种,一是在Eclipse下runonhadoop,二是在Eclipse编写程序并且导出jar包,然后再命令行界面用hadoop命令运行jar包。