gznz12345 发表于 2018-10-31 06:01:03

Hadoop系列之hdfs(分布式文件系统)安装配置

  Hadoop系列之hdfs(分布式文件系统)安装配置
  环境介绍:
  ip                        节点
  192.168.3.10      hdfs-master
  192.168.3.11      hdfs-slave1
  192.168.3.12      hdfs-slave2
  1.在所有机器添加hosts
  192.168.3.10      hdfs-master
  192.168.3.11      hdfs-slave1
  192.168.3.12      hdfs-slave2
  #说明
  //主机名不能带有下划线及一些特殊符号,不然将会有很多错误。
  2.配置ssh无密码登录机器
  在192.168.3.10操作如下:
  /usr/bin/ssh-keygen -t rsa
  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.3.10 #输入yes及输入192.168.3.10的root密码
  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.3.11 #输入yes及输入192.168.3.11的root密码
  ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.3.12 #输入yes及输入192.168.3.12的root密码
  ssh 192.168.3.10#测试进入192.168.3.10是否不需要输入密码进去,如果不需要则表示无密码登陆成功.
  ssh 192.168.3.11#测试进入192.168.3.11是否不需要输入密码进去,如果不需要则表示无密码登陆成功.
  ssh 192.168.3.12 #测试进入192.168.3.12是否不需要输入密码进去,如果不需要则表示无密码登陆成功.
  3.在所有机器安装jdk软件及配置jdk环境
  cd /root/soft
  rpm -ihv jdk-7u51-linux-x64.rpm
  3.1打开/etc/profile文件增加下面内容
  export JAVA_HOME=/usr/java/default

  export>  export PATH=$PATH:$JAVA_HOME/bin
  3.2刷新环境变量
  source /etc/profile
  java -version#查看是否安装成功
  4.在所有机器安装hadoop软件
  4.1hadoop安装
  mv /root/soft/hadoop-2.4.0.tar.gz /usr/local/
  cd /usr/local/
  tar zxvf hadoop-2.4.0.tar.gz
  mv hadoop-2.4.0 hadoop
  4.2打开/etc/profile文件增加下面内容环境变量
  export HADOOP_HOME=/usr/local/hadoop
  export HADOOP_COMMON_HOME=$HADOOP_HOME
  export HADOOP_HDFS_HOME=$HADOOP_HOME
  export HADOOP_MAPRED_HOME=$HADOOP_HOME
  export HADOOP_YARN_HOME=$HADOOP_HOME
  export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  export PATH=$PATH:$HADOOP_HOME/bin
  export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  4.3刷新环境变量
  source /etc/profile
  4.4配置文件目录创建
  mkdir -p /data/hadoop/{tmp,name,data,var}
  5.在192.168.3.10配置hadoop
  5.1配置hadoop-env.sh
  vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  修改export JAVA_HOME=${JAVA_HOME} 为export JAVA_HOME=/usr/java/default
  5.2配置slaves文件
  vim /usr/local/hadoop/etc/hadoop/slaves
  #添加下面内容
  hdfs-slave1
  hdfs-slave2
  5.3配置core-site.xml文件
  vim /usr/local/hadoop/etc/hadoop/core-site.xml
  #添加下面内容
     
      
  
                fs.default.name
  
                hdfs://hdfs-master:9000
  
      
  
      
  
                hadoop.tmp.dir
  
      /data/hadoop/tmp
  
      
  
   
  #说明
  //fs.default.name是NameNode的URI。hdfs://主机名:端口/
  //hadoop.tmp.dir:hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。
  //不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
  5.4配置hdfs-site.xml文件
  vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
  #添加下面内容
        
      
  
                dfs.name.dir
  
                /data/hadoop/name
  
               
  
      
  
      
  
                dfs.data.dir
  
                /data/hadoop/data
  
               
  
      
  
      
  
                dfs.replication
  
                2
  
      
  
      
  #说明
  //dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
  //dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错.(我这里只有2个datanode所以修改为2)
  5.5配置mapred-site.xml文件
  cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
  vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
  #添加下面内容
        
      
  
                mapred.job.tracker
  
                hdfs-master:9001
  
      
  
      
  
                mapred.local.dir
  
                /data/hadoop/var
  
      
  
      
  #说明
  //mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。其中/data/hadoop/var目录需要提前创建,并且注意用chown -R 命令来修改目录权限。
  5.6配置yarn-site.xml文件
  vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
  #添加下面内容
        
      
  
                yarn.nodemanager.aux-services
  
                mapreduce_shuffle
  
      
  
      
  5.7同步hadoop配置文件到hdfs-slave1和hdfs-slave2
  scp -r /usr/local/hadoop root@192.168.3.11:/usr/local/
  scp -r /usr/local/hadoop root@192.168.3.12:/usr/local/
  6.格式化分布式文件系统
  #在192.168.3.10格式化hadoop
  hdfs namenode-format
  7.启动Hadoop集群
  #在192.168.3.10启动hadoop
  /usr/local/hadoop/sbin/start-all.sh
  8.查看Master和slave进程状态
  #在192.168.3.10查看Java进程情况:
  # jps
  8030 NameNode
  8213 SecondaryNameNode
  8615 Jps
  8356 ResourceManager
  #在其它几台DataNode从节点上,查看Java进程情况:
  # jps
  2821 Jps
  2702 NodeManager
  2586 DataNode
  注:各节点上进程都在的话,说明集群部署成功。
  9.简单验证hdfs
  #在192.168.3.10测试hdfs分布式存储:
  //建立目录
  hdfs dfs -mkdir /test
  hdfs dfs -mkdir /test/01
  //査看目录
  # hdfs dfs -ls /
  drwxr-xr-x   - root supergroup          0 2014-09-12 16:49 /test
  //査看目录包括子目录
  # hdfs dfs -ls -R /
  drwxr-xr-x   - root supergroup          0 2014-09-12 17:01 /test
  drwxr-xr-x   - root supergroup          0 2014-09-12 17:01 /test/01
  //添加文件
  hdfs dfs -put /root/soft/aa.txt /test
  # hdfs dfs -ls -R /test
  drwxr-xr-x   - root supergroup          0 2014-09-12 17:01 /test/01
  -rw-r--r--   2 root supergroup          4 2014-09-12 17:07 /test/aa.txt
  //获取文件
  hdfs dfs -get /test/aa.txt /tmp/
  #ls /tmp/aa.txt
  /tmp/aa.txt
  //删除文件
  hdfs dfs -rm /test/aa.txt
  # hdfs dfs -ls -R /test
  drwxr-xr-x   - root supergroup          0 2014-09-12 17:01 /test/01
  //删除目录
  hdfs dfs -rm -r /test/01
  #hdfs dfs -ls -R /
  drwxr-xr-x   - root supergroup          0 2014-09-12 17:13 /test
  //修改文件所有者
  hdfs dfs -chown -R root /test
  //修改权限
  hdfs dfs -chmod -R 700 /test
  //通过网页查看整个集群的状态
  http://192.168.3.10:50070
  //通过命令查看整个集群的状态
  10.关闭hadoop集群
  #在192.168.3.10关闭hadoop
  /usr/local/hadoop/sbin/stop-all.sh

  注:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java>

页: [1]
查看完整版本: Hadoop系列之hdfs(分布式文件系统)安装配置