你的位置:首页 > 数据库

[数据库]hadoop初次接触


部署环境:

OS:Fedora 23

JDK:jdk-7u80-linux-x64

Hadoop:hadoop-2.7.2

VMWare:VMware Workstation 12 Pro

 

安装JDK

rpm -ivh jdk-7u80-linux-x64.rpm

配置环境变量

用vim编辑器打开/etc/profile文件,加入环境变量的定义

JAVA_HOME=/usr/java/jdk1.7.0_80/

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME

export PATH

 

检查SSH和rsync是否安装

 执行 rpm -qa | grep ssh 

openssh-server-7.1p1-3.fc23.x86_64
openssh-7.1p1-3.fc23.x86_64
libssh2-1.6.0-2.fc23.x86_64
openssh-askpass-7.1p1-3.fc23.x86_64
openssh-clients-7.1p1-3.fc23.x86_64

上述显示表示已安装

 执行 rpm -qa | grep rsync

rsync-3.1.1-7.fc23.x86_64

 

下载安装

apt-get install ssh 

apt-get install rsync

 

开启SSH

service sshd status

service sshd start/stop

 

ssh client 报 algorithm negotiation failed的解决方法之一

修改sshd的配置文件 /etc/ssh/sshd_config

在配置文件中添加:

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

重启sshd服务后,即可正常连接。

导致此问题的原因是ssh升级后,为了安全,默认不再采用原来一些加密算法,我们手工添加进去即可。

 

克隆虚拟机 修改主机名,IP

  克隆的虚拟机 IP配置里的MAC地址注意修改(HWADDR)

 

建立SSH互信

master执行:

  ssh-keygen -t rsa

  scp id_rsa.pub root@192.168.1.121:/root/.ssh

slave执行:

  cat id_rsa.pub >> authorized_keys

  如果没有authorized_keys文件,重命名id_rsa.pub为authorized_keys(mv id_rsa.pub authorized_keys)

  chmod 600 authorized_keys

测试:ssh 192.168.1.121 无密码即可登录

 

Hadoop配置

  解压文件:tar -xzvf hadoop-2.7.2.tar.gz

  修改配置文件:

    hadoop-env.sh 找到 export JAVA_HOME=${JAVA_HOME} 修改为export JAVA_HOME=/usr/java/jdk1.7.0_80

core-site.

<configuration> <property>  <name>fs.default.name</name>  <value>hdfs://master:9000</value> </property> <property>  <name>Hadoop.tmp.dir</name>  <value>/hadoop-root</value> </property></configuration>

注释一:hadoop分布式文件系统文件存放位置都是基于hadoop.tmp.dir目录的,namenode的名字空间存放地方就是 ${hadoop.tmp.dir}/dfs/name, datanode数据块的存放地方就是 ${hadoop.tmp.dir}/dfs/data,所以设置好hadoop.tmp.dir目录后,其他的重要目录都是在这个目录下面,这是一个根目录。

注释二:fs.default.name,设置namenode所在主机,端口号是9000

注释三:core-site.

    hdfs-site.

    mapred-site.

  

hdfs-site.

<configuration> <property>  <name>dfs.replication</name>  <value>2</value> </property></configuration>

dfs.replication,设置数据块的复制次数,默认是3,如果slave节点数少于3,则写成相应的1或者2

 

mapred-site.

<configuration> <property>  <name>mapred.job.tracker</name>  <value>http://master:9001</value> </property></configuration>

mapred.job.tracker,设置jobtracker所在机器,端口号9001