伪分布部署

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、vim /etc/hosts 配地址是打tab键
服务器分配情况:
192.168.130.56:xyg
192.168.130.57:xjp
192.168.130.61:wt
192.168.130.71:cfz,cyf
192.168.130.72:fcf
opt/自己名字:放自己的文件
opt/tools:eclipse等开发工具
Root 密码admin01519
硬件配置:
1)四台PC
2)L inux操作系统,使用CentOS6.0(开源版本有利于学习)
3)C DH4安装包
4)J ava安装
1.准备工作
1.1主机
IP hostname 部署模块
192.168.1.2 server1 ResourceManager HistoryServer ZooKeeper-server ProxyServer client
192.168.1.3 server2 NameNode NodeManager DataNode MapReduce ZooKeeper client
192.168.1.4 server3 NodeManager DataNode MapReduce ZooKeeper client
192.168.1.5 server4 NodeManager
DataNode
MapReduce
ZooKeeper
client
1.2程序包
程序包名称说明
CentOS6.4-x86_64-bin-DVD1.iso CentOS的镜像文件
cdh4.4.0-centos6.tar.gz cdh4的安装程序
cm4.7.3-centos6.tar.gz jdk的安装程序
为什么选择CDH?
1)CDH基于稳定版Apache Hadoop,不仅可以获得最新的特性和Bug修复,带来性能改善,而且安装维护方便,节省运维时间。

2)Cloudera官方网站上安装、升级文档详细,省去Google时间。

3)CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四种方式安装。

2.系统准备
2.1系统安装
F12进Boot → CD-ROM启动→ 采用基本的显卡驱动安装→ skip → 进入引导页面,点next → 语言选择:中文(简体)→ 键盘布局:美式英语→ Basic Storage Devices → 输入主机名→ 选择地点:Shanghai →设置hostname的密码→ 创建自定义布局→ SWAP:内存×2;根目录/:剩余所有可用空间→ 将修改写入磁盘→ 在/dev/sda上安装引导程序→软件开发平台→ 关闭所有的虚拟端口→ 安装过程开始
安装完成后需要重启两次系统,即可进入CentOS桌面。

提示:
1)安装完成前,如果想改变此前的选择,可按“Ctrl + Alt + Del”键关机,重新安装
2)如果选择的安装模式没有自动安装图形化界面,可有命令startx启动入桌面模式
3)修改系统配置后重启系统的命令shutdown –rh now
4)想使用双系统,但是安装CentOS后F12进入BIOS界面,没有看到Windows选择项:vim /boot/grup/grup.conf
在hiddenmenu前加“#”
Title Other改为Title Windows
重启在BIOS界面就能看到第2行的Windows选项,此时没有用“↑/↓”选择,则默认进入CentOS系统,如果要设置默认进入Windows系统,可将上述文件中default=0改为default=1。

5)系统安装完成后想要修改主机名:
vim /etc/sysconfig/network
修改HOSTNAME = new-hostname
6)Linux系统没有文件类型,不同的文件后缀只是为了更直观地区分不同作用的文件,如:.sh是脚本文件,.jar是JAR文件等
7)Linux系统目录的文件分配:
etc:配置文件
bin:可执行文件
opt:安装文件
syslib:库文件
8)集群中的节点可通过SSH密钥协议登陆其他节点:
ssh 192.168.1.3
9)若客户端为Windows系统且不是集群中的节点,可通过secureCRT远程连接到任一节点,但要求其IP与集群在同一局域网内
rpm –ql jdk:查询jdk的安装位置
2.2关闭SELINUX
CentOS默认启动SELINUX,为防止其限制权限,将其关闭:
vim /etc/selinux/config
将SELINUX = enforcing 改为SELINUX = disabled
2.3修改网络配置
要搭建一个集群,就必须使集群中的每一个节点都有一个固定的IP,且这些IP要设置在一个局域网内,因此需要修改初始配置:
setup → 关闭防火墙→ 网络配置→ 设备配置→ eth0 → 去掉DHCP行的“*”;设置静态IP:192.168.1.*;设置子网掩码:255.255.255.0 → 退出
如集群中的各个节点IP如下:
server1:192.168.1.2
server2:192.168.1.3
server3:192.168.1.4
server4:192.168.1.5
为使系统启动时自动激活网卡eth0,并设置使用静态方式分配IP,修改网络驱动配置:vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改为
onBoot = yes
BootPROTO = static
以上两步完成后,必须重启网卡:
service network restart
安装yum本地库使yum支持本地更新:
yum install yum-utils createrepo
2.3安装httpd
集群中的每一个节点都安装httpd,以实现集群中文件的web共享。

服务器端(server1):
假设httpd安装包在/opt/tools/dvd-1中,这里要新建一个repo文件,以供yum安装使用:cd /etc/yum.repos.d
rm –f *.repo
vim dvd-1.repo
baseurl=file:///opt/tools/dvd-1(指定服务器)
gpgkey=file:///opt/tools/dvd-1/RPM-GPG-KEY-Centos-6(指定一个独立的GPG签名)
退出保存后即可安装httpd:
yum install httpd
启动httpd:
service httpd start
注意:此时在/var中生成新文件夹/www/html,有的安装模式自动安装了httpd,此不可略去。

在/var /www/html中建立软链接实现与客户端的文件共享:
ln –s /opt/tools/dvd-1 /var/www/html/dvd-1
客户端浏览器即可通过192.168.1.2/dvd-1查看并下载server1上的文件。

用同样的方法对cdh,cm的安装文件建立软链接:
ln –s /opt/tools/cdh /var/www/html/cdh
ln –s /opt/tools/cm /var/www/html/cm
提示:
软链接:链接文件为访问源文件架了一座桥,删除源文件,链接文件仍然存在,且指向源文件目录,新建源文件后不需要再新建连接
硬链接:相当于给一个文件起了2个名字,删除源文件,链接文件也不存在,新建源文件后需要再次建立连接
客户端:
新建repo文件,以供yum安装使用:
cd /etc/yum.repos.d
rm –f *.repo
vim dvd-1.repo
baseurl=http://192.168.1.2/dvd-1
gpgkey= http://192.168.1.2/dvd-1/RPM-GPG-KEY-Centos-6
退出保存安装httpd:
yum install httpd
启动httpd:
service httpd start
设置httpd为开机自启动:
方法1:setup → 系统服务→ httpd前加“*”
方法2:vim /etc/init.d → 在httpd前加“*”
2.4安装jdk
因CentOS中自带的有openjdk,而我们要用cm4.7.3中带的jdk-1.6.0_31fcs.x86_64,因此要先把前者删除了,在安装后者。

卸载jdk:
yum erase java
rpm –qa | grep jdk(查看java版本)
yum erase java-1.7.0-openjdk
再次查看jdk版本,确认已卸载完毕。

安装cm4.7.3中自带的jdk:
cp /opt/tools/cm/cloudera-manager.repo /etc/yum.repos.d/
配置包地址:
vim /etc/yum.repos.d/cloudera-manager.repo
baseurl = http://192.168.1.2/cm/4
gpgkey = http://192.168.1.2/cm/RPM-GPG-KEY-cloudera
安装jdk:
yum install jdk
再次查看jdk版本,可看到jdk-1.6.0_31fcs.x86_64已安装成功。

配置JDK的环境变量:
cd /root
ls –all
查看隐藏文件.bash_profile:
看到环境变量PATH已存在,只要在原有基础上追加Java的PATH就可以了。

cd /etc/profile.d
vim java.sh
export JA VA_HOME=/usr/java/default(指明jdk的安装路径为系统默认版本)
export CLASSPA TH=$JA V A_HOME/lib(指明java加载类的路径)
export PATH=$PATH:$JA V A_HOME/bin(使系统在任何路径下都可以识别java命令)
退出保存后查看可查看到javac –version:javac 1.6.0_31
注意:这里也可以通过在PATH下建立软链接使系统识别java、javac等命令,具体做法如下
cd /usr/bin
ln –s /usr/java/default/bin/java java
ln –s /usr/java/default/bin/javac javac
也可以查看javac –version
但这种方法并不能解决应用的依赖性问题,故推荐使用设置环境变量这种方法。

进一步查看:
ls /usr/bin/java* -all
可以看到:
/usr/bin/java → /usr/java/defsult/bin/java
/usr/bin/javac → /usr/java/defsult/bin/javac
/usr/bin/javadoc → /usr/java/defsult/bin/javawdoc
/usr/bin/javaws → /usr/java/defsult/bin/javaws
查看/usr/java/default:
ls /usr/java/default –all
可以看到:
/usr/java/default → /usr/java/latest
查看/usr/java/latest:
ls /usr/java/latest –all
可以看到:
/usr/java/latest→ /usr/java/jdk1.6.0_31
http://192.168.130.56/cdh-tools (cdh cdh-tools cm dvd-1)
cat /etc/hosts (需要修改此)
/etc/sysconfig/network
[/etc/rc.d/init.d/network restart]
for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x stop ; done
yum remove hadoop-conf-pseudo
[把192.168.130.56中的/etc/yum.repo.d/下的文件全部拷贝到自己的电脑上] yum install hadoop-conf-pseudo
rpm -ql hadoop-conf-pseudo
cp -r /etc/hadoop/conf.pseudo /opt/hadoop/conf/
alternatives --verbose --install /etc/hadoop/conf hadoop-conf
/etc/hadoop/conf.empty 10
alternatives --verbose --install /etc/hadoop/conf hadoop-conf
/etc/hadoop/conf 50
vim /var/lib/alternatives/hadoop-conf
sudo -u hdfs hdfs namenode -format
for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done
浏览器查看http://localhost:50070/
sudo -u hdfs hadoop fs -rm -r /tmp
sudo -u hdfs hadoop fs -mkdir /tmp
sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
sudo -u hdfs hadoop fs -mkdir /tmp/hadoop-yarn/staging
sudo -u hdfs hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging
sudo -u hdfs hadoop fs -mkdir
/tmp/hadoop-yarn/staging/history/done_intermediate
sudo -u hdfs hadoop fs -chmod -R 1777
/tmp/hadoop-yarn/staging/history/done_intermediate
sudo -u hdfs hadoop fs -chown -R mapred:mapred /tmp/hadoop-yarn/staging sudo -u hdfs hadoop fs -mkdir /var/log/hadoop-yarn
sudo -u hdfs hadoop fs -chown yarn:mapred /var/log/hadoop-yarn
sudo -u hdfs hadoop fs -ls -R /
sudo service hadoop-yarn-resourcemanager start
sudo service hadoop-yarn-nodemanager start
sudo service hadoop-mapreduce-historyserver start
sudo -u hdfs hadoop fs -mkdir /usr/$USER
sudo -u hdfs hadoop fs -chown $USER /usr/$USER
sudo -u hdfs hadoop fs -mkdir /usr/xjp sudo -u hdfs hadoop fs -chown xjp /usr/xjp
sudo -u hdfs hadoop fs -mkdir /usr/xjp/input
sudo -u hdfs hadoop fs -put /etc/hadoop/conf/*.xml /usr/xjp/input sudo -u hdfs hadoop fs -ls /usr/xjp/input
sudo -u hdfs hadoop export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce sudo -u hdfs hadoop jar
/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep
/usr/xjp/input /usr/xjp/output1 'dfs[a-z.]+'
sudo -u hdfs hadoop fs -ls
sudo -u hdfs hadoop fs -put word.txt /usr/xjp
sudo -u hdfs hadoop jar example.jar /usr/xjp/word.txt /usr/xjp/output1
jps [查询hadoop启动的进程]。

[查看PID]
cd /var/run/hadoop-hdfs/
vim hadoop-hdfs-namenode.pid
[re-format question:Hadoop datanode is dead and pid file exists] java.io.IOException: Incompatible clusterIDs in
/var/lib/hadoop-hdfs/cache/hdfs/dfs/data: namenode clusterID =
CID-86e39214-94c8-4742-9f3e-37ddc43a0c53; datanode clusterID =
CID-f77249c0-4c71-437c-8feb-bf401c42ee11
rm /var/lib/hadoop-hdfs/cache/hdfs/dfs/data -rf
创建一个用户:
sudo -u hdfs hadoop fs -mkdir /user/dong.guo
sudo -u hdfs hadoop fs -chown dong.guo /user/dong.guo。

相关文档
最新文档