Hadoop学习笔记一:伪分布式搭建(Hadoop1.x)

2019-11-25  本文已影响0人  开发者连小超

本文记录学习过程,安装伪分布式的Hadoop,搭建过程可参照官方文档:https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

服务器准备

使用VM快照克隆功能,克隆出一台网络已设置、防火墙关闭、SELINUX关闭、网卡和MAC的映射取消的机器。

克隆出的机器主机名配置为node00,配置IP 192.168.197.30、并配置主机名IP的映射关系。

注:以上操作可参照【Linux学习笔记三:VM下配置模板机和克隆】https://www.jianshu.com/p/0310c24bda69

准备安装包:
jdk-7u67-linux-x64.rpm
hadoop-2.6.5.tar.gz

一、JDK安装

1.上传JDK的rpm安装包,执行

rpm -i jdk-7u67-linux-x64.rpm

2.配置环境变量

#查看java默认安装目录
whereis java

#拷贝jdk安装目录
cd /usr/java/jdk1.7.0_67/
pwd

#编辑profile文件
vi + /etc/profile
#追加
export JAVA_HOME=/usr/java/jdk1.7.0_67 
PATH=$PATH:$JAVA_HOME/bin

#执行生效
. /etc/profile
#检查,出进程号说明配好
jps

二、免秘钥登录

#家目录
cd 
#显示所有文件
ll -a 
cd .ssh/

#生成id_dsa和id_dsa.pub
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
#id_dsa.pub 内容追加到 authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

#试一下是否免密登录了
ssh node00
#成功,退出
exit

没有成功,查看日志

cat /var/log/secure
提示:
  Authentication refused: bad ownership or modes for directory /root /.ssh
解决方法:
  用户目录权限为 755 或者 700,就是不能是77x。
  .ssh目录权限一般为755或者700。
  rsa_id.pub 及authorized_keys权限一般为644
  rsa_id权限必须为600

注意:谁做管理节点谁生成公钥文件(id_dsa.pub)用于分发给其他非管理节点,登录时比对。

三、安装Hadoop

1.解压

mkdir /opt/sxt
tar xf hadoop-2.6.5.tar.gz -C /opt/sxt/

2.修改环境变量(让所有目录下都可执行hadoop命令)

vi + /etc/profile

#修改环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

. /etc/profile

3.修改配置文件

(1)配置文件位置

cd ./etc/
返回 drwxr-xr-x 2 root root 4096 May 24  2017 hadoop

#注:hadoop集群启动时,只会读取hadoop目录
cd hadoop/

(2)二次配置JAVA_HOME

vi hadoop-env.sh
vi mapred-env.sh
vi yarn-env.sh

注:三个配置文件都修改,一劳永逸
export JAVA_HOME=/usr/java/jdk1.7.0_67

(3)配置NameNode主节点和副本数

vi core-site.xml

<configuration>
    #配置主节点
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node00:9000</value>
    </property>
</configuration>
vi hdfs-site.xml

<configuration>
    #配置副本数
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

(4)配置DataNode从节点和SecondaryNameNode

#配置从节点
vi slaves 

localhost 改为 node00
#配置 SecondaryNameNode
vi hdfs-site.xml

#<configuration>里追加
<property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>node00:50090</value>
</property>

(5)修改默认文件存放路径

vi core-site.xml

#<configuration>里追加
<property>
     <name>hadoop.tmp.dir</name>
     <value>/var/sxt/hadoop/pseudo</value>
</property>

4.格式化HDFS

格式化完成后NameNode数据信息就生成在 /var/sxt/hadoop/pseudo

hdfs namenode -format
#查看生成的fsimage信息
cd /var/sxt/hadoop/pseudo/dfs/name/current/

注意:只能格式化一次,再次启动集群不要执行

5.启动集群

启动集群后 DataNode和SecondaryNameNode数据信息才会产生

#启动集群
start-dfs.sh
#查看生成信息
cd /var/sxt/hadoop/pseudo/dfs/data/current/
cd /var/sxt/hadoop/pseudo/dfs/namesecondary/current/

启动时候,三个角色以不同进程启动,提示如下:

node00: starting namenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-namenode-node00.out
node00: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node00.out
Starting secondary namenodes [node00]
node00: starting secondarynamenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-node00.out

角色进程查看

jps

1508 SecondaryNameNode
1355 DataNode
1618 Jps
1277 NameNode

DataNode数据存放位置

cd /var/sxt/hadoop/pseudo/dfs/data/current/BP-1507450169-192.168.197.30-1574759146966/current/finalized

6.浏览器查看

ss -nal

浏览器访问 http://node00:50070 (window里hosts文件要映射到192.168.197.30)

7.上传文件

#命令查看
hdfs dfs

#创建目录
hdfs dfs  -mkdir -p  /user/root
#查看目录
hdfs dfs -ls   /

#上传文件
cd ~/software/
ls -lh ./
hdfs dfs -put  hadoop-2.6.5.tar.gz   /user/root     

此时可到浏览器 Browse the file system 去查看文件

文件被切割成两个块,第一个128M,第二个48M


图片.png

两个文件块位置

/var/sxt/hadoop/pseudo/dfs/data/current/BP-1507450169-192.168.197.30-1574759146966/current/finalized/subdir0/subdir0

8.日志查看和停止集群

日志查看

cd /opt/sxt/hadoop-2.6.5/logs
#out是临时文件 log是最终文件
-rw-r--r-- 1 root root 27445 Nov 26 17:36 hadoop-root-datanode-node00.log
-rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-datanode-node00.out
-rw-r--r-- 1 root root 29081 Nov 26 17:41 hadoop-root-namenode-node00.log
-rw-r--r-- 1 root root  4908 Nov 26 17:27 hadoop-root-namenode-node00.out
-rw-r--r-- 1 root root 19750 Nov 26 17:13 hadoop-root-secondarynamenode-node00.log
-rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-secondarynamenode-node00.out
-rw-r--r-- 1 root root     0 Nov 26 17:13 SecurityAuth-root.audit

#查看日志
tail -100 hadoop-root-datanode-node00.log

停止集群

stop-dfs.sh 
上一篇下一篇

猜你喜欢

热点阅读