Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 11804

(CentOS)hadoop环境搭建,及期间遇到的问题

$
0
0

(一)hadoop集群搭建准备,准备3台机器

192.168.80.100  hadoop

192.168.80.101 datanode1

192.168.80.102 datanode2

首先安装jdk 到/usr/local/jdk(具体就不说了),然后配置文件/etc/profile,添加如下

export JAVA_HOME=/usr/local/jdk

export PATH=.:$JAVA_HOME/bin:$PATH

然后输入$source /etc/profile立即生效$java -version验证一下就ok了。

(二)然后修改个机器的主机名和配置网络

$vi /etc/hosts
修改HOSTNAME=hadoop(datanode1,datanode2)
$source /etc/hosts

$vi /etc/sysconfig/network
添加三行
192.168.80.100 hadoop
192.168.80.101 datanode1
192.168.80.102 datanode2
$source /etc/sysconfig/network

(三)关闭防火墙

$service iptables stop
$chkconfgi iptables off(关闭自动启动)


(四)配置ssh免密码登陆


在各机器上执行
#ssh-keygen -b 1024 -t rsa 一路回车
在~/.ssh/生成文件id_rsa  id_rsa.pub
在namenode机器上执行:
#cd ~/.ssh/
#scp id_rsa.pub root@<各datanode的IP>:/home
在各datanode机器上执行:
#cd /home/
#cat id_rsa.pub >>/root/.ssh/authorized_keys

然后分别执行ssh datanode1.。。。。等等来验证是否成功

(五)安装hadoop

我们默认安装的地址是/usr/local/hadoop

然后配置环境

$vi /etc/profile
改成这样
export HADOOP_HOME_WARN_SUPPRESS=1(为了防止警告)
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH<strong></strong>
(六)修改hadoop配置文件

1.修改conf/hadoop-env.sh

export JAVA_HOME=/usr/local/java
export HADOOP_HEAPSIZE=1024
export HADOOP_PID_DIR=/usr/local/hadoop/pids
保存退出
2.配置conf/core-site.xml,增加以下内容
<property><name>fs.default.name</name><value>hdfs://hadoop:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/hadoop/tmp</value></property>
3.配置conf/hdfs-site.xml

<property><name>dfs.replication</name><value>2</value></property><property><name>dfs.hosts.exclude</name><value>/usr/local/hadoop/conf/excludes</value></property>

配置conf/mapred-site.xml

<property><name>mapred.job.tracker</name><value>hdfs://hadoop:9001/</value></property>
配置conf/masters
hadoop


配置conf/slaves

datanode1

datanode2

把hadoop0的hadoop目录、jdk目录、/etc/hosts、/etc/profile复制到datanode1,datanode2节点(注意:除了主机名字要在各自机器上改,其他的只需要复制过去就行了)

$scp <source> datanodeX:<distination>


(七)执行hadoop

第一次启动Hadoop,必须先格式化namenode
#cd $HADOOP_HOME /bin
#hadoop namenode –format


启动Hadoop
#cd $HADOOP_HOME/bin
#./start-all.sh
如果启动过程,报错safemode相关的Exception
执行命令
# hadoop dfsadmin -safemode leave(安全模式,我们关掉就可以了)
然后再启动Hadoop

停止Hadoop
cd $HADOOP_HOME/bin
#./stop-all.sh


运行wordocunt

hadoop fs -put README.txt /
hadoop jar hadoop-example.jar wordcount /README.txt /wordcountoutput
然后执行hadoop fs -lsr /

可以看到输出的文件在、wordcountoutput/part-r-0000下面

执行hadoop fs -text /wordcountoutput/part-r-0000查看

这就是我们统计的单词啦


遇到的问题:

可能会遇见datanode没有datanode进程,我们可以先进入datanode的log文件查看。可以发现是因为namespaceID 不一致,

解决:删掉tmp下面的文件,然后重新format就行了

分别运行jps命令

可以看到


datanode:


就代表成功了,也可以在浏览器输入hadoop:50070查看

搞了大半天,终于算是搞定了



转载请注明http://blog.csdn.net/a837199685



作者:a837199685 发表于2014-11-19 22:21:01 原文链接
阅读:111 评论:0 查看评论

Viewing all articles
Browse latest Browse all 11804

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>