hadoop(1)

0. hadoop的配置文件官方路径:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
1. 前期准备
a.准备4台linux机器,并做好基础配置:
b. IP地址;
c. hostname(一律小写+数字);
d. 域名映射/etc/hosts;
e. jdk;
f. 关闭防火墙;
g. ssh工具;
2. 上传jar包:put   -r     C:/scattlework/common_resources/hadoop-2.8.3.tar.gz
3. 解压缩
tar -zxvf hadoop-2.8.3.tar.gz 

4. 修改配置文件
1. vi hadoop-2.8.3/etc/hadoop/hadoop-env.sh :指定java——home
2. vi hadoop-2.8.3/etc/hadoop/hdfs-site.xml
具体配置
<property>
<name>dfs.namenode.rpc-address</name>
<value>hdp01:9000</value>
</property>




<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hdpdata/name</value>
</property>




<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hdpdata/data</value>
</property>
<!--secondaryNamenode的配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hdp03::50090</value>
</property>

3. 添加hadoop的环境变量;
1. vi /etc/profile
export JAVA_HOME=/root/jdk1.8.0_141
export HADOOP_HOME=/root/hadoop-2.8.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
2. source /etc/profile
3. hadoop version
5. 启动hdfs
1. hdfs第一次启动之前,需要初始化一些数据:hadoop namenode -format
6. 正式手动启动hdfs
1. 启动namenode : sbin/hadoop-daemon.sh start namenode
2. 查看namenode的进程:jps
ps -ef | grep java
netstat -nltp | grep java
3. http://192.168.149.111:50070/dfshealth.html#tab-datanode
4. C:\Windows\System32\drivers\etc配置本机windows的hosts,不需要写ip了
5. 启动datanode节点
sbin/hadoop-daemon.sh start datanode
7. 自动启动hdfs
1. vi  /root/hadoop-2.8.3/etc/hadoop/slaves
添加:datanode的主机名
2. 自动自动的方式:sbin/start-dfs.sh 
自动关闭的方式:sbin/stop-dfs.sh 
8. secondaryNamenode的启动
1. 手动:sbin/hadoop-daemon.sh start secondarynamenode
2. 自动:添加配置文件在 :hdfs-site.xml中

9. 自动排错的方式:谁没起来,就在当前的节点上找错误日志:
路径:/root/hadoop-2.8.3/logs/  *.log  


10. hadoop的客户端:
1. hadoop fs   
2. 上传到hdfs上的命令:  hadoop fs -put  本地的文件在哪    目标路径
2.1 如果我们不更改一些相关的配置文件:
客户端在上传数据的时候:默认就是本机的文件系统:
hadoop fs -put hdfs_my_start.sh  /
2.2 如果不想上传到本机文件系统中,需要指定hdfs的uri路径,然后才能上传到hdfs文件系统中
hadoop fs -put hdfs_my_start.sh  hdfs://hdp01:9000/

3. URI的概念
jdbc:mysql://localhost:3306/数据库的名字
http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/core-default.xml
file:///aaa/bbb/ccc
hdfs://hdp01:9000/
4.  2的步骤是不是很累,所以我们更改默认的文件系统:为我们的hdfs文件系统
4.1 修改客户端的配置文件:core-site.xml

具体配置:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp01:9000/</value>
</property>

4.2 再上传时就是默认地址:hdfs的文件系统了

5.  文件分块和副本的默认配置文件:
5.1 /root/hadoop-2.8.3/etc/hadoop/hdfs-site.xml

<property>
<name>dfs.blocksize</name>
<value>64m</value>
</property>

<property>
<name>dfs.replication</name>
<value>3</value>
</property>

6. DataNode节点上具体存放数据的目录
cd /root/hdpdata/data/current/BP-1539005941-192.168.149.111-1527333601892/current/finalized/subdir0/subdir0

11. hdfs的常用客户端操作命令
1. 文件上传:
hadoop fs -put hdfs_my_start.sh  /

hdfs dfs -copyFromLocal hdfs_my_start.sh  /
2. 文件的查看:
hadoop fs -ls /
hadoop fs -ls -R /
3. 目录的创建:
hdfs dfs -mkdir /aaa
hdfs dfs -mkdir -p /aaa/bbb/ccc
4. 文件的下载操作:
hdfs dfs -get 目标服务器路径   本地路径
hdfs dfs -get /hdfs_my_start_2.sh /root/

hdfs dfs -copyToLocal /hdfs_my_start.sh  本地路径
5.文件的删除操作:
hdfs dfs -rm -r /
如果你在公司不想干了:hdfs dfs -rm -r hdfs://hdp01:9000/*
6. 文件的移动和重命名
hdfs dfs -mv /hdfs_my_start.sh /aaa.sh
hdfs dfs -mv   /aaa/bbb/aaa.sh    /aaa/ccc
7. 文件的复制
hdfs dfs -cp /aaa/ccc /aaa/ddd.sh
8. 查看文件的tail
hdfs dfs -tail  /
hdfs dfs -tail  -f  /aaa/ddd.sh
配合 : hdfs dfs -appendToFile haoqiang.txt   /aaa/ddd.sh

8.运维方面相关的命令:
查看集群的状态: hdfs  dfsadmin  -report

猜你喜欢

转载自blog.csdn.net/a331685690/article/details/80552756
今日推荐