导航:首页 > 程序命令 > hadoop执行命令

hadoop执行命令

发布时间:2022-09-14 03:12:34

1. 刚在虚拟机安装的hadoop启动后,执行hadoop命令总是很慢

首先, 机器可能有问题, 你的电脑没有8G 就不要玩hadoop 集群了, 再来, hadoop 底层运行原理问题,运行起来也就慢了. 尤其是伪集群,,最糟糕

2. hadoop中常用的命令

1、查看指定目录下内容
hadoop dfs –ls [文件目录]
eg: hadoop dfs –ls /user/wangkai.pt
2、打开某个已存在文件
hadoop dfs –cat [file_path]
eg:hadoop dfs -cat /user/wangkai.pt/data.txt
3、将本地文件存储至hadoop
hadoop fs –put [本地地址] [hadoop目录]
hadoop fs –put /home/t/file.txt /user/t
(file.txt是文件名)
4、将本地文件夹存储至hadoop
hadoop fs –put [本地目录] [hadoop目录]
hadoop fs –put /home/t/dir_name /user/t
(dir_name是文件夹名)
5、将hadoop上某个文件down至本地已有目录下
hadoop fs -get [文件目录] [本地目录]
hadoop fs –get /user/t/ok.txt /home/t
6、删除hadoop上指定文件
hadoop fs –rm [文件地址]
hadoop fs –rm /user/t/ok.txt
7、删除hadoop上指定文件夹(包含子目录等)
hadoop fs –rm [目录地址]
hadoop fs –rmr /user/t
8、在hadoop指定目录内创建新目录
hadoop fs –mkdir /user/t
9、在hadoop指定目录下新建一个空文件
使用touchz命令:
hadoop fs -touchz /user/new.txt
10、将hadoop上某个文件重命名
使用mv命令:
hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)
11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hadoop dfs –getmerge /user /home/t
12、将正在运行的hadoop作业kill掉
hadoop job –kill [job-id]

3. 大数据: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全局配置,打开并在元素中增加配置属性如下:

fs.defaultFs hdfs://node1:9000 hadoop.tmp.dir file:/home/hser/hadoop/tmp 这里给出了两个常用的配置属性,fs.defaultFS表示客户端连接HDFS时,默认路径前缀,9000是HDFS工作的端口。Hadoop.tmp.dir如不指定会保存到系统的默认临时文件目录/tmp中。 (5.)hdfs-site.xml:该文件是hdfs的配置。打开并在元素中增加配置属性。 (6.)mapred-site.xml:该文件是MapRece的配置,可从模板文件mapred-site.xml.template中复制打开并在元素中增加配置。 (7.)yarn-site.xml:如果在mapred-site.xml配置了使用YARN框架,那么YARN框架就使用此文件中的配置,打开并在元素中增加配置属性。 (8.)复制这七个命令到node2,node3。输入命令如下: scp –r /home/hser/hadoop/etc/hadoop/ hser@node2:/home/hser/hadoop/etc/ scp –r /home/hser/hadoop/etc/hadoop/ hser@node3:/home/hser/hadoop/etc/ 4.验证: 下面验证hadoop是否正确 (1.)在Master主机(node1)上格式化NameNode。输入命令: [hser@node1 ~]$ cd ~/hadoop [hser@node1 hadoop]$ bin/hdfs namenode –format (2)关闭node1,node2 ,node3,系统防火墙并重启虚拟机。输入命令: service iptables stop sudo chkconfig iptables off reboot (3.)输入以下启动HDFS: [hser@node1 ~]$ cd ~/hadoop (4.)启动所有 [hser@node1 hadoop]$ sbin/start-all.sh (5.)查看集群状态: [hser@node1 hadoop]$ bin/hdfs dfsadmin –report (6.)在浏览器中查看hdfs运行状态,网址:http://node1:50070 (7.)停止Hadoop。输入命令: [hser@node1 hadoop]$ sbin/stop-all.sh 五:Hadoop相关的shell操作 (1.)在操作系统中/home/hser/file目录下创建file1.txt,file2.txt可使用图形界面创建。 file1.txt输入内容: Hello World hi HADOOP file2.txt输入内容 Hello World hi CHIAN (2.)启动hdfs后创建目录/input2 [hser@node1 hadoop]$ bin/hadoop fs –mkdir /input2 (3.)将file1.txt.file2.txt保存到hdfs中: [hser@node1 hadoop]$ bin/hadoop fs –put -/file/file*.txt /input2/ (4.)[hser@node1 hadoop]$ bin/hadoop fs –ls /input2

4. 在命令行窗口输入什么命令可以启动hadoop所有进程

执行start-all.sh

5. perl里怎么执行hadoop命令

$Hadoop=`which hadoop`;
#这里加上一句
print "$Hadoop fs -get .....\n";
`$Hadoop fs -get ......`;
看看打印出来的命令是不是你想要的,如果是你想要的,就手动执行一遍。
有问题继续追问。

6. hadoop常用shell命令怎么用

一、常用的hadoop命令
1、hadoop的fs命令
#查看hadoop所有的fs命令

1

hadoop fs

#上传文件(put与FromLocal都是上传命令)

1
2

hadoop fs -put jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk
hadoop fs -FromLocal jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk

#下载命令(get与ToLocal都是下载命令)

1
2

hadoop fs -get hdfs://hucc01:9000/jdk jdk1.7
hadoop fs -ToLocal hdfs://hucc01:9000/jdk jdk1.7

#将本地一个或者多个文件追加到hdfs文件中(appendToFile)

1

hadoop fs -appendToFile install.log /words

#查询hdfs的所有文件(ls)

1

hadoop fs -ls /

#帮助命令(help)

1

hadoop fs -help fs

#查看hdfs文件的内容(cat和text)

1
2

hadoop fs -cat /words
hadoop fs -text /words

#删除hdfs文件(rm)

1

hadoop fs -rm -r /words

#统计hdfs文件和文件夹的数量(count)

1

hadoop fs -count -r /

#合并hdfs某个文件夹的文件,并且下载到本地(getmerge)

1

hadoop fs -getmerge / merge

#将本地文件剪切到hdfs,相当于对本地文件上传后再删除(moveFormLocal)

1

hadoop fs -moveFromLocal words /

#查看当前文件系统的使用状态(df)

1

hadoop fs -df

二、常用的hdfs命令(这个用的比较多)
用法跟hadoop命令一样,推荐2.0之后使用hdfs命令

1

hdfs dfs

7. hadoop 常用命令、参数

注意:与mapred.min.split.size、mapred.max.split.size、block_size和minSplitSize几个值有关。

如果只设置mapred.min.split.size,计算方式可以简化为:

如果不进行任何设置,默认的map个数是和blcok_size相关的。 default_num = total_size / block_size

可以通过参数mapred.map.tasks来设置程序员期望的map个数,但是这个个数只有在大于default_num的时候,才会生效。 goal_num = mapred.map.tasks

可以通过mapred.min.split.size 设置每个task处理的文件大小,但是这个大小只有在大于block_size的时候才会生效。

通过公式 compute_map_num = min(split_num, max(default_num, goal_num)) 可以计算出 map 数。除了这些配置以外,maprece还要遵循一些原则。 maprece的每一个map处理的数据是不能跨越文件的,也就是说min_map_num >= input_file_num。 所以,最终的map个数应该为: final_map_num = max(compute_map_num, input_file_num)

实际上只设置 mapred.map.tasks 和 mapred.min.split.size 这两个参数,如果想增加map个数,则设置mapred.map.tasks 为一个较大的值,如果想减少 map 数,则设置mapred.min.split.size 为一个较大的值。

8. 把hadoop/bin添加到path下 以后随便什么地方都可以直接执行start-all,sh具体

设置临时环境变量(只在单个终端 内起作用)
1、首先设置HADOOPHOME环境变量,执行命令:export HADOOPHOME=/../hadoop/hadoop-2.5.2/bin (后面参数为Hadoop安装位置下的bin目录)---删除环境变量的命令为 unset HADOOPHOME
2、把HADOOPHOME添加到PATH变量中,执行命令:PATH=$PATH:$HADOOPHOME(当然可以省略第一步,直接把路径添加到PATH中也可以)至此可以在任何位置操作Hadoop的命令了
设置永久环境变量
通过修改 /etc/profile 文件来修改环境变量
修改位置如下:
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
pathmunge /home/hadoop/hadoop-2.5.2/bin
fi

其中 pathmunge /home/hadoop/hadoop-2.5.2/bin为要添加的,
然后执行命令:source /etc/profile 使其生效
执行命令:echo $PATH 查看就会多出/home/hadoop/hadoop-2.5.2/bin这个路径,就可以在任意地址下执行Hadoop的命令了

阅读全文

与hadoop执行命令相关的资料

热点内容
安卓系统怎么转入平板 浏览:421
安卓手机相机怎么提取文字 浏览:217
如何查看服务器映射的外网地址 浏览:975
图片刺绣算法 浏览:663
阿里云服务器没有实例 浏览:605
绵阳有没有什么app 浏览:848
怎么用游侠映射服务器 浏览:919
为什么无意下载的app无法删除 浏览:306
word2007打开pdf 浏览:117
php正则class 浏览:737
怎么在文件夹查找一堆文件 浏览:544
核酸报告用什么app 浏览:791
u8怎么ping通服务器地址 浏览:994
安卓什么手机支持背部轻敲调出健康码 浏览:870
程序员抽奖排行 浏览:745
扭蛋人生安卓如何下载 浏览:724
什么app文档资源多好 浏览:924
黑马程序员APP 浏览:148
掌阅小说是哪个app 浏览:47
如何把u盘的软件安装到安卓机 浏览:1000