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/*