最近在学习弄hadoop,遇到很多麻烦,这里记录下来是方便以后回头查看。我用的VMwareWorkstation10.0.4下安装的CentOS7 安装配置jdkjava-version看是否安装java 用env|grepJAVA_HOME或者echo$JAVA_HOME$PATH来检查环境变量配置的是否正确,如果没有可以到官网上下载。因为自带的jdk有点问题,我先卸载了自带的jdk: 首先检查linux下面时候安装过jdk#rpm-qa|grepjdk java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64 java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64 然后卸载自带jdk#rpm-e--nodepsjava-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64 #rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64 环境变量配置然后用下面命令配置环境变量: vi/etc/profile(该文件要切换到root下去编辑) JAVA_HOME=/usr/java/jdk1.7.0_71(这是我的安装目录,可以根据自己的定) JRE_HOME=/usr/java/jdk1.7.0_71/jre PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar exportJAVA_HOMEJRE_HOMEPATHCLASSPATH 保存退出,最后运行下面命令,使配置生效 source/etc/profile echo$JAVA_HOME$PATH来检验是否配置正确 安装ssh服务#rpm-qa|grepssh检查是否装了SSH包没有的话yuminstallopenssh-server #chkconfig--listsshd检查SSHD是否在本运行级别下设置为开机启动 #chkconfig--level2345sshdon如果没设置启动就设置下. #servicesshdrestart重新启动 #netstat-antp|grepsshd看是否启动了22端口.确认下. #iptables-nL看看是否放行了22口. #setup---->防火墙设置如果没放行就设置放行. 配置hadoopssh密钥#su-hadoop:切换到hadoop用户; $ssh-keygen-trsa $cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys $chmod0600~/.ssh/authorized_keys $exit 安装hadoop到hadoop官网上下载相应格式的源文件,我下的是hadoop2.6.0,解压后将得到的文件夹赋予当前用户执行权限 chown-Rliu/usr/local/hadoop-2.6.0/(liu是当前用户名) 然后hadoop2.6.0的三种安装模式可以参考官方文档http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#YARN_on_Single_Node 我按照伪分布式模式进行安装的。 运行Wordcount实例在一个文件夹下创建两个文件如我在/home/liu/practice文件夹下创建两个文本文件 $echo“HelloWorld”>file1.txt $echo“HelloHadoop”>file2.txt 创建输入文件夹$hadoopfs-mkdir/user/input $hadoopfs-ls/user(显示创建的input目录信息) 将上面创建的文本文件复制到input目录下$hadoopfs-put/home/liu/practice/file*.txt/user/input $hadoopfs-ls/user/input(显示复制后的内容) 运行和查看结果$hadoopjar/usr/local/hadoop/hadoop-examles-2.6.0.jarwordcount/user/input/user/output $hadoopfs-ls/user/output(查看输出内容,结果就在part-r-00000中) $hadoopfs-cat/user/output/part-r-00000(查看输出结果)
|