cdh-hadoop2.6.0伪分布式环境搭建
标签(空格分隔): hadoop基础之环境搭建
1.windows环境准备
1.下载软件Vmware Station
http://www.vmware.com/cn(不限版本,最好10或以上)
2.下载CentOS
https://www.centos.org/download/(64位即可,最好6.5版本)
3.安装
打开vmware WorkStaion,文件,新建虚拟机,指定好本地下载下来CentOS的iso镜像文件,--->next
2.linux环境准备
1.相关安装包下载
hadoop安装包:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.5.0.tar.gz
jdk安装包:http://www.oracle.com/technetwork/java/javase/downloads/index.html (1.7以上版本,64位)
2.在linux系统创建几个目录: (可以自定义)
mkdir /opt/soft;
mkdir /opt/modules;
mkdir /opt/tools;
mkdir /opt/datas;
3.修改ip,主机名,配置映射
**修改ip**:vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" #网卡名称
BOOTPROTO="static" #配置静态化ip
HWADDR="00:0C:29:0C:8B:98" # mac地址 这个不用改(和 /etc/udev/rules.d/70-persistent-net.rules对应)
IPV6INIT="no" #防火墙关闭
IPADDR=################ #ip地址
NETMASK=############# #子网掩码
GATEWAY=############# #网关
NM_CONTROLLED="yes" #修改ip后无需重启就生效
ONBOOT="yes" #开机自动启动
TYPE="Ethernet" #以太网,此参数一般不用改动
UUID="#############" #自带的,唯一识别码
DNS1=8.8.8.8 #用于联网
DNS2=8.8.4.4 #用于联网
重启网卡:service network restart
查看ip:ifconfig
修改主机名:vi /etc/sysconfig/network(重启后生效init 6 或者reboot)
HOSTNAME=localhost #此值自定义
查看主机名:hostname
配置映射:vi /etc/hosts
[root@org01 ~]# cat /etc/hosts
127.0.0.1 localhost
ip 主机名 域名 #域名可不写linux中一个ip对应多个主机名(描述不官方理解就好)
4.用FileZilla等ftp工具将软件包上传到/opt/soft目录,解压:
tar -zxvf hadoop-2.6.0-cdh5.5.0.tar.gz -C ../modules
tar -zxvf jdk-7u67-linux-x64.tar.gz -C ../modules (必须是7以上版本)
5.关闭防火墙
vi /etc/selinux/config SELINUX=disabled
service iptables status --查看防火墙状态
service iptables stop --关闭防火墙
service ip6tables stop --关闭防火墙
chkconfig ip6tables off --设置防火墙开机自关闭
chkconfig iptables off --设置防火墙开机自关闭
chkconfig iptables --list --查看防火墙服务状态列表
chkconfig ip6tables --list --查看防火墙服务状态列表
#iptables 和 ip6tables一样,都是linux防火墙软件,不同的是ip6tables采用的TCP/ip协议为IP6.
3.配置环境变量并验证
vi /etc/profile --修改全局变量必须是root用户(~/.bashrc or ~/.bash_profile)
export JAVA_HOME=/opt/modules/java
export HADOOP_HOME=/opt/modules/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile --当前session中执行后生效
验证:java -version
若是显示非1.7版本,卸载当前版本:使用rpm -qa | grep java
rpm -e --nodeps xxxxx(上个命令显示结果)
4.设置hadoop属性信息格式化namenode启动集群以及基准测试
4.1.设置hadoop属性信息
1)vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
<!--指定java安装路径-->
export JAVA_HOME=/opt/install/jdk1.7.0_79
2)vi HADOOP_HOME/etc/hadoop/yarn-env.sh
指定java安装路径
export JAVA_HOME=/opt/install/jdk1.7.0_79
3)viHADOOP_HOME/etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
localhost
mapreduce.jobhistory.webapp.address
localhost
4)vi HADOOP_HOME/etc/hadoop/hdfs-site.xml
hdfs保存的文件复本数
dfs.replication
1
hdfs中namenode在linux下的存储路径
dfs.name.dir
/usr/local/data/namenode
hdfs中datanode在linux下的存储路径
dfs.data.dir
/usr/local/data/datanode
hdfs中namenode和danode存储路径,若是设置此参数上面两个参数就不用设置
dfs.tmp.dir
/usr/local/data/tmp
此参数设置为true可以在页面中使用展现目录和文件的功能
dfs.webhdfs.enabled
true
辅助namenode的访问地址
dfs.namenode.secondary.http-address
localhost
是否进行权限检查
dfs.permissions.enabled
false
5)viHADOOP_HOME/etc/hadoop/core-site.xml
fs.trash.interval
0
fs.defaultFS
hdfs://localhost:8020
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/opt/app/hadoop-2.5.0/data/tmp
hadoop.http.staticuser.user
hadoop
6)vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
localhost
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800
4.2.格式化namenode
hadoop namenode -format
4.3.启动hadoop并查看进程状态
<!--启动hdfs,也可以用这个start-dfs.sh-->
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
<!--启动yarn,也可以用这个start-yarn.sh-->
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
使用jps查看linux上运行的守护进程:
[root@org01 ~]# jps
6301 NameNode
16933 Jps
3132 ResourceManager
3224 NodeManager
6411 DataNode
4.4.hadoop环境基准测试
1)文件上传下载
hdfs dfs -mkdir /tmp
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /tmp
hdfs dfs -ls /tmp
hdfs dfs -ls /tmp/* /root
2)mapreduce自带功能案例测试
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar hdfs://localhost:8020/tmp wordcount hdfs://localhost:8020/outwords
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output ‘dfs[a-z.]+’
cat output/*