centos7 安装 hadoop 2.7 - 准备工作
三台机器 (内存大于 2G) 分别写 hosts, 设定 hostname
- 172.7.15.113 master
- 172.7.15.114 slave1
- 172.7.15.115 slave2
关闭 selinux
关闭 firewalld
- systemctl disable firewalld
- systemctl stop firewalld
- yum install -y iptables-services
- systemctl enable iptables
- systemctl start iptables
- service iptables save
centos7 安装 hadoop 2.7 - 密钥登陆
master 可以通过密钥登陆本机和两台 slave
master 上生成密钥对:
SSH-keygen 一直回车
复制~/.SSH/id_rsa.pub 内容到本机和两台 slave 的 ~/.SSH/authorized_keys
设置本机和两台 slave 机器上的~/.SSH/authorized_keys 文件权限为 600
chmod 600 ~/.SSH/authorized_keys
在 master 上
- SSH master
- SSH slave1
- SSH slave2
可以直接登陆
2.1 安装 hadoop - 安装 jdk
hadoop2.7 需要安装 jdk1.7 版本
下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
解压压缩包 tar zxf jdk1.7.0_79.tar.gz
mv jdk1.7.0_79 /usr/local/
编写环境变量配置 VIM /etc/profile.d/java.sh 写入
- export JAVA_HOME=/usr/local/jdk1.7.0_79
- export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$PATH:$JAVA_HOME/bin
- source /etc/profile.d/java.sh
java -version 查看是否生效
slave1 和 slave2 重复上面的操作
以下操作在 master 上执行
下载地址 http://hadoop.apache.org/releases.html 镜像站 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/
下载 2.7.1 binary 版本 wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
其他下载源参考
解压 tar zxf hadoop-2.7.1.tar.gz
- mv hadoop-2.7.1 /usr/local/hadoop
- cd /usr/local/hadoop
- mkdir tmp dfs dfs/data dfs/name
把 / usr/local/hadoop 目录分别拷贝至两个 slave 上 (slave1,slave2 上都需要安装 rsync)
- rsync -av /usr/local/hadoop slave1:/usr/local/
- rsync -av /usr/local/hadoop slave2:/usr/local/
2.3 安装 hadoop - 配置 hadoop
master 上
- VIM /usr/local/hadoop/etc/hadoop/core-site.xml
- fs.defaultFS</name>
- hdfs://172.7.15.113:9000
- </property>
- hadoop.tmp.dir</name>
- file:/usr/local/hadoop/tmp</value>
- </property>
- io.file.buffer.size</name>
- 131702</value>
- </property>
- </configuration>
master 上
- VIM /usr/local/hadoop/etc/hadoop/hdfs-site.xml
- dfs.namenode.name.dir</name>
- file:/usr/local/hadoop/dfs/name</value>
- </property>
- dfs.datanode.data.dir</name>
- file:/usr/local/hadoop/dfs/data</value>
- </property>
- dfs.replication</name>
- 2</value>
- </property>
- dfs.namenode.secondary.http-address</name>
- 172.7.15.113:9001</value>
- </property>
- dfs.webhdfs.enabled</name>
- true</value>
- </property>
- </configuration>
master 上
- VIM /usr/local/hadoop/etc/hadoop/mapred-site.xml
- mapreduce.framework.name</name>
- yarn</value>
- </property>
- mapreduce.jobhistory.address</name>
- 172.7.15.113:10020</value>
- </property>
- mapreduce.jobhistory.webapp.address</name>
- 172.7.15.113:19888</value>
- </property>
- </configuration>
master 上
- VIM /usr/local/hadoop/etc/hadoop/yarn-site.xml
- yarn.nodemanager.aux-services</name>
- mapreduce_shuffle</value>
- </property>
- yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
- org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- yarn.resourcemanager.address</name>
- 172.7.15.113:8032</value>
- </property>
- yarn.resourcemanager.scheduler.address</name>
- 172.7.15.113:8030</value>
- </property>
- yarn.resourcemanager.resource-tracker.address</name>
- 172.7.15.113:8031</value>
- </property>
- yarn.resourcemanager.admin.address</name>
- 172.7.15.113:8033</value>
- </property>
- yarn.resourcemanager.webapp.address</name>
- 172.7.15.113:8088</value>
- </property>
- yarn.nodemanager.resource.memory-mb</name>
- 768</value>
- </property>
- </configuration>
以下在 master 上操作
- cd /usr/local/hadoop/etc/hadoop
- vi hadoop-env.sh // 更改 JAVA_HOME
- export JAVA_HOME=/usr/local/jdk1.7.0_79
- vi yarn-env.sh // 更改 JAVA_HOME
- export JAVA_HOME=/usr/local/jdk1.7.0_79
- vi slaves // 改为如下
- 172.7.15.114
- 172.7.15.115
将 master 上的 etc 目录同步至两个 slave
- rsync -av /usr/local/hadoop/etc/ slave1:/usr/local/hadoop/etc/
- rsync -av /usr/local/hadoop/etc/ slave2:/usr/local/hadoop/etc/
centos7 安装 hadoop 2.7 - 启动 hadoop
在 master 上操作即可, 两个 slave 会自动启动
初始化
/usr/local/hadoop/bin/hdfs namenode -format
启动服务
/usr/local/hadoop/sbin/start-all.sh
停止服务
/usr/local/hadoop/sbin/stop-all.sh
访问
浏览器打开 http://172.7.15.113:8088/
浏览器打开 http://172.7.15.113:50070/
centos7 安装 hadoop 2.7 - 测试 hadoop
以下操作在 master 上实现
cd /usr/local/hadoop
建立测试目录 bin/hdfs dfs -mkdir /123
如果提示 copyFromLocal: Cannot create directory /123/. Name node is in safe mode.
这是因为开启了安全模式, 解决办法
bin/hdfs dfsadmin -safemode leave
将当前目录下的 LICENSE.txt 复制到 hadopp 中
bin/hdfs dfs -copyFromLocal ./LICENSE.txt /123
查看 / 123 / 下有哪些文件 bin/hdfs dfs -ls /123
用 wordcount 分析 LICENSE.txt bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /123/LICENSE.txt /output/123
bin/hdfs dfs -ls /output/123 查看分析后的文件
bin/hdfs dfs -cat /output/123/part-r-00000 查看分析结果
来源: http://www.bubuko.com/infodetail-3063338.html