Hadoop环境搭载

官网安装教程:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0/hadoop-project-dist/hadoop-common/SingleCluster.html

环境

本教程使用 CentOS 7 64位 作为系统环境,请自行安装系统。
装好了 CentOS 系统之后,在安装 Hadoop 前还需要做一些必备工作。

创建hadoop用户

如果你安装 CentOS 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

su              # 上述提到的以 root 用户登录
useradd -m hadoop -s /bin/bash   # 创建新用户hadoop
passwd hadoop   # 修改密码,按提示输入两次密码 
visudo
# 找到 root ALL=(ALL) ALL 这行
# 然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL (当中的间隔为tab)

免密登录设置

sudo yum install ssh
sudo yum install openssh-clients
sudo yum install openssh-server

//免密登录
ssh-keygen -t rsa
//回车回车
ll -a   //生成了 .ssh文件夹,文件夹内有id_rsa 和 id_rsa.pub 两个文件

cp ~/.ssh/id_rsa.pub  ~/.ssh/authorized_keys

//测试是否成功
ssh localhost   // 无需密码则表示设置成功

关闭防火墙

Centos直接

sudo systemctl stop firewalld.service #停止firewall
sudo systemctl disable firewalld.service #禁止firewall开机启动
sudo firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

Centos7系统的防火墙放开50070端口

步骤:
1.sudo firewall-cmd --zone=public --add-port=50070/tcp --permanent 
2.重启防火墙  sudo firewall-cmd --reload

从本机拷贝文件至远程主机

jdk-9.0.1:
jdk-9.0.1_linux-x64_bin.tar.gz

hadoop-2.6.0-cdh5.7.0.tar.gz
hadoop-2.6.0-cdh5.7.0.tar.gz

远程主机(用户名hadoop):
  [hadoop@localhost ~]$ mkdir -p app/lib
  [hadoop@localhost ~]$ mkdir package

本机,将需要的文件远程拷贝到远程主机中
  scp jdk-9.0.1_linux-x64_bin.tar.gz hadoop@hadoop:/home/hadoop/package
  scp hadoop-2.6.0-cdh5.7.0.tar.gz hadoop@hadoop:/home/hadoop/package

安装Java环境

远程主机 /home/hadoop/package :
  tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz -C ~/app/lib
  tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/lib/

sudo vim /etc/profile 或者 vim ~/.bash_profile
尾部添加

export JAVA_HOME=/home/hadoop/app/lib/jdk-9.0.1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"

使配置文件生效
  . /etc/profile 或者 source /etc/profile
  . .~/.bash_profile 或者 source .~/.bash_profile

验证:
  echo $JAVA_HOME
    /home/hadoop/app/lib/jdk-9.0.1

  java -version

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

Hadoop配置文件的修改

如果是linux系统下则可以 rm -rf *.cmd,删除cmd文件
[hadoop@localhost hadoop-2.6.0-cdh5.7.0]$ find . -name '*.cmd' -type f -print -exec rm -rf {} \;

在hadoop_home/etc/hadoop路径下
  $ vim hadoop-env.sh
找到export JAVA_HOME=${JAVA_HOME},并且注释掉这一行,添加下面的一行(jdk的根目录)
  export JAVA_HOME=/home/hadoop/app/lib/jdk-9.0.1

sudo vim /etc/profile 或者 vim ~/.bash_profile
尾部添加

export HADOOP_HOME=/home/hadoop/app/lib/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP/bin:$PATH
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

使配置文件生效
  . /etc/profile 或者 source /etc/profile
  . .~/.bash_profile 或者 source .~/.bash_profile

etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/tmp</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

启动hdfs

  1. 格式化文件系统(仅第一次执行即可,不要重复执行):
    ./bin/hdfs namenode -format

  2. ./sbin/start-dfs.sh

    可能会出现需要yes, 输入密码

  3. 验证是否成功
      启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
    $ jps
    1425 NameNode
    1702 SecondaryNameNode
    1546 DataNode
    1855 Jps

浏览器方式验证 http://localhost:50070/ (如果是远程主机则将localhost换成远程主机IP)

  1. 停止
    $ sbin/stop-dfs.sh

发表评论

电子邮件地址不会被公开。 必填项已用*标注