首先这里推荐一本《hadoop_real-world_solutions_cookbook》,如果有需要可以下载,像我这样的菜鸟估计只有这样手把手教学才行咯。
说道hadoop,首当其冲的自然是配置,这个在网上和几乎没一本书上都有介绍,我这里就简单介绍将我的配置过程中遇到的问题记录一下:
首先下载hadoop,目前来说最新的是hadoop2.*,我这里下的是2.2.0,要说和之前有区别,那应该就算是2.*多了yarn吧,这里不介绍了,ok解压
tar -zxvf hadoopName.tar.gz
配置环境,
vim /etc/profile
#set java environment export JAVA_HOME=/home/crazyj/Programs/jdk1.7.0_45 export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #:$JAVA_HOME/lib/mysql-connector-java-3.2.0.jar:$JAVA_HOME/lib/classes12.jar export PATH=$PATH:$JAVA_HOME/bin export JRE_HOME=$JAVA_HOME/jre export HADOOP_HOME=/home/crazyj/Programs/hadoop-2.2.0 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$HADOOP_HOME/bin:$PATH export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH export PIG_HOME=/home/crazyj/Programs/pig-0.12.0 export PATH=$PATH:$PIG_HOME/bin export SQOOP_HOME=/home/crazyj/Programs/sqoop-1.4.4 export PATH=$PATH:$SQOOP_HOME/bin export HBASE_HOME=/home/crazyj/Programs/hbase-0.94.14 export PATH=$PATH:$HBASE_HOME/bin
export HIVE_HOME=/home/crazyj/Programs/hive-0.11.0 export PATH=$PATH:$HIVE_HOME/bin export MONGODB_HOME=/home/crazyj/Programs/mongodb-linux-i686-2.4.8 export PATH=$PATH:$MONGODB_HOME/bin
这个是我的配置项,后面的配置全部夹在了里面,以后就不介绍了,之后呢便是core-site.xml(位置在etc/hadoop下)
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/crazyj/Programs/hadoop-2.2.0/tmp</value> </property> </configuration>
这里需要说明的一点是tmp.dir一定要设定,否则每次系统重启后都需要对hdfs格式化,具体可以参考这篇博客,tmp目录的话则需要在hadoop安装目录下新建,如果要修改应该也可以。hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property>
</configuration>
mapred-site.xml.template<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:8021</value> </property> </configuration>
这个和以前的有点不太一样,名字hadoop-env.sh需要将JAVA_HOME设置成jdk的安装目录,配置至此基本完成,这是一个为分布的方式,其他方式的分布到以后用到的时候在配置好了。当然了,这里需要确保ssh已经安装上可通过
which ssh which sshd which ssh-keygen
查看是否已经安装ssh,安装则直接apt-get install ssh
即可,无密码登陆则使用当然了需要先创建.ssh文件夹,登陆为ssh localhost,成功则不需要输入密码ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第一次启动先使用
hadoop namenode -format
否则无法启动,利用sbin目录下面的start和stop的sh文件即可启动和停止hadoop的服务。
下一次在写数据的传送吧。