Hadoop学习2--搭建的教训总结

来源:互联网 发布:sha1算法的c语言实现 编辑:程序博客网 时间:2024/05/16 00:37

Hadoop学习笔记2-安装集群的一些问题汇总

首先想吐槽一下公司的电脑,讲真,作为一个技术公司,能把电脑配的这么烂,也是可以的了。i3处理器的hp笔记本。。。固态盘啊大内存啊之类的就别想了,然后触摸板还是十年前的那种风格,还想着两个指头可以上下浏览,呵呵哒….

然后今天把集群搭起来了,当然了,肯定是虚拟机上,卡到99的内存占用率,没显示100估计是不想补刀吧。。。

好了,吐槽完的话,下面就说下我遇到的问题,以及教训。。。


最后一句:啊,还是自己电脑用着爽。。。

首先我个人感觉,虚拟机上装好一个Linux系统后,立马new一个UserGroup,添加User(一般是hadoop的username),立马啊,立马啊,立马啊。讲三遍。。。因为我一开始没有加,后来改到怀疑人生。。。


补充一下,我突然想起来,我昨晚弄错了,因为我是在virtualbox中复制的虚拟机,他们的username都是一样的,我其实只要new一个group,然后adduser就好了啊!卧槽,特么耽误了那么多时间,根本不要新建hadoop的user么,因为只是名称不同而已。何必还跟着教程这么死板。啊啊啊


先别着急弄几个机器,装好一个Linux虚拟机后,先添加用户,然后配置好大多数东西后,直接在VirtualBox上复制一下就好了,然后再慢慢改改。

网上似乎有adduser和useradd的区别,这个要注意一下。区别就是:
useradd只是创建了一个用户名,如(useradd+用户名),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m+用户名)的方式创建,它会在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

  • 添加一个hadoop组
    • sudo addgroup Hadoop_group
  • 将用户hadoop加入到组内,也就是hadoop_group
    • sudo adduser –ingroup hadoop_group hadoop。
  • 让hadoop用户使用“sudo”命令
    • sudo gedit etc/sudoers,在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL

添加好用户后,切换到hadoop用户下,开始操作吧,su hadoop就好了。


下面说说不先添加用户的结果吧,我之前是先弄了个单机版本,一台机器,也没想到用户什么的,自己折腾的还蛮开心。然后要建集群了,我就天真的复制两个虚拟机出来,结果按照教程么,加用户。。。悲剧来了。。。
首先是,到了hadoop用户下,所有的东西,都要从原来的用户下面拷贝进来,环境变量也要重新配置,对了我是在~/.bashrc 里面配置的,jdk,hadoop,hive配置啥的,都要重新改。

然后我发现文件也没了,想从原来的用户下拷贝到hadoop下面,也就是从/home/xxx拷贝到/home/hadoop下面,直接到root下面开始拷贝。结果拷贝过来后,发现权限有问题,文件夹访问出问题了。那读写权限出问题了肯定用chmod,可是发现怎么折腾都不对,又不能给全部用户的读写权限。。。我就感觉应该是所属用户的问题。果然用了chown才行,命令大概是这样:

chown -R hadoop_group:hadoop /home/hadoop/jdk1.7

-R一定是大写,是为了递归更改目录下所有文件的用户属性,然后用户组:用户。接下来就是需要改的文件的路径了。

改好了之后就按照教程,配置环境变量,配置hadoop的etc里面的配置文件。
然后修改hostname,修改网络配置。

不同的Linux系统网络配置的配置文件路径也不一样,不过虚拟机我这边是通过设置两个网卡,达到内部通信和与外网通信的。可能是因为公司网关问题,导致一个网卡貌似会有问题,这个暂时没研究了,网卡一个是nat,一个是内部host。
还要配置ssh免密登录,按照教程,都配置好了,然后复制虚拟机,在slaves机器上,修改对应的东西,要改的地方应该不是很多。
太晚了,想不起来还有啥坑了,小坑不断,等下周再去想起来的话在更新。

原创粉丝点击