Centos安装hadoop

1.省略centos安装过程。。iso镜像地址从阿里云镜像上下载,ip地址的网段看innet8的网段。

2.设置IP地址、网关DNS

说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的!

cd  /etc/sysconfig/network-scripts/

vi  ifcfg-eno33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=67bcdbfc-c363-4be9-9c47-0f548e5277c9
DEVICE=ens33
ONBOOT=yes
GATEWAY=192.168.138.2
IPADDR=192.168.138.10
NETMASK=255.255.255.0
DNS1=114.114.114.114

3.

4.建立ssh

rpm -qa | grep ssh 先看看有没有安装,如果没有1.sudo yum install openssh-clientssudo 2.yum install openssh-server

测试一下 SSH 是否可用:ssh localhost

但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

首先输入 exit 退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

 
  1. exit # 退出刚才的 ssh localhost
  2. cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
  3. ssh-keygen -t rsa # 会有提示,都按回车就可以
  4. cat id_rsa.pub >> authorized_keys # 加入授权
  5. chmod 600 ./authorized_keys # 修改文件权限
 

5.安装Java环境

Java 环境可选择 Oracle 的 JDK,或是 OpenJDK,现在一般 Linux 系统默认安装的基本是 OpenJDK,如 CentOS 6.4 就默认安装了 OpenJDK 1.7。按 http://wiki.apache.org/hadoop/HadoopJavaVersions 中说的,Hadoop 在 OpenJDK 1.7 下运行是没问题的。需要注意的是,CentOS 6.4 中默认安装的只是 Java JRE,而不是 JDK,为了开发方便,我们还是需要通过 yum 进行安装 JDK,安装过程中会让输入 [y/N],输入 y 即可:

 
  1. sudo yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel

Shell 命令

通过上述命令安装 OpenJDK,默认安装位置为 /usr/lib/jvm/java-1.7.0-openjdk(该路径可以通过执行 rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac' 命令确定,执行后会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了)。OpenJDK 安装后就可以直接使用 java、javac 等命令了。

接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读: 设置Linux环境变量的方法和区别):

 
  1. vim ~/.bashrc

Shell 命令

在文件最后面添加如下单独一行(指向 JDK 的安装位置),并保存:

 
  1. export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk

Shell

如下图所示:

设置JAVA_HOME环境变量设置JAVA_HOME环境变量

接着还需要让该环境变量生效,执行如下代码:

 
  1. source ~/.bashrc # 使变量设置生效

Shell 命令

设置好后我们来检验一下是否设置正确:

 
  1. echo $JAVA_HOME # 检验变量值
  2. java -version
  3. $JAVA_HOME/bin/java -version # 与直接执行 java -version 一样

6.Hadoop伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。

在设置 Hadoop 伪分布式配置前,我们还需要设置 HADOOP 环境变量,执行如下命令在 ~/.bashrc 中设置:

 
  1. vi ~/.bashrc

Shell 命令

# Hadoop Environment Variables

  1. export HADOOP_HOME=/usr/local/hadoop
  2. export HADOOP_INSTALL=$HADOOP_HOME
  3. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  4. export HADOOP_COMMON_HOME=$HADOOP_HOME
  5. export HADOOP_HDFS_HOME=$HADOOP_HOME
  6. export YARN_HOME=$HADOOP_HOME
  7. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  8. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Shell

保存后,不要忘记执行如下命令使配置生效:

 
  1. source ~/.bashrc

Shell 命令

这些变量在启动 Hadoop 进程时需要用到,不设置的话可能会报错(这些变量也可以通过修改 ./etc/hadoop/hadoop-env.sh 实现)。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xmlhdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的

 
  1. <configuration>
  2. </configuration>

XML

修改为下面配置:

 
  1. <configuration>
  2. <property>
  3. <name>hadoop.tmp.dir</name>
  4. <value>file:/usr/local/hadoop/tmp</value>
  5. <description>Abase for other temporary directories.</description>
  6. </property>
  7. <property>
  8. <name>fs.defaultFS</name>
  9. <value>hdfs://localhost:9000</value>
  10. </property>
  11. </configuration>

XML

同样的,修改配置文件 hdfs-site.xml

 
  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  13. </property>
  14. </configuration>

XML

配置完成后,执行 NameNode 的格式化:

 
  1. ./bin/hdfs namenode -format

Shell 命令

成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

执行NameNode格式化执行NameNode格式化

接着开启 NaneNodeDataNode 守护进程:

 
  1. ./sbin/start-dfs.sh

Shell 命令

若出现如下 SSH 的提示 “Are you sure you want to continue connecting”,输入 yes 即可。

首次启动Hadoop时的SSH提示首次启动Hadoop时的SSH提示

启动时可能会有 WARN 提示 “WARN util.NativeCodeLoader…” 如前面提到的,这个提示不会影响正常使用。

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

通过jps查看启动的Hadoop进程

7.访问:

ip地址是虚拟机地址

猜你喜欢

转载自blog.csdn.net/qq_39141360/article/details/83341007