Hadoop安装简要过程及配置文件1、机器准备①、Linux版操作系统centos 6.x②、修改主机名,方便配置过程中记忆。
修改文件为:/etc/sysconfig/network 修改其中的HOSTNAME即可③、配置局域网内,主机名与对应ip,并且其中集群中所有的机器的文件相同,修改文件为 /etc/hosts格式为:10.1.20.241 namenode10.1.20.242 datanode110.1.20.243 datanode22、环境准备①、配置ssh免密码登陆,将集群中master节点生成ssh密码文件。
具体方法:1)、ssh-keygen -t rsa 一直回车即可,将会生成一份 ~/.ssh/ 文件夹,其中id_rsa为私钥文件 id_rsa.pub公钥文件。
2)、将公钥文件追加到authorized_keys中然后再上传到其他slave节点上追加文件: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys上传文件: scp ~/.ssh/authorized_keys root@dananode:~/.ssh/3)、测试是否可以免密码登陆:ssh 主机名或局域网ip②、配置JDK③、创建hadoop用户groupadd hadoopuseradd hadoop -g hadoop4)、同步时间ntpdate 5)、关闭防火墙service iptables stop3、安装cdh5进入目录/data/tools/ (个人习惯的软件存储目录,你可以自己随便选择);wget "/cdh5/one-click-install/redhat/ 6/x86_64/cloudera-cdh-5-0.x86_64.rpm"yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm添加cloudera仓库验证:rpm--import/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera4、安装hdfs与mapreduce①、安装hdfs:1)、节点分配由于只有1台 namenode节点,它负责监管所有的datanode节点,即可为master节点,其余的均为datanode节点,则主机规划为:Master安装 namenode其余的slave安装 datanode2)、节点安装Master安装:sudo yum clean all; sudo yum install hadoop-hdfs-namenode Slave安装:sudo yum clean all; sudo yum install hadoop-hdfs-datanode②、MRv2安装1)、节点分配由于在MRv2中运用了yarn对节点的管理则在mapreduce的分配中需要一个 resourcemanager节点对所有节点进行管理,以及运用nodemanager 对每一个datanode进行管理,由于只有一个resourcemanager节点,可以考虑将其放在master节点上(可以任意选择,即可以放在datanode上) Master安装:resourcemanager、mapreduce、historyserverSlave安装:nodemanager、mapruduce2)、节点安装Master节点:Sudo yum clean all; sudo yum installhadoop-yarn-resourcemanagerSudo yum clean all; sudo yum install hadoop-mapreduceSudo yum clean all; sudo yum isntall hadoop-mapreduce-historyserver Slave节点:Sudo yum clean all; sudo yum install hadoop-yarn-nodemanagerSudo yum clean all; sudo yum install hadoop-mapreduce③、hadoop客户端安装即该节点可以用shell脚本与hdfs进行交互以及job提交Sudo yum clean all; sudo yum install hadoop-client④、MRv1安装1)、节点分配由于在MRv1中是运用Tracker对资源进行管理,所以在集群中需要有一个JobTracker对所有资源进行管理,其余的节点都为TaskTracker对单几点进行管理。
Master安装:jobTrackerSlave 安装:taskTracker2)、节点安装Master节点:sudo yum clean all; sudo yum installhadoop-0.20-mapreduce-jobtrackerSlave 节点:Sudo yum clean all; sudo yum installhadoop-0.20-mapreduce-tasktracker5、配置文件的修改:①、hdfs文件配置core-site.xml文件<property><name>fs.defaultFS</name><value>hdfs://master节点主机名或ip:8020</value></property>hdfs-site.xml文件<configuration><property><name>.dir</name><value>/var/lib/hadoop-hdfs/cache/hdfs/dfs/name</value>//namnode储存名字空间及汇报日志的位置,其中所属用户及用户组为:hdfs:hdfs,读写执行权限为:drwx------</property><property><name>dfs.datanode.data.dir</name><value>/data/cache1/dfs/dn/</value>//datanode储存数据块的位置,其中权限跟上面的namenode相同</property><property><name>dfs.replication</name><value>2</value> // 表示文件储存备份数</property></configuration>②、MRv2 yarn文件配置yarn-site.xml文件(红色ip为安装resourcemanager的ip)<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><description>List of directories to store localized filesin.</description><name>yarn.nodemanager.local-dirs</name><value>/var/lib/hadoop-yarn/cache/${}/nm-local-dir</value></property><property><name>yarn.resourcemanager.address</name><value>10.1.20.241:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>10.1.20.241:8030</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>10.1.20.241:8088</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>10.1.20.241:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>10.1.20.241:8033</value></property><property><description>Where to store container logs.</description><name>yarn.nodemanager.log-dirs</name><value>/var/log/hadoop-yarn/containers</value></property><property><description>Where to aggregate logs to.</description><name>yarn.nodemanager.remote-app-log-dir</name><value>hdfs://master主机名或ip/var/log/hadoop-yarn/apps</value> //这里是存放路径,不是本地路径,如果是本地路径,nodemanager将会无限死掉</property><property><description>Classpath for typical applications.</description><name>yarn.application.classpath</name><value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/*</value></property></configuration>③、MRv1文件配置mapred.xml文件<!--property><name></name><value>yarn</value>//Mapreduce MRV1与MRV2版本,如果是yarn则选择</property--><property><name>mapred.job.tracker</name><value>hdfs://jobtracker主机名或ip:8020</value></property><property><name>mapred.local.dir</name><value>/data/1/mapred/local</value>//Tasktracker运行mapreduce时临时储存位置和中间输出目录,文件所有者及用户组权限:mapred:hadoop,读写执行权限为drwxr-xr-x</property>6、安装过程中出现的问题:1)、由于本地目录权限问题,导致nodemanager无法正常启动2)、先配置MRV2后再配置MRV1时,注意环境变量需要改成MRV1(即需要执行 export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce或者在/etc/hadoop/conf/下新建hadoop-env.sh文件添加exportHADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce)。