Hadoop环境搭建

一、安装jdk之前卸载open jdk  

虚拟机挂载命令(Mount -t iso9660 /dev/cdrom /mnt)

虚拟机安装完成后重启系统

1.(rpm -qa|grep java)命令 查看所安装的java组件

2.使用 (rpm -e --nodeps +java组件名) 命令卸载java组件

3.进入JDK文件存放目录使用 (./+文件名)  命令 执行安装JDK操作

4.回到主目录进入/etc/目录使用vi命令修改profile文件配置JAVA环境变量

添加如下参数:

export JAVA_HOME=/usr/java/jdk1.6.0_24

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置完成后重启系统

二、安装并配置Hadoop

1.复制Hadoop安装包到其他目录

2.使用 (tar -zxvf +Hadoop文件路径) 命令 解压到当前目录

3.进入Hadoop安装目录下的conf文件夹

4.使用vi命令修改hadoop-env.sh文件添加如下参数

export JAVA_HOME=/usr/java/jdk1.6.0_24 (jdk安装目录)

5.使用(hostname)命令查看主机名称

6.使用(vi /etc/hosts)命令修改host文件配置, 使用(chown -R 用户名 Hadoop安装路径)命令来修改Hadoop安装文件夹的所属者

7.在最后一行中加入127.0.0.1     主机名 并保存

8.配置core-site.xml文件:在configuration节点中加入

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

9.配置hdfs-site.xml文件:在configuration节点中加入

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

10.配置mapred-site.xml文件:在configuration节点中加入

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>



三、免密码SSH登录设置

1.使用 (ssh-keygen -t rsa)命令生成密钥对

2.使用(cd ~)命令 进入用户主目录并使用(ls -f)命令查看目录

3.进入.ssh目录 执行 (cp id_rsa.pub authorized_keys)命令 追加密钥

4.使用(ssh localhost)命令实现SSH连接

配置ssh免密码登录(三个节点m1、s1、s2)

实现SSH免密码登录的另一种方式:

主节点配置:

首先到用户主目录(cd  ~),ls  -a查看文件,其中一个为“.ssh”,该文件价是存放密钥的。待会我们生成的密钥都会放到这个文件夹中。

现在执行命令生成密钥:ssh-keygen -t rsa -P ""(使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。

进入文件夹cd  .ssh (进入文件夹后可以执行ls  -a 查看文件)

将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置:

以同样的方式生成秘钥(ssh-keygen -t rsa -P ""),然后s1和s2将生成的id_rsa.pub公钥追加到m1的authorized_keys中)

在s1中执行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1 ,在s2中执行命令scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2

进入m1执行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys

最后将生成的包含三个节点的秘钥的authorized_keys 复制到s1和s2的.ssh目录下( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)

四、启动及停止Hadoop

1.格式化分布式文件系统(HDFS)

进入Hadoop主目录下使用命令:(bin/hadoop namenode-format)

2.启动Hadoop守护进程

进入Hadoop主目录下使用命令:(bin/start-all.sh)

执行完毕后会在本机启动NameNode、DataNode、JobTracker、TaskTracker、Secondary NameNode五个Java进程

3.使用jps命令查看当前进程

4.停止Hadoop守护进程

进入Hadoop主目录下使用命令:(bin/stop-all.sh)

五、运行WordCount测试用例

1.在根目录下新建input文件,并新增test1.txt和test2.txt文件,内容随意写

2.使用(chown -R 用户名 路径)命令修改input文件所属者

3.进入Hadoop安装目录使用(bin/hadoop dfs -put  /完整本地路径/    /完整hdfs路径/)命令将input文件夹放入hdfs文件系统中

4.使用(bin/hadoop jar hadoop-0.20.2-examples.jar wordcount   /待计算文件的hdfs完整路径/  /结果输出文件夹hdfs完整路径) 命令进行计算

六、完全分布式模式配置

1.配置三台Linux虚拟机,一台桌面版,两台服务器版

2.在VMware中更改虚拟网络设置,设定host-only模式下的子网段

3.在Linux虚拟机中使用(dhclient eth0)命令加载第一块网卡

4.使用(ifconfig)命令查看网络状态及IP地址

5.在作为namenode和datanode节点的机器中配置etc/hosts文件,在最后一行中加入:

192.168.10.129(namenode节点IP地址)     namenode节点名称

192.168.10.128(datanode0节点IP地址)     datanode0节点名称

192.168.10.130(datanode1节点IP地址)      datanode1节点名称

6.建立相同的用户hadoop,使用(adduser +用户名)命令,删除用户使用(userdel -Z +用户名命令)

使用(passwd +用户名)命令设置hadoop用户的密码,输入两次即可

/etc/sudoers 修改root权限

7.在所有机器的/home/用户名/目录下建立.ssh目录,并使用 ssh-keygen -t rsa和ssh-keygen -t dsa命令生成密钥对

8.进入~/.ssh目录使用如下命令

chmod -R 755 /home/hadoop改变目录权限

cp id_rsa.pub authorized_keys (将生成的密钥追加到authorized_keys中)

cp id_dsa.pub authorized_keys (将生成的密钥追加到authorized_keys中)

scp authorized_keys  datanode0节点名称:/home/grid/.ssh

scp authorized_keys  datanode1节点名称:/home/grid/.ssh

9.进入所有机器的.ssh目录下,使用如下命令更改authorized_keys的许可权限

chmod -R 700 ~/.ssh(chmod 644 authorized_keys  0.20.2版本无效)

10.所有机器的Hadoop程序需安装至相同目录下

11.在hadoop安装目录下的conf文件夹中修改Master和Slaves两个配置文件,分别为主节点和从节点(每个主机名为一行)

12.修改core-site.xml、hdfs-site.xml和mapred-site.xml三个配置文件

sudoservice iptables stop# 关闭防火墙服务

sudochkconfig iptables off

Hadoop-2.7.1配置文件:

core-site.xml:

(configuration)

(property)

(name)fs.defaultFS(/name)

(value)hdfs://master:9000(/value)

(/property)

(property)

(name)hadoop.tmp.dir(/name)

(value)file:/usr/local/hadoop/hadoop-2.7.1/tmp(/value)

(/property)

(property)

(name)io.file.buffer.size(/name)

(value)131702(/value)

(/property)

(/configuration)


hdfs-site.xml:

(configuration)

(property)

(name)dfs.namenode.name.dir(/name)

(value)file:/usr/local/hadoop/hadoop-2.7.1/hdfs/name(/value)

(/property)

(property)

(name)dfs.datanode.data.dir(/name)

(value)file:/usr/local/hadoop/hadoop-2.7.1/hdfs/data(/value)

(/property)

(property)

(name)dfs.replication(/name)

(value)3(/value)

(/property)

(property)

(name)dfs.namenode.secondary.http-address(/name)

(value)master:9001(/value)

(/property)

(property)

(name)dfs.webhdfs.enabled(/name)

(value)true(/value)

(/property)

(/configuration)

mapred-site.xml:

(configuration)

(property)

(name)mapreduce.framework.name(/name)

(value)yarn(/value)

(/property)

(property)

(name)mapreduce.jobhistory.address(/name)

(value)master:10020(/value)

(/property)

(property)

(name)mapreduce.jobhistory.webapp.address(/name)

(value)master:19888(/value)

(/property)

(/configuration)

yarn-site.xml

(configuration)

(property)

(name)yarn.nodemanager.aux-services(/name)

(value)mapreduce_shuffle(/value)

(/property)

(property)

(name)yarn.nodemanager.auxservices.mapreduce.shuffle.class(/name)

(value)org.apache.hadoop.mapred.ShuffleHandler(/value)

(/property)

(property)

(name)yarn.resourcemanager.address(/name)

(value)master:8032(/value)

(/property)

(property)

(name)yarn:resourcemanager.scheduler.address(/name)

(value)master:8030(/value)

(/property)

(property)

(name)yarn.resourcemanager.resource-tracker.address(/name)

(value)master:8031(/value)

(/property)

(property)

(name)yarn.resourcemanager.admin.address(/name)

(value)master:8033(/value)

(/property)

(property)

(name)yarn.resourcemanager.webapp.address(/name)

(value)master:8088(/value)

(/property)

(property)

(name)yarn.nodemanager.resource.memory-mb(/name)

(value)1024(/value)

(/property)

(/configuration)

13.发放Hadoop文件到从节点

命令:发放文件:scp -r hadoop-0.20.2 slaves0:/usr/local/hadoop

七、新增DataNode节点及相关配置

1.基础准备

在基础准备部分,主要是设置hadoop运行的系统环境

修改系统hostname(通过hostname和/etc/sysconfig/network进行修改)

修改hosts文件,将集群所有节点hosts配置进去(集群所有节点保持hosts文件统一)

设置NameNode(两台HA均需要)到DataNode的免密码登录(ssh-copy-id命令实现,可以免去cp *.pub文件后的权限修改)

修改主节点slave文件,添加新增节点的ip信息(集群重启时使用)

将hadoop的配置文件scp到新的节点上

2.添加DataNode

对于新添加的DataNode节点,需要启动datanode进程,从而将其添加入集群

在新增的节点上,运行sbin/hadoop-daemon.sh start datanode即可

然后在namenode通过hdfs dfsadmin -report查看集群情况

最后还需要对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,即hdfs dfsadmin -setBalancerBandwidth 67108864即可

默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5%

然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可

3.添加Nodemanager

由于Hadoop 2.X引入了YARN框架,所以对于每个计算节点都可以通过NodeManager进行管理,同理启动NodeManager进程后,即可将其加入集群

在新增节点,运行sbin/yarn-daemon.sh start nodemanager即可

在ResourceManager,通过yarn node -list查看集群情况

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容