新安装的ubuntu server系统的root没有设置密码,首先修改密码
sudo passwd root
centos 在安装时已经设置了root的密码
修改主机名(centos)
vim /etc/sysconfig/network
或是
vi /etc/hostname
配制一个固定的IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
如果slave是虚拟主,上述文件可能不存在或者不完全,那先从master里复制一个模版
但如果是物理机里话不要用别的机器的模版,因为除了IP还有物理地址是不同的
service network restart
修改master的/etc/hosts。增加该项记录
增加一个用户hadoop
useradd hadoop
修改用户密码
passwd hadoop
将用户hadoop 增加到root组
usermod -a -G root hadoop
用logout或者exit注销,再用root登录
删除原来的用户及其目录
userdel -r rootroot
安装vim编辑器
apt-get install vim
或
yum install vim
xx is not in the sudoers file
#chmod u+w /etc/sudoers 修改文件权限即添加文件拥有这的写权限
ls -al /etc/sudoers 可以查看原文件的权限。
三、vim /etc/sudoers 编辑文件,按下”i“键进入编辑模式,
在root ALL=(ALL:ALL)ALL行下添加XXX (ALL:ALL)ALL,XXX为你的用户名。
编辑好后esc键进入一般模式,“:x"保存退出!
chmod u-w /etc/sudoers
安装ssh (25个有用的SSH命令)
yum install ssh
或者
apt-get install ssh
service sshd start (不然可能会报connect refused错)
设置sshd服务自动启动项:
方法A setup进入图形终端,System services里选中
方法B 使用如下命令: chkconfig --level 3 sshd on //如果是图形模式,可能是5
chkconfig --list | grep sshd 会显示:
sshd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
关闭或者配置防火墙
setup 命令进入字符界面配置,重启生效
具体操作:将Firewall configuration里关掉(用空格键取消 * 即可),然后在System services 里将iptables 取消开机启动
或
service iptables stop 关闭服务,立刻生产
chkconfig iptables off 重启生效
master可以只打开9000,9001端口,而不用关闭整个防火墙
开启 ntpd 同步时间
将在master中生成公私钥
直接用
ssh-keygen -t rsa
或者以下:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将公钥scp到slave1,然后加入slave1的authorized_keys。或者直接执行如下
复制SSH密钥到目录主机
方法一:
ssh-copy-id user@host
方法二:scp ~/.ssh/authorized_keys slave1:~/.ssh
cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
修改权限才能生效,.ssh权限700,authorized_keys权限600
chmod 700 ~
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
[root@slave1 ~] mkdir /usr/lib/jvm mkdir /usr/lib/jvm/jdk [hadoop@master Downloads]$ sudo scp jdk-6u43-linux-i586.bin slave1:/usr/lib/jvm/jdk [root@localhost jdk]# ./jdk-6u43-linux-i586.bin
修改limits.conf和login
vim /etc/security/limits.conf
加上
hadoop - nofile 32768 hadoop soft/hard nproc 32000vim /etc/pamd.login
加上
session required pam_limits.so
复制master中几个配置文件到hosts,或者自己修改如下文件
cd /etc
scp profile hosts pam.d/login slave1:/etc
scp /etc/pam.d/login slave1:/etc/pam.d
scp /etc/security/limits.conf slave1:/etc/security
执行环境变量
source /etc/profile
检验java是否安装成功
java
javac
修改master中hadoop和hbase的配制文件。slave的相关相息加入
然后复制hadoop和hbase目录到slave
scp -r hadoop-1.1.2 hbase slave1:/usr/local/
创建目录
mkdir /usr/hadoop
mkdir /usr/hadoop/tmp
修改权限
chown -R hadoop:hadoop /usr/hadoop
chown -R hadoop:hadoop /usr/local/hadoop-1.1.2
chown -R hadoop:hadoop /usr/local/hbase
在master上操作
如果是初始化hadoop
hadoop namenode -format
hadoop dfsadmin -safemode leave
启动hadoop
bin/start-all.sh
停止hadoop
bin/stop-all.sh
查看系统健康状态
hadoop fsck /
重启坏掉的DataNode或TaskTracker/Jobtracker。在坏死的节点上运行
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
hadoop-daemon.sh start jobtracker
报告HDFS的基本统计信息
hadoop dfsadmin -report
上传文件
hadoop dfs -put 源 目的
下载文件
hadoop dfs -get 源 目的
创建目录
hadoop dfs -mkdir 目录名
查看文件目录
hadoop dfs -ls /
查看文件内容
hadoop dfs -cat out/*
删除文件及目录
hadoop dfs -rmr out
负载均衡
start-balancer.sh
并行复制
hadoop distcp -help hdfs://namenode1/foo hdfs://namenode2/bar
修改hdfs的权限
hadoop dfs -chmod -R 755 /
修改hdfs文件的所有者
hadoop fs -chown -R hadoop /
拷贝hdfs文件到其它目录
hadoop fs -cp URI [URI …] <dest>
改名
hadoop dfs -mv 源文件 目的文件
启动hbase
start-hbase.sh
hbase shell
停止hbase
stop-hbase.sh
运行hive
hive --service hwi
hive
可能报的异常:
出现 Warning: $HADOOP_HOME is deprecated.
在当前用户home/.bash_profile里增加一个环境变量:
export HADOOP_HOME_WARN_SUPPRESS=1
重新执行
source .bash_profile
注意事项:
Linux的图形化桌面gnome会占用较多的内存和CPU,如xorg,gnome-screensav 等进程,所以slave尽量不要安装图形桌面。master在不需要图形化桌面时用Ctrl+Alt+F3切换到字符界面。这样可以大大提高主机利用效率。
如果你装了多台机器,千万不要用此命令单纯拷贝引导配置文件(禁止执行如下命令:scp grub.conf root@${host}:/etc)。因为每台机器的引导分区的UUID一定是不同的
Hadoop作业(如调用Hbase)引用第三方 jar 。比如运行Hbase相关的Mapreduce的话
#set hbase environment export HBASE_HOME=/usr/local/hbase # add hbase libs to CLASSPATH for f in $HBASE_HOME/*.jar; do HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:$f; done for f in $HBASE_HOME/lib/*.jar; do HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:$f; done hadoop jar FindFriend.jar com.j2cms.hbase.mapreduce.FindFriend
参考:
1.hadoop作业引用第三方jar文件 2.hadoop CLASSNAME命令使用注意点